Prinsip desain Keunggulan Operasional

Inti dari pilar Keunggulan Operasional adalah praktik DevOps yang memastikan kualitas beban kerja melalui alur kerja standar dan kohesi tim. Pilar ini mendefinisikan prosedur operasi untuk praktik pengembangan, pengamatan, dan manajemen rilis. Tujuannya adalah untuk meminimalkan varian proses, kemungkinan kesalahan manusia, dan gangguan pada pelanggan. Untuk menilai kesehatan operasional Anda, mulailah dengan pertanyaan-pertanyaan berikut:

  • Apakah Anda menjalankan operasi dengan disiplin?
  • Apakah pelanggan menggunakan beban kerja dengan prediksi maksimum?
  • Bagaimana Anda belajar dari pengalaman dan data yang dikumpulkan untuk mendorong peningkatan berkelanjutan?

Operasi beban kerja dapat berkembang menjadi praktik kacau ketika tidak ada kepemilikan atau kepemimpinan yang jelas. Dalam jenis lingkungan ini, tim sering menggunakan metode yang dijalankan dengan upaya tinggi dan menghasilkan hasil rendah, yang menyebabkan pengalaman pengguna yang buruk. Pendekatan ini hanya memenuhi tujuan jangka pendek. Manfaat jangka panjang diwujudkan melalui evaluasi berkelanjutan dan investasi strategis.

Prinsip desain memberikan pedoman strategi operasional yang harus dipertimbangkan untuk mengatasi penyebab yang mendasarinya dan bukan hanya mengobati gejala. Mulailah dengan pendekatan yang direkomendasikan, lalu amati apa yang berhasil dan apa yang tidak mengidentifikasi area perbaikan. Setelah Anda mengatur strategi, lanjutkan untuk mendorong tindakan dengan menggunakan daftar periksa Keunggulan Operasional.

Persyaratan operasional beban kerja sama pentingnya dengan persyaratan bisnisnya. Proses yang efisien memastikan beban kerja mencapai hasil bisnis dalam batasan kepatuhan, baik kepatuhan tersebut bersifat organisasi atau eksternal. Kuncinya adalah menemukan pengulangan dengan konsistensi.

Tujuan dari pilar Keunggulan Operasional adalah untuk melakukan hal yang benar, melakukannya dengan cara yang benar, dan untuk menyelesaikan masalah yang tepat sebagai tim.

Jika Anda memenuhi tujuan ini, beban kerja akan berjalan dengan andal dan dapat diprediksi bahkan selama waktu perubahan. Ketidakmampuan untuk memenuhi persyaratan operasional dapat menyebabkan penyebaran yang gagal, pengalaman pengguna yang tidak konsisten, dan biaya tambahan yang dapat dihindari melalui perencanaan yang tepat dan eksekusi yang disederhanakan.

Merangkul budaya DevOps

Ikon tujuan Memberdayakan tim pengembangan dan operasi untuk terus meningkatkan desain dan proses sistem mereka dengan bekerja sama dengan pola pikir kolaborasi, tanggung jawab bersama, dan kepemilikan.

DevOps adalah komunitas praktik di mana keragaman perspektif dan keterampilan mendorong menuju satu misi. Tim harus menumbuhkan lingkungan kolaboratif dari pengetahuan bersama alih-alih pembelajaran yang tersimpan. Gunakan fungsi bersama untuk berusaha mengatasi batasan sumber daya.

Budaya DevOps yang baik berkembang pada tanggung jawab bersama. Tim pengembangan dan operasi harus menyelaraskan tujuan dan prioritas mereka dengan harapan pelanggan mereka dan menjaga fokus bisnis dalam pikiran. Tim pengembangan harus melibatkan tim operasi dalam perulangan umpan balik sehingga peningkatan didorong upstram dan tim lain mendapat manfaat yang sama. Sebaliknya, tim operasi bertanggung jawab untuk membuat tim pengembangan berhasil dalam hasil bisnis mereka dengan berbagi sumber daya dan umpan balik yang relevan dengan beban kerja.

