Langkah-langkah sing didhaptar ing ngisor iki relatif gampang kanggo dileksanakake nanging duwe pengaruh sing dhuwur. Yen sampeyan durung nyoba sadurunge, sampeyan bakal kaget karo perbaikan sing signifikan.
Sampeyan bisa nglacak owah-owahan ing prasarana lan bali kanthi cepet nggunakake kontrol versi.
Modernis ing kula ngandika sampeyan bisa nggunakake Kubernetes / Docker kanggo nindakake kabeh ndhuwur, lan iku bener.
Kajaba iku, sampeyan bisa nyedhiyakake otomatisasi nggunakake Chef, Puppet utawa Terraform.
Integrasi terus-terusan lan Pangiriman
Kanggo nggawe layanan keukur, iku penting kanggo mbangun lan test pipeline kanggo saben request narik. Sanajan tes kasebut gampang banget, paling ora bakal njamin kode sing sampeyan pasang.
Saben wektu ing tahap iki sampeyan mangsuli pitakon: bakal perakitan sandi ngumpulake lan lulus tes, iku bener? Iki bisa uga katon kaya bar sing kurang, nanging ngrampungake akeh masalah.
Ora ana sing luwih apik tinimbang ndeleng kutu iki
Kanggo teknologi iki sampeyan bisa ngevaluasi Github, CircleCI utawa Jenkins.
Load Balancers
Dadi, kita pengin mbukak penyeimbang beban kanggo ngarahake lalu lintas lan njamin beban sing padha ing kabeh simpul utawa layanan terus yen gagal:
A load balancer biasane nindakake tugas sing apik kanggo nyebarake lalu lintas. Praktek sing paling apik yaiku overbalance supaya sampeyan ora duwe titik kegagalan.
Biasane, load balancers dikonfigurasi ing awan sing sampeyan gunakake.
Apa sampeyan tau nemoni kesalahan aplikasi kanthi pesen kaya iki: "Ana sing salah. Simpen id iki lan kirim menyang tim dhukungan"?
Pengenal unik, ID korelasi, RayID, utawa variasi apa wae, minangka pengenal unik sing ngidini sampeyan nglacak panjaluk sajrone siklus urip. Iki ngidini sampeyan nglacak kabeh path request ing log.
Pangguna nggawe panjalukan menyang sistem A, banjur A kontak B, sing kontak C, nyimpen ing X, banjur panjalukan bali menyang A
Yen sampeyan nyambungake jarak jauh menyang mesin virtual lan nyoba nglacak path panyuwunan (lan nyambungake telpon kanthi manual), sampeyan bakal edan. Duwe pengenal unik nggawe urip luwih gampang. Iki minangka salah sawijining perkara paling gampang sing bisa sampeyan lakoni kanggo ngirit wektu nalika layanan sampeyan saya tambah.
Tingkat penengah
Saran ing kene luwih rumit tinimbang sing sadurunge, nanging alat sing tepat nggawe tugas luwih gampang, nyedhiyakake pengembalian investasi sanajan kanggo perusahaan cilik lan menengah.
logging terpusat
Sugeng rawuh! Sampeyan wis masang 100 mesin virtual. Esuke, CEO teka lan ngeluh babagan kesalahan sing ditampa nalika nyoba layanan kasebut. Iki nglaporake ID sing cocog sing kita rembugan ing ndhuwur, nanging sampeyan kudu nggoleki log 100 mesin kanggo nemokake sing nyebabake kacilakan kasebut. Lan kudu ditemokake sadurunge presentasi sesuk.
Nalika iki muni kaya ngulandara nyenengake, iku paling apik kanggo nggawe manawa sampeyan duwe kemampuan kanggo nelusuri kabeh majalah ing sak panggonan. Aku ngrampungake masalah log sentralisasi nggunakake fungsi tumpukan ELK sing dibangun: ndhukung koleksi log sing bisa ditelusuri. Iki bakal mbantu ngatasi masalah nemokake jurnal tartamtu. Minangka bonus, sampeyan bisa nggawe grafik lan liyane sing nyenengake.
Fungsi tumpukan ELK
Agen ngawasi
Saiki layanan sampeyan wis aktif, sampeyan kudu mesthekake yen layanan kasebut lancar. Cara paling apik kanggo nindakake iki yaiku nglakokake sawetara agen, sing makarya kanthi podo karo lan priksa manawa kerjane lan operasi dhasar ditindakake.
Ing titik iki sampeyan mriksa sing mbangun mlaku ngrasa apik lan dianggo nggoleki.
Kanggo proyek cilik nganti medium, aku nyaranake Postman kanggo ngawasi lan nyathet API. Nanging umume, sampeyan mung pengin nggawe manawa sampeyan duwe cara kanggo ngerti yen ana gangguan lan diwenehi kabar kanthi pas wektune.
Autoscaling gumantung saka beban
Iku banget prasaja. Yen sampeyan duwe panjalukan layanan VM lan nyedhak 80% panggunaan memori, sampeyan bisa nambah sumber daya utawa nambah VM liyane ing kluster. Eksekusi otomatis operasi kasebut apik banget kanggo owah-owahan daya elastis ing beban. Nanging sampeyan kudu tansah ati-ati babagan jumlah dhuwit sing sampeyan gunakake lan nyetel watesan sing cukup.
Kanthi umume layanan awan, sampeyan bisa ngatur kanthi otomatis kanthi nggunakake server liyane utawa server sing luwih kuat.
Sistem eksperimen
Cara sing apik kanggo ngluncurake nganyari kanthi aman yaiku bisa nyoba kanggo 1% pangguna sajrone sejam. Sampeyan wis, mesthi, ndeleng mekanisme kuwi ing tumindak. Contone, Facebook nuduhake bagean pamirsa kanthi warna sing beda utawa ngganti ukuran font kanggo ndeleng kepiye pangguna ndeleng owah-owahan kasebut. Iki diarani tes A/B.
Malah ngeculake fitur anyar bisa diwiwiti minangka eksperimen lan banjur nemtokake cara ngeculake. Sampeyan uga entuk kemampuan kanggo "eling" utawa ngganti konfigurasi kanthi cepet adhedhasar fungsi sing nyebabake degradasi layanan sampeyan.
Tingkat lanjut
Kene tips sing cukup angel kanggo ngleksanakake. Sampeyan bisa uga mbutuhake sumber daya liyane, mula perusahaan cilik utawa medium bakal angel ngatur iki.
Penyebaran biru-ijo
Iki sing dak sebut "Erlang" cara mbukak. Erlang dadi akeh digunakake nalika perusahaan telpon muncul. Softswitch wiwit digunakake kanggo rute telpon. Tujuan utama piranti lunak ing switch kasebut yaiku supaya ora nyelehake telpon sajrone nganyarke sistem. Erlang duwe cara sing apik kanggo mbukak modul anyar tanpa nabrak sing sadurunge.
Langkah iki gumantung ing ngarsane load balancer. Coba bayangake sampeyan duwe versi N piranti lunak, banjur sampeyan pengin masang versi N+1.
Yen pancene pengin entuk indikator kasebut, sampeyan butuh rong panyebaran sekaligus:
kang saiki (N);
versi sabanjure (N+1).
Sampeyan ngandhani load balancer kanggo ngarahake persentase lalu lintas menyang versi anyar (N+1) nalika sampeyan aktif ngawasi regresi.
Ing kene kita duwe penyebaran N ijo sing bisa digunakake kanthi apik. Kita nyoba pindhah menyang versi sabanjure panyebaran iki
Kaping pisanan, kita ngirim tes sing cilik banget kanggo ndeleng manawa penyebaran N+1 bisa digunakake kanthi jumlah lalu lintas sing sithik:
Pungkasan, kita duwe set pamriksa otomatis sing pungkasane ditindakake nganti panyebaran rampung. Yen sampeyan banget banget ati-ati, sampeyan uga bisa nyimpen penyebaran N ing salawas-lawase kanggo bali cepet ing cilik saka regresi ala:
Yen sampeyan pengin pindhah menyang tingkat sing luwih maju, supaya kabeh ing panyebaran biru-ijo mlaku kanthi otomatis.
Sawise anomali dideteksi, sampeyan miwiti nliti sawetara pitunjuk sing diwenehake layanan kasebut. Contone, lonjakan beban CPU bisa uga nuduhake yen hard drive gagal, dene lonjakan panjaluk bisa nuduhake yen sampeyan kudu nggedhekake. Data statistik iki ngidini sampeyan nggawe layanan kasebut proaktif.
Kanthi wawasan kasebut, sampeyan bisa nggedhekake ukuran apa wae lan kanthi proaktif lan reaktif ngganti karakteristik mesin, database, sambungan lan sumber daya liyane.
Iku kabeh!
Dhaptar prioritas iki bakal nylametake sampeyan akeh masalah yen sampeyan ngunggahake layanan awan.
Penulis artikel asli ngajak para pamaca supaya ninggalake komentar lan nggawe owah-owahan. Artikel kasebut disebarake minangka sumber terbuka, panjaluk tarik dening penulis nampa ing Github.