AWS Cloud
AWS Cloud
Memulai dengan AWS

DevOps adalah kombinasi dari filosofi budaya, penerapan, dan peralatan yang meningkatkan kemampuan organisasi untuk memberikan aplikasi dan layanan dalam kecepatan yang tinggi: mengembangkan dan meningkatkan produk dalam waktu yang lebih cepat dari organisasi yang menggunakan pengembangan software dan proses pengelolaan infrastruktur tradisional. Kecepatan ini memungkinkan organisasi untuk melayani pelanggan mereka dengan lebih baik dan berkompetisi dengan lebih efektif di pasaran.

Apa itu DevOps?

Di bawah model DevOps, tim pengembangan dan pengoperasian tidak lagi “terisolasi.” Terkadang, dua tim tersebut digabungkan menjadi satu tim tempat teknisi bekerja di seluruh siklus hidup aplikasi, dari pengembangan dan pengetesan hingga peluncuran dan pengoperasian, dan mengembangkan cakupan keterampilan yang tidak terbatas pada satu fungsi saja.

Dalam beberapa model DevOps, tim penjaminan mutu dan tim keamanan juga dapat sangat terintegrasi dengan pengembangan dan pengoperasian dan di seluruh siklus hidup aplikasi. Saat keamanan adalah fokus setiap orang di tim DevOps, seringkali ini disebut sebagai DevSecOps.

Tim-tim tersebut menggunakan langkah untuk mengautomasi proses yang secara historis bersifat manual dan lamban. Mereka menggunakan tumpukan teknologi dan peralatan yang membantu mereka mengoperasikan dan mengubah aplikasi dengan cepat dan andal. Peralatan ini juga membantu teknisi untuk menyelesaikan tugas secara independen (misalnya, meluncurkan kode atau menyediakan infrastruktur) yang normalnya memerlukan bantuan dari tim lain, dan ini semakin meningkatkan kecepatan tim.

DevOps-What-is_scale

Bergerak dalam kecepatan tinggi sehingga Anda dapat melakukan inovasi untuk pelanggan dengan lebih cepat, beradaptasi dengan lebih baik di pasar yang berubah, dan menjadi lebih efisien dalam mendorong hasil bisnis. Model DevOps memungkinkan tim pengembang dan pengoperasian Anda untuk mencapai hasil tersebut. Misalnya, layanan mikro dan pengantaran berkelanjutan memungkinkan tim mendapatkan kepemilikan layanan dan kemudian meluncurkan pembaruan pada mereka dengan lebih cepat.

DevOps-What-is_delivery

Tingkatkan frekuensi dan kecepatan peluncuran sehingga Anda dapat berinovasi dan meningkatkan produk Anda dengan lebih cepat. Semakin cepat Anda dapat meluncurkan fitur baru dan memperbaiki bug, semakin cepat Anda dapat merespons kebutuhan pelanggan dan mendapatkan keuntungan yang kompetitif. Integrasi berkelanjutan dan pengantaran berkelanjutan merupakan praktik yang mengautomasi proses peluncuran software, dari pembuatan hingga peluncuran.

DevOps-What-is_reliability

Memastikan kualitas pembaruan aplikasi dan perubahan infrastruktur sehingga Anda dapat memberikan dengan andal pada kecepatan yang lebih tinggi sambil mempertahankan pengalaman yang positif bagi pengguna akhir. Gunakan praktik seperti integrasi berkelanjutan dan pengantaran berkelanjutan untuk mengetes bahwa tiap perubahan berfungsi dan aman. Praktik Pemantauan dan pembuatan log membantu Anda tetap mendapatkan informasi performa secara waktu-nyata.

DevOps-What-is_scale

Operasikan dan kelola infrastruktur dan proses pengembangan dalam skala apa pun. Automasi dan konsistensi membantu Anda mengelola sistem yang kompleks atau berubah secara efisien dan dengan risiko yang berkurang. Misalnya, infrastruktur sebagai kode membantu Anda mengelola pengembangan, pengetesan, dan lingkungan produksi dengan cara yang dapat diulang dan lebih efisien.

DevOps-What-is_collaboration

Bangun tim yang lebih efektif di bawah model kultural DevOps, yang menekankan nilai seperti kepemilikan dan akuntabilitas. Tim pengembang dan pengoperasian berkolaborasi dengan erat, berbagi banyak kewajiban, dan menggabungkan alur kerja mereka. Ini mengurangi inefisiensi dan menghemat waktu (misalnya periode pengalihan yang dikurangi antara pengembang dan pengoperasian, menulis kode yang mempertimbangkan lingkungan di mana aplikasi dijalankan).