Pada saat yang sama, praktik DevOps menerapkan garis kepemilikan dan akuntabilitas yang jelas untuk setiap tim. Terlepas dari tempat aplikasi berjalan, tim beban kerja bertanggung jawab atas aplikasi tersebut.

DevOps mengoptimalkan tugas operasional sehingga efektif tetapi tidak membebani. Untuk menuai manfaat penuh dari DevOps, budaya harus mengoptimalkan proses melalui teknologi dan memiliki proses bagi orang-orang dalam organisasi untuk mempromosikan komunikasi transparan.

Pendekatan Keuntungan
Gunakan sistem dan alat umum yang mempromosikan lingkungan kolaboratif untuk kemajuan komunikasi dan pelacakan. Alat dan proses umum memungkinkan komunikasi transparan. Tim pengembangan dan operasi mendapat manfaat dari kesadaran situasional di berbagai lingkungan, masalah dukungan umum, dan tantangan dan kemenangan secara keseluruhan.

Teams sudah terbiasa dengan jalur eskalasi yang ada jika ada insiden.

Backlog bersama membuat prioritas, seperti mengerjakan fitur baru atau memperbaiki bug, jelas.
Bangun pola pikir pembelajaran dan eksperimen berkelanjutan sepanjang siklus pengembangan.

Dukung berbagi pengetahuan di seluruh tim dan pertahankan dokumentasi untuk digunakan kembali.

Melakukan analisis tanpa cela dan pembekalan ulasan pasca-rilis dan/atau pasca-insiden.
Melalui mekanisme eksperimen, seperti pengujian A/B dan pengembangan bukti konsep, Anda dapat mendorong inovasi sambil menjaga biaya tetap rendah.

Berbagi pengetahuan melalui kolaborasi yang membuat tim magang dalam pendekatan desain, perkakas, dan proses.

Melakukan retrospektif setelah proyek membantu mengidentifikasi area untuk perbaikan dan merayakan kesuksesan.
Mengadopsi praktik agile industri yang terbukti yang berfokus pada pengoptimalan tindakan.

Cari peluang untuk "bergeser ke kiri" dalam operasi untuk proses manual dan otomatis, praktik penyebaran dan jaminan kualitas, dan pengamatan.
Praktik pengembangan yang tangkas menyebabkan siklus hidup rilis yang lebih pendek, yang merupakan indikator nilai bisnis.

Mendeteksi, menyelesaikan, dan dengan demikian mencegah masalah sebelumnya sering kali kurang mengganggu proses.
Tetapkan standar untuk semua prosedur pengembangan dan operasional serta tinjau dan validasi secara teratur.

Prosedur ini termasuk tugas rutin, proses di luar band, latihan dan situasi darurat, pilihan alat, prosedur pemantauan, rencana keterampilan, dan bahkan komunikasi dengan pemangku kepentingan dan pengungkapan pelanggan.

Jadilah disengaja dan eksplisit tentang keputusan Anda.
Standar menambahkan prediksi ke operasi dan membuat proses dan praktik dapat diskalakan. Memvalidasi standar adalah cara yang bagus untuk menarik titik perbaikan.

Bersiaplah untuk situasi darurat dan pemulihan dengan melakukan latihan rutin.

Jalankan dengan presisi dan aktifkan tata kelola untuk mencegah anomali yang menyebabkan risiko.
Manfaatkan tim operasi terpusat dengan keterampilan khusus dan luasnya pengalaman. Ada manfaat biaya untuk menggunakan sumber daya bersama baik untuk operasi maupun sumber daya.

Meskipun Anda memiliki beban kerja Anda, tim terpusat membantu Anda dengan keterampilan lintas fungsi, seperti manajemen insiden, perspektif proaktif tentang pemantauan, dan keahlian outsourcing dengan kepercayaan.

Menetapkan standar pengembangan

Ikon tujuan Optimalkan produktivitas dengan menstandarkan praktik pengembangan, menegakkan gerbang kualitas, dan melacak kemajuan dan keberhasilan melalui manajemen perubahan sistematis.

Tim pengembangan bertanggung jawab untuk mengatasi masalah beban kerja sebelum rilis dengan gesekan minimal. Perhatikan efisiensi pengembang dan optimalkan untuk siklus penyelesaian yang cepat, mulai dari pengkodean hingga hasil pengujian. Terapkan proses efektif dan berukuran tepat yang merencanakan dan menstandarkan kegiatan teknis dan juga mendorong konensus dalam tim dan pemangku kepentingan.

Pendekatan Keuntungan
Fitur beban kerja dokumen dan ambil manfaat pelanggan.

Memperoleh cakupan dan persyaratan fungsional dan nonfungsi arsitektur yang terperinci .

Buat model estimasi ukuran untuk melaporkan cakupan dan biaya tugas yang terlibat.
Spesifikasi yang baik mengurangi biaya operasional dan kemungkinan kegagalan dengan mendukung siklus pengembangan yang lebih produktif dan efisien.

Pengembang memahami desain teknis, tujuan, dan kriteria penyelesaian sebelum mereka memulai siklus pengkodian.

Dokumentasi yang baik memfasilitasi komunikasi berulang dan onboarding anggota tim baru.
Gunakan metodologi pengembangan perangkat lunak standar industri yang disetel dengan tepat untuk kebutuhan beban kerja dan ukuran tim Anda.

Pertahankan backlog yang dibagikan di antara semua peran.
Adopsi metodologi terkenal menetapkan ritme proyek. Ini menghapus ambiguitas proses dengan memberi anggota tim harapan dan akuntabilitas yang jelas.

Dengan melacak terhadap daftar umum, tugas dapat disempurnakan dan diprioritaskan dengan praktik standar. Proyek ini akan memiliki peluang yang lebih baik untuk dikirim tepat waktu.

Metodologi standar membantu manajemen risiko. Dengan ulasan tonggak pencapaian terperinci, pengembang dapat mengatasi masalah potensial sebelum mereka menjadi showtopper.
Gunakan kontrol sumber terpadu untuk semua kode, skrip, templat penyebaran, definisi alur, dan dokumentasi terkait.

Strategi percabangan harus mendukung rilis fitur independen dan saling bergantung, perbaikan bug, dan perbaikan bebas gesekan.

Gunakan pengetahuan bersama di seluruh organisasi untuk membangun strategi percabangan dan proses penyebaran Anda.
Penggunaan kontrol sumber yang tepat sangat penting dalam mendukung perubahan dan penerapan versi bersamaan.

Pertahankan alur kerja yang dapat diulang untuk merilis perubahan berbagai ukuran dan risiko, melakukan tinjauan serekan sebagai bagian dari proses, dan menyimpan jejak audit.
Memiliki proses jaminan kualitas yang menekankan pengujian di awal siklus hidup pengembangan.

Sertakan semua artefak untuk prosedur pengujian yang direncanakan, termasuk komponen aplikasi, infrastruktur, dan operasi sarana data yang merupakan bagian dari rilis atau pembaruan fitur.

Perlakukan artefak sebagai tidak dapat diubah ketika dipromosikan melalui lingkungan, mendapatkan kepercayaan diri setiap kali melewati gerbang berkualitas.

Jika praktis, otomatiskan pemeriksaan rutin.
Jaminan kualitas memastikan bahwa persyaratan fungsional dan nonfungsi terpenuhi dengan keyakinan, yang mengarah pada dampak pelanggan yang positif.

Memiliki rencana pengujian memastikan kualitas dan kelengkapan dan mempertimbangkan kemungkinan kasus kegagalan.

Dengan gerbang berkualitas, Anda dapat memberlakukan praktik terbaik untuk mengurangi risiko.

Kekekalan membawa kepercayaan diri karena memastikan sistem yang Anda uji persis seperti yang Anda rilis.