DevOps-What-is_security

Bergerak lebih cepat sambil mempertahankan kendali dan menjaga kepatuhan. Anda dapat menggunakan model DevOps tanpa mengorbankan keamanan dengan menggunakan kebijakan kepatuhan yang terautomasi, kontrol yang menyeluruh, dan teknik manajemen konfigurasi. Misalnya, dengan menggunakan infrastruktur sebagai kode dan kebijakan sebagai kode, Anda dapat menentukan dan kemudian melacak kepatuhan pada skalanya.

Software dan internet telah mengubah dunia dan industri, dari belanja hingga hiburan sampai perbankan. Software tidak lagi sekadar mendukung bisnis; tetapi telah menjadi komponen integral dari setiap bagian bisnis. Perusahaan berinteraksi dengan pelanggan mereka melalui software yang diluncurkan sebagai layanan online atau aplikasi dan pada berbagai perangkat. Mereka juga menggunakan software untuk meningkatkan efisiensi operasional dengan mengubah tiap bagian rantai nilai, seperti logistik, komunikasi, dan pengoperasian. Sebagaimana perusahaan barang fisik mengubah bagaimana mereka merancang, membangun, dan mengantarkan produk menggunakan automasi industri di sepanjang abad ke-20, perusahaan di masa kini harus mengubah bagaimana mereka membangun dan memberikan software.

Beralih ke DevOps memerlukan perubahan dalam budaya dan pola pikir. Pada tingkat yang paling sederhana, DevOps adalah tentang menghilangkan pemisah antara dua tim yang terisolasi secara tradisional, yaitu pengembangan dan pengoperasian. Di beberapa organisasi, bahkan tidak ada tim pengembangan dan tim pengoperasian yang terpisah; teknisi mengerjakan keduanya. Dengan DevOps, dua tim bekerja bersama untuk mengoptimalkan produktivitas pengembang dan keandalan pengoperasian. Mereka berusaha berkomunikasi sering, meningkatkan efisiensi, dan meningkatkan kualitas layanan yang mereka berikan kepada pelanggan. Mereka mengambil kepemilikan penuh untuk layanan, seringkali melebihi cakupan peran atau jabatan yang sebenarnya dengan memikirkan tentang kebutuhan pelanggan akhir dan bagaimana mereka dapat berkontribusi untuk memenuhi kebutuhan tersebut. Tim penjaminan mutu dan keamanan juga erat terintegrasi dengan tim tersebut. Organisasi yang menggunakan model DevOps, terlepas dari struktur organisasinya, memiliki tim yang melihat seluruh siklus hidup pengembangan dan infrastruktur sebagai bagian dari tanggung jawab mereka.

Terdapat beberapa praktik kunci yang membantu organisasi berinovasi dengan lebih cepat melalui automasi dan mempersingkat pengembangan software dan proses manajemen infrastruktur. Sebagian besar praktik tersebut dilakukan dengan peralatan yang benar.

Satu praktik yang mendasar adalah melakukan pembaruan yang sangat sering tetapi sedikit. Ini adalah cara organisasi berinovasi dengan lebih cepat untuk pelanggan mereka. Pembaruan tersebut seringnya bersifat lebih tambahan dari pembaruan sesekali yang dilakukan dalam praktik peluncuran tradisional. Pembaruan yang sering namun kecil membuat peluncuran berkurang risikonya. Mereka membantu tim mengatasi bug dengan lebih cepat karena tim dapat mengidentifikasi peluncuran terakhir yang menyebabkan kesalahan. Meskipun irama dan ukuran pembaruan dapat bervariasi, organisasi yang menggunakan model DevOps meluncurkan pembaruan dengan jauh lebih sering dari organisasi yang menggunakan praktik pengembangan software tradisional.

Organisasi juga dapat menggunakan arsitektur layanan mikro untuk membuat aplikasi mereka lebih fleksibel dan memungkinkan inovasi yang lebih cepat. Arsitektur layanan mikro memisahkan sistem kompleks yang besar menjadi proyek yang independen dan sederhana. Aplikasi dibagi menjadi banyak komponen (layanan) individual dengan tiap layanan dicakupkan ke satu tujuan atau fungsi, dan dioperasikan secara independen dari layanan rekanannya dan aplikasi secara keseluruhan. Arsitektur ini mengurangi koordinasi atashulu aplikasi yang sedang diperbarui, dan saat tiap layanan dipasangkan dengan tim yang tangkas dan kecil yang mengambil kepemilikan tiap layanan, organisasi dapat bergerak dengan lebih cepat.

Namun, kombinasi layanan mikro dan frekuensi pembaruan yang ditingkatkan mengakibatkan peluncuran yang lebih banyak secara signifikan yang dapat menyebabkan tantangan operasional. Oleh karena itu, praktik DevOps seperti integrasi berkelanjutan atau peluncuran berkelanjutan mengatasi masalah ini dan memungkinkan organisasi meluncurkan dengan cara yang lebih aman dan lebih andal. Praktik automasi infrastruktur, seperti infrastruktur sebagai kode dan manajemen konfigurasi, membantu menjaga sumber daya komputasi tetap elastis dan responsif terhadap perubahan yang sering. Selain itu, penggunaan pemantauan dan pembuatan log membantu teknisi melacak performa aplikasi dan infrastruktur sehingga mereka dapat bereaksi dengan cepat terhadap masalah.

Bersama-sama, praktik tersebut membantu organisasi memberikan pembaruan yang lebih andal dan lebih cepat untuk pelanggan mereka. Berikut ini gambaran umum praktik DevOps yang penting.


Berikut ini adalah praktik terbaik DevOps:

Anda dapat mempelajari selengkapnya tentang tiap praktik tertentu di bawah ini.
Integrasi Berkelanjutan

Integrasi berkelanjutan adalah praktik pengembangan software di mana pengembang secara berkala menggabungkan perubahan kode mereka ke repositori pusat, yang setelahnya dilakukan pembangunan otomatis dan pengetesan. Tujuan utama integrasi berkelanjutan adalah menemukan dan mengatasi bug dengan lebih cepat, meningkatkan kualitas software, dan mengurangi waktu yang dibutuhkan untuk melakukan validasi dan meluncurkan pembaruan software terbaru.

Pelajari selengkapnya tentang integrasi berkelanjutan »


Pengantaran Berkelanjutan

Pengantaran berkelanjutan adalah praktik pengembangan software dimana perubahan kode secara otomatis dibuat, dites, dan dipersiapkan untuk diluncurkan ke produksi. Praktik ini memperluas integrasi berkelanjutan dengan meluncurkan semua perubahan kode ke lingkungan pengetesan dan/atau lingkungan produksi setelah tahap pembuatan. Saat pengantaran berkelanjutan dilakukan dengan benar, pengembang akan selalu memiliki artefak pembuatan yang siap diluncurkan yang telah melewati proses pengetesan terstandar.

Pelajari selengkapnya tentang pengantaran berkelanjutan dan AWS CodePipeline »


Layanan mikro

Arsitektur layanan mikro merupakan pendekatan desain untuk membangun satu aplikasi sebagai rangkaian layanan kecil. Tiap layanan berjalan dalam prosesnya sendiri dan berkomunikasi dengan layanan lain melalui antarmuka yang terdefinisi dengan baik menggunakan mekanisme yang ringan, umumnya adalah antarmuka pemrograman aplikasi (API) berbasis HTTP. Layanan mikro dibuat di sekitar kemampuan bisnis; tiap layanan ditujukan untuk satu tujuan. Anda dapat menggunakan kerangka atau bahasa pemrograman yang berbeda untuk menulis layanan mikro dan meluncurkannya secara independen, baik sebagai satu layanan atau sebagai kelompok layanan.

Pelajari selengkapnya tentang Amazon Elastic Container Service (Amazon ECS) »

Pelajari selengkapnya tentang AWS Lambda »


Infrastruktur sebagai Kode

Infrastruktur sebagai kode adalah praktik di mana infrastruktur dibuat dan dikelola menggunakan kode dan teknik pengembangan software, seperti kontrol versi dan integrasi berkelanjutan. Model yang digerakkan API dari cloud memungkinkan pengembang dan administrator sistem untuk berinteraksi dengan infrastruktur secara program, dan pada skalanya, dan tidak memerlukan mengatur dan mengonfigurasi sumber daya secara manual. Oleh karena itu, teknisi dapat berinteraksi dengan infrastruktur menggunakan peralatan berbasis kode dan memperlakukan infrastruktur dengan cara yang mirip dengan cara mereka memperlakukan kode aplikasi. Akibat ditentukan oleh kode, infrastruktur dan server dapat diluncurkan dengan cepat menggunakan pola terstandar, yang diperbarui dengan patch dan versi terbaru, atau diduplikasi dengan cara yang dapat diulang.