Siklus pengujian secara efisien memblokir kemajuan kecuali kriteria kualitas terpenuhi.
Dorong konsistensi dengan menggunakan panduan dan alat gaya, yang memberlakukan konvensi, dan mengadopsi rantai alat umum untuk pengembangan, pengujian, dan komunikasi dengan pemangku kepentingan.

Standar teknologi untuk pengembang harus mengharuskan implementasi pola, desain API, pengelogan, penanganan pengecualian, dan proses lainnya.
Konsistensi dalam kode mendorong keterbacaan dan pemeliharaan yang lebih mudah. Ini juga mengurangi kompleksitas dan memungkinkan penggunaan kembali kode.

Alat dan konvensi umum juga membantu tim mengoptimalkan proses tanpa perlu mengatasi pilihan satu kali.
Secara konsisten dan sengaja bersikeras pada dokumentasi pengembang kode seperti yang tertulis. Dokumentasi kode yang jelas memastikan bahwa logika dan fungsionalitas mudah dipahami ketika kode lama perlu ditinjau kembali atau ketika tim pengembangan berputar.
Laporkan kemajuan dan tren untuk mengukur efisiensi. Tren dalam bug, pembaruan yang gagal, waktu untuk menyebarkan, perulangan umpan balik, dan metrik lainnya diterbitkan, dan yang mendorong peningkatan.

Mengembangkan operasi dengan pengamatan

Ikon tujuan Dapatkan visibilitas ke dalam sistem, dapatkan wawasan, dan buat keputusan berbasis data.

Bangun budaya yang terus meningkatkan kualitas dengan memantau beban kerja dan mempertimbangkan semua pilar Azure Well-Architected Framework. Memungkinkan tim dan pemangku kepentingan untuk membuat keputusan jangka pendek dan jangka panjang di banyak faset dengan menyediakan data, statistik, dan tren yang diperlukan. Pelajari dari data Anda dan dorong peningkatan.

Operasi yang dibangun untuk tujuan pengamatan adalah kunci dalam pemeliharaan proaktif aplikasi, jaminan kualitas dan keamanan, perencanaan kapasitas, dan manajemen produk.

Aspek penting dari pemantauan adalah aplikasi menggunakan pemodelan kesehatan untuk membantu Anda mengantisipasi masalah sebelum menjadi insiden dan memengaruhi pengalaman pelanggan. Pemantauan yang efisien mengurangi siklus reaktif yang dihabiskan untuk manajemen insiden.

Pendekatan Keuntungan
Bangun sistem pemantauan dengan tumpukan dan alurnya sendiri.

Perlakukan sistem pemantauan sebagai dimensi beban kerja yang dipecat dari utilitasnya. Tumpukan harus mencakup semua lapisan, termasuk infrastruktur, kesehatan aplikasi, dan proses build dan rilis.

Menangkap atau mengambil sampel data bisnis berada di luar cakupan untuk implementasi observabilitas.
Memisahkan pemantauan dan tumpukan beban kerja untuk memisahkan persyaratan fungsional dan persyaratan pengamatan dan memungkinkan evolusi independen. Perubahan kode seharusnya tidak memengaruhi pemantauan, dan sebaliknya.

Karena persyaratan pengamatan terpisah dari persyaratan fungsi, data bisnistidak akan terganggu dengan memantau perubahan konfigurasi atau pemadaman.
Mendorong konsistensi dalam proses pengumpulan untuk setiap jenis sumber data.

Standarisasi instrumentasi dalam kode dengan menggunakan standar industri untuk telemetri, pengumpulan metrik infrastruktur, dan perkakas.
Konsistensi mencegah varians dalam pengimpitan dan pengukuran karena keakraban di seluruh sumber daya serupa mengurangi waktu yang dihabiskan untuk berkorelasi dan menganalisis data. Anda memiliki perspektif holistik untuk mengantisipasi masalah.

Keluarkan telemetri dari kode aplikasi yang menghubungkan titik-titik utama alur eksekusi dan memberikan tampilan end-to-end pada tingkat granularitas yang berbeda. Prioritaskan tindakan berdasarkan tingkat keparahan, dan pahami konteks yang diberikan verbositasnya. Informasi ini sangat penting untuk tujuan pemecahan masalah.
Memiliki tanggung jawab untuk memancarkan dan mengumpulkan data, bahkan ketika sink data dibagikan oleh beberapa tim dan dikelola oleh tim pusat. Dengan melokalisasi data pemantauan ke lingkungan beban kerja, tim dapat mengakses log dan metrik untuk mengatasi masalah beban kerja.
Kumpulkan data yang cukup dan simpan hanya untuk waktu yang cukup.

Pertimbangkan tradeoff biaya yang terkait dengan pengelogan dan penyimpanan data.
Pengumpulan data yang disengaja membantu Anda mengoptimalkan biaya keuangan dan operasional yang terkait dengan pengumpulan lebih banyak data daripada yang Anda butuhkan.

Minimalkan kebisingan dan hindari komputasi intensif selama analisis, dan kurangi biaya penyimpanan data yang tidak lagi Anda butuhkan.
Buat perbedaan antara sinyal pemantauan yang berbeda: profil, log, metrik, dan jejak. Gunakan setiap sinyal untuk tujuan yang tepat.

Prioritaskan penggunaan metrik untuk memicu tindakan yang bergantung pada pengukuran numerik.

Gunakan profil untuk mendapatkan visibilitas tingkat yang lebih rendah, seperti alokasi memori, ke dalam sistem.

Cadangkan penggunaan log dan jejak untuk memberikan konteks untuk alur dan dependensi.
Dengan menggunakan sinyal untuk tujuan yang tepat, Anda dapat mencegah implementasi sistem pemantauan yang tidak efisien.

Misalnya, menggunakan log untuk tindakan memerlukan penguraian. Anda mungkin dapat mencapai tujuan yang sama lebih cepat dengan metrik.
Mengagregasi dan memvisualisasikan data di dasbor untuk menyajikan data pemantauan yang melayani audiens dan mengingat konteks bisnis.

Gunakan dasbor situasi untuk memunculkan data untuk mendorong kesadaran di antara pemangku kepentingan.

Gunakan dasbor operasional dan buku kerja dengan kemampuan penelusuran paling detail untuk aktivitas operator seperti respons insiden. Sering me-refresh dasbor dan menyediakan data terperinci.
Dengan visualisasi, Anda dapat menganalisis tren, melacak target bisnis, dan mengelola insiden.

Dasbor yang disesuaikan dengan minat pelanggan membuat interpretasi relevan dan mempercepat waktu untuk deteksi dan tindakan.
Buat pemberitahuan dapat ditindaklanjuti dengan memberi tahu peran yang dapat dipertanggungjawabkan dengan deskripsi standar dan tingkat keparahan. Berikan informasi yang dikumpulkan dari berbagai sumber dan lacak penyimpangan dari target bisnis.

Memicu pemberitahuan hanya untuk insiden yang memerlukan tindakan.

Berusahalah untuk pemberitahuan proaktif dan pemikiran yang memulai tindakan sebelum keadaan terdegradasi menjadi kegagalan.
Pemberitahuan membawa perhatian pada peristiwa penting seperti yang didefinisikan oleh organisasi.

Sistem pemberitahuan yang baik mengidentifikasi tindakan dan tingkat keparahan dan menyediakan data yang cukup untuk mendorong kejelasan dan tujuan. Operator dapat memulai remediasi tanpa penundaan.

Menyebarkan dengan percaya diri

Ikon tujuan Jangkau status penyebaran yang diinginkan dengan prediktabilitas.

Bangun rantai pasokan beban kerja yang memungkinkan Anda untuk secara konsisten mencapai tujuan prediksi di semua lingkungan Anda, di seluruh platform hosting, aplikasi, data, dan sumber daya konfigurasi beban kerja. Mekanisme penyebaran harus mampu otomatisasi, pengujian, pemantauan, dan penerapan versi. Ini harus dimodulisasi dan siap untuk dieksekusi sesuai permintaan. Ini tidak boleh direpresentasikan sebagai proses end-to-end monolitik. Rantai pasokan belum tentu untuk eksekusi yang lebih cepat, tetapi untuk mencapai konsistensi dan dokumentasi mandiri selama beberapa iterasi.