Pelajari cara mengelola infrastruktur sebagai kode dengan AWS CloudFormation »

Pengembang dan administrator sistem menggunakan kode untuk mengautomasi sistem operasi dan melakukan hosting konfigurasi, tugas operasional, dan lainnya. Penggunaan kode membuat perubahan konfigurasi dapat diulang dan terstandar. Ini membebaskan pengembang dan administrator sistem dari mengonfigurasi sistem operasi, aplikasi sistem, atau software server secara manual.

Pelajari bagaimana Anda dapat mengonfigurasi dan mengelola Amazon EC2 dan sistem lokal dengan Amazon EC2 Systems Manager »

Pelajari cara menggunakan manajemen konfigurasi dengan AWS OpsWorks »

Dengan infrastruktur dan konfigurasi yang dikodifikasi dengan cloud, organisasi dapat memantau dan menegakkan kepatuhan secara dinamis dan pada skalanya. Infrastruktur yang dijelaskan dengan kode dapat dilacak, divalidasi, dan dikonfigurasi ulang dengan cara yang otomatis. Ini mempermudah organisasi untuk mengatur perubahan di sumber daya dan memastikan bahwa tindakan keamanan telah dilaksanakan dengan menyeluruh (misalnya keamanan & kepatuhan informasi dengan PCI-DSS atau HIPAA). Ini memungkinkan tim dalam organisasi untuk bergerak dengan kecepatan yang lebih tinggi karena sumber daya yang tidak patuh dapat secara otomatis ditandai untuk investigasi selanjutnya atau bahkan dikembalikan secara otomatis sesuai kepatuhan.

Pelajari bagaimana menggunakan AWS Config dan Config Rules untuk memantau dan melaksanakan kepatuhan untuk infrastruktur Anda » 


Pemantauan dan Pembuatan Log

Organisasi memonitor metrik dan log untuk melihat bagaimana performa aplikasi dan infrastruktur memengaruhi pengalaman pengguna akhir produk mereka. Dengan mengumpulkan, kategorisasi, dan kemudian menganalisis data dan log yang dibuat oleh aplikasi dan infrastruktur, organisasi memahami bagaimana perubahan atau pembaruan memengaruhi pengguna, memberikan wawasan tentang akar penyebab masalah atau perubahan yang tidak terduga. Pemantauan aktif menjadi semakin penting karena layanan harus tersedia 24/7 dan karena frekuensi pembaruan aplikasi dan infrastruktur meningkat. Membuat peringatan atau melakukan analisis waktu-nyata dari data ini juga membantu organisasi memantau layanan mereka dengan lebih proaktif.

Pelajari bagaimana Anda dapat menggunakan Amazon CloudWatch untuk memantau metrik dan log infrastruktur Anda »

Pelajari bagaimana Anda menggunakan AWS CloudTrail untuk merekam dan membuat log panggilan API AWS »


Komunikasi dan Kolaborasi

Komunikasi dan kolaborasi yang meningkat di sebuah organisasi merupakan salah satu kunci aspek budaya dari DevOps. Penggunaan peralatan DevOps dan automasi proses pengantaran software membentuk kolaborasi dengan membuat kebersamaan secara fisik dalam alur kerja dan kewajiban pengembangan dan pengoperasian. Selain itu, tim tersebut membuat norma budaya yang kuat di sekitar pembagian informasi dan memfasilitasi komunikasi melalui penggunaan aplikasi obrolan, sistem pelacakan masalah atau proyek, dan wiki. Ini membantu mempercepat komunikasi lintas pengembang, pengoperasian, dan bahkan tim lain seperti pemasaran atau penjualan, yang memungkinkan semua bagian organisasi lebih menyatu dalam hal tujuan dan proyek.

Model DevOps bergantung pada peralatan yang efektif untuk membantu tim meluncurkan dengan cepat dan andal, serta berinovasi untuk pelanggan. Peralatan ini mengautomasi tugas manual, membantu tim mengelola lingkungan yang kompleks pada skalanya, dan menjaga teknisi tetap memegang kendali dari kecepatan tinggi yang difasilitasi oleh DevOps. AWS memberikan layanan yang dirancang untuk DevOps dan yang dibuat utamanya untuk penggunaan dengan AWS Cloud. Layanan ini membantu Anda melakukan praktik DevOps yang dijelaskan di atas.

Pelajari tentang layanan DevOps AWS »

Pelajari tentang solusi mitra AWS »