Tim beban kerja bertanggung jawab atas rantai pasokan karena berkaitan dengan beban kerja mereka sendiri.

Pendekatan Keuntungan
Gunakan Infrastruktur sebagai Kode (IaC) untuk menentukan aspek berulang dari rantai pasokan yang siap produksi.

Lebih suka pendekatan deklaratif daripada metode imperatif.
Teknologi IaC deklaratif dirancang dengan pertimbangkan otomatisasi dan penggunaan kembali. Anda dapat membongkar penyebaran infrastruktur dari individu ke dalam alat dan mencapai kualitas yang konsisten.

Dari perspektif infrastruktur, memiliki lebih sedikit pilihan teknologi menghilangkan varians dalam peralatan dan membuat penyimpangan konfigurasi mudah dideteksi. Pemeliharaan juga akan lebih mudah. Jika Anda menyelaraskan pilihan dengan set keterampilan tim yang ada, tim dapat dengan mudah mengadopsinya.
Siapkan tim untuk menggunakan teknologi IaC yang dipilih. Pelajari tentang model, kemampuan, dan batasan ekstensibilitasnya.

Manfaatkan spesialisasi dalam tim dan bagikan pengetahuan dalam organisasi.
Meningkatkan produktivitas dan menumbuhkan lingkungan kolaborasi melalui pembelajaran bersama.

Anda dapat mengisi kesenjangan dengan pelatihan alih-alih merekrut.
Ikuti rekomendasi perangkat lunak untuk pengembangan dan pemeliharaan IaC.

Modularisasi dalam moderasi. Hindari abstraksi kustom atau bernilai rendah.

Ikuti pendekatan berlapis untuk mencerminkan siklus hidup yang berbeda. Membentuk lapisan dasar di mana lapisan bawah tetap konstan dan lapisan atas berubah sesuai kebutuhan.

Artefak penyebaran, seperti biner aplikasi, templat IaC, dan parameter, adalah bagian dari permukaan serangan. Terapkan jaminan, seperti manajemen rahasia, kontrol akses, dan prinsip pilar Keamanan lainnya.
Artefak mengalami tingkat kekakuan rekayasa yang sama dengan kode aplikasi. Kontrol kualitas melalui tinjauan serekan dan pengujian memberi Anda kepercayaan diri dalam penyebaran.

Pendekatan berlapis membuat pemeliharaan lebih mudah dan menciptakan batasan yang menetapkan garis tanggung jawab yang jelas.

Menambahkan kontrol keamanan ke artefak membantu mengeraskan sistem selama proses penyebaran.
Kembangkan manifes penyebaran umum yang digunakan di semua lingkungan. Gunakan manifes tersebut sebagai mekanisme default untuk proyek greenfield, pembaruan beban kerja inkremental, atau pemulihan bencana. Hapus overhead mempertahankan beberapa aset.

Jika ada bencana, pemulihan akan cepat dan dapat diandalkan karena Anda dapat menyebarkan manifes yang dicoba dan diuji alih-alih membuat lingkungan yang diimprovisasi.
Berusaha untuk infrastruktur yang tidak dapat diubah dan ephemeral yang disebarkan melalui otomatisasi IaC. Melarang penyimpangan konfigurasi dan membuat penyebaran idempotensi.

Infrastruktur semacam ini menghilangkan beban operasional yang signifikan, seperti patching. Ini juga menguntungkan skenario validasi inti, seperti penyebaran infrastruktur biru-hijau.

Catatan

Kurangi cakupan penggunaan portal hanya untuk tugas penyelidikan yang tidak berulang.

Mengotomatiskan untuk efisiensi

Ikon tujuanGanti tugas manual berulang dengan otomatisasi perangkat lunak yang menyelesaikannya lebih cepat, dengan konsistensi dan akurasi yang lebih besar, dan mengurangi risiko.

Beban kerja mungkin memiliki alur kerja dengan proses yang melibatkan anggota tim yang melakukan tugas biasa, berulang, dan memakan waktu yang sebenarnya tidak membutuhkan kecerdasan manusia. Tergantung pada frekuensinya, Anda mungkin menghabiskan banyak waktu untuk upaya ini, menginvestasikan lebih banyak waktu saat beban kerja tumbuh. Selain itu, proses ini sering rawan kesalahan karena input manusia.

Melalui otomatisasi, Anda menghemat waktu, usaha, dan uang, dan Anda menghindari kesalahan.

Pendekatan Keuntungan
Evaluasi semua alur kerja terhadap kriteria yang berada pada tingkat kompleksitas, upaya, frekuensi, akurasi, keakuratan waktu, dan umur yang tepat.

Mengotomatiskan alur kerja berdasarkan evaluasi tersebut dan memprioritaskan alur kerja dengan pengembalian tertinggi yang diharapkan.

Hapus alur kerja yang berlebihan atau tambahkan nilai untuk membenarkan upaya manusia.
Anda dapat menginvetasikan kembali kapasitas tim dalam pekerjaan bernilai lebih tinggi dan meningkatkan produktivitas dan konsistensi.

Membangun inventarisasi alur kerja memastikan bahwa Anda mengotomatiskan tugas yang tepat. Menghapus tugas yang berlebihan mengurangi kompleksitas dan kesalahan.
Jadilah eksplisit tentang keputusan Anda ketika Anda mengevaluasi apakah akan membangun alat kustom atau membeli perangkat lunak.

Cadangkan otomatisasi bangunan untuk pekerjaan yang sangat khusus dan bernilai tinggi.
Dengan membeli perangkat lunak off-the-shelf dan memanfaatkan kontrak dukungan, Anda menghemat biaya pemeliharaan.

Dengan membangun perangkat lunak, Anda memiliki lebih banyak kontrol dan dapat memenuhi kasus penggunaan yang unik untuk tim dan beban kerja Anda. Namun, ada dampak biaya.

Pilihan perkakas membawa tingkat standardisasi ke operasi Anda. Dengan pelatihan, Anda dapat mencapai tingkat kesiapan adopsi yang seragam.
Rancang komponen beban kerja Anda untuk mendukung kemampuan otomatisasi. Hindari situasi di mana kurangnya otomatisasi dalam desain sistem Anda mempromosikan anti-pola tugas berulang, memperlambat pertumbuhan, dan mulai mengumpulkan utang teknis.
Perlakukan semua otomatisasi sebagai dependensi penting dari beban kerja Anda. Beradaptasi dengan pertumbuhan beban kerja yang diharapkan.

Alat otomatisasi Anda adalah bagian integral dari beban kerja Anda, dan harus mematuhi lima pilar kerangka kerja Well-Architected.
Rancang komponen otomatisasi Anda untuk menahan risiko, seperti ancaman keamanan. Dengan praktik terbaik yang diterapkan, Anda dapat menghindari keluasan implementasi.

Beban kerja akan terus beroperasi dengan jaminan tingkat tinggi jika dependensi ini tetap berfungsi dan aman.
Otomatiskan dalam skala besar dengan menjelajahi opsi di luar beban kerja Anda.

Lebih suka model "desain sekali, jalankan di mana-mana" dengan menyediakan templat dan kerangka kerja untuk onboarding proyek baru dan mempromosikan penggunaan kembali desain dan implementasi yang ada.
Gunakan metode yang dicoba dan diuji dan kurangi kemungkinan kegagalan.

Mengadopsi praktik penyebaran yang aman

Ikon tujuan Terapkan pagar pembatas dalam proses penyebaran untuk meminimalkan efek kesalahan atau kondisi yang tidak terduga.

Selama siklus pengembangan, artefak beban kerja melalui banyak perubahan saat diterapkan dan diuji dan karena bug diperbaiki.

Proses penyebaran harus mengikuti prosedur operasi standar. Setiap perubahan harus disebarkan dengan tingkat kekakuan yang sama. Prinsip ini berlaku sama untuk kode, konfigurasi, dan semua artefak terkait. Kuncinya adalah menerapkan praktik aman sedini mungkin sehingga Anda memiliki prediktabilitas dalam produksi. Bahkan jika kesalahan menjangkau pelanggan, Anda harus dapat meluncurkan perubahan pemulihan sesegera mungkin.

Pendekatan Keuntungan
Standarkan proses untuk menyebarkan perubahan apa pun dengan menggunakan proses penyebaran otomatis, seperti alur.

Semua lingkungan harus menggunakan alur.

Mengklasifikasikan aset dan versi per lingkungan untuk membuatnya mudah dilacak dan dapat diidentifikasi.
Metode penyebaran yang konsisten mengurangi masalah yang disebabkan oleh kesalahan proses dan varians dan memungkinkan Anda untuk memfokuskan upaya Anda pada masalah beban kerja.

Standardisasi memastikan bahwa penyebaran selesai dengan aman, andal, dan dengan pengulangan.

Klasifikasi memudahkan untuk melihat log penyebaran dan masalah sebelumnya yang telah terjadi. Anda mungkin dapat menggunakan informasi tersebut untuk mempercepat operasi putar kembali dan roll-forward.
Sebarkan pembaruan inkremental kecil secara berkala. Pembaruan kecil yang sering, teruji dengan baik, membuat validasi rilis lebih mudah.

Memecahkan masalah lebih cepat dengan dampak pelanggan minimal karena jejak yang lebih kecil.
Uji pembaruan secara ketat dengan menggunakan mekanisme yang berbeda sepanjang siklus hidup pengembangan. Menangkap masalah pada tahap awal pengembangan. Perbaikan berulang dan praktik penyebaran yang konsisten menyebabkan masalah berkurang pada saat pembaruan siap untuk produksi.
Luncurkan pembaruan secara bertahap, dengan uji kelayakan.

Gunakan model penyebaran yang memberi Anda kontrol untuk secara progresif meningkatkan jumlah instans dan pelanggan hingga pembaruan diadopsi dengan aman oleh semua.
Uji setiap pembaruan dengan cara yang terkontrol sehingga masalah diperbaiki di awal produksi. Hindari meluncurkan pembaruan yang rusak yang berdampak pada seluruh basis pelanggan Anda.

Uji apakah pembaruan kompatibel mundur dan maju.
Memiliki strategi mitigasi untuk pulih dengan cepat dari kegagalan penyebaran.

Strategi ini harus mencakup pengambilan keputusan tentang menggulung balik atau maju berdasarkan kekritisan masalah.

Memiliki proses yang terdefinisi dengan baik dan sistem otomatis yang dapat dengan cepat meluncurkan perbaikan dengan menggunakan alur penyebaran standar.
Mengurangi durasi potensi dampak.

Pulihkan sistem kembali ke versi kerja sebelumnya atau teruskan ke versi yang memiliki perbaikan yang telah diuji secara menyeluruh.
Memiliki rencana fallback yang mengatur ulang sistem ke status kerja jika terjadi keadaan darurat dan untuk pulih dari kegagalan yang tidak terduga. Gunakan strategi ini hanya jika perlu dan dengan persetujuan.

Berusaha untuk meningkatkan rencana dari waktu ke waktu.
Anda dapat melacak perbaikan prioritas tinggi dengan cepat, seperti remediasi keamanan.

Alur yang dipercepat mungkin tidak memiliki semua pemeriksaan prosedur operasi standar Anda, tetapi Anda akan membuat pelanggan mendapatkan versi yang aman dengan cara tercepat, yang melebihi kesalahan berdampak lebih rendah.

Langkah berikutnya

Kami menyarankan agar Anda meninjau daftar periksa Keunggulan Operasional untuk menjelajahi konsep lain.