Integrasi Berkelanjutan dan Pengiriman Berkelanjutan (Membangun Real-World Cloud Apps dengan Azure)
oleh Rick Anderson, Tom Dykstra
Unduh Fix It Project atau Unduh E-book
E-book Building Real World Cloud Apps dengan Azure didasarkan pada presentasi yang dikembangkan oleh Scott Guthrie. Ini menjelaskan 13 pola dan praktik yang dapat membantu Anda berhasil mengembangkan aplikasi web untuk cloud. Untuk informasi tentang e-book, lihat bab pertama.
Dua pola proses pengembangan pertama yang direkomendasikan adalah Mengotomatiskan Semuanya dan Kontrol Sumber, dan pola proses ketiga menggabungkannya. Integrasi berkelanjutan (CI) berarti bahwa setiap kali pengembang memeriksa kode ke repositori sumber, build secara otomatis dipicu. Pengiriman berkelanjutan (CD) melangkah lebih jauh: setelah pengujian unit build dan otomatis berhasil, Anda secara otomatis menyebarkan aplikasi ke lingkungan tempat Anda dapat melakukan pengujian yang lebih mendalam.
Cloud memungkinkan Anda meminimalkan biaya pemeliharaan lingkungan pengujian karena Anda hanya membayar sumber daya lingkungan selama Anda menggunakannya. Proses CD Anda dapat mengatur lingkungan pengujian saat Anda membutuhkannya, dan Anda dapat menurunkan lingkungan saat Anda selesai menguji.
Alur kerja Integrasi Berkelanjutan dan Pengiriman Berkelanjutan
Umumnya kami menyarankan agar Anda melakukan pengiriman berkelanjutan ke lingkungan pengembangan dan penahapan Anda. Sebagian besar tim, bahkan di Microsoft, memerlukan proses peninjauan dan persetujuan manual untuk penyebaran produksi. Untuk penyebaran produksi, Anda mungkin ingin memastikan hal itu terjadi ketika orang-orang kunci di tim pengembangan tersedia untuk dukungan, atau selama periode lalu lintas rendah. Tetapi tidak ada yang mencegah Anda mengotomatiskan lingkungan pengembangan dan pengujian sepenuhnya sehingga yang harus dilakukan pengembang adalah memeriksa perubahan dan lingkungan disiapkan untuk pengujian penerimaan.
Diagram berikut dari e-book Pola dan Praktik Microsoft tentang pengiriman berkelanjutan mengilustrasikan alur kerja umum. Klik gambar untuk melihatnya ukuran penuh dalam konteks aslinya.
Bagaimana cloud memungkinkan CI dan CD hemat biaya
Mengotomatiskan proses ini di Azure itu mudah. Karena Anda menjalankan semua yang ada di cloud, Anda tidak perlu membeli atau mengelola server untuk build atau lingkungan pengujian Anda. Dan Anda tidak perlu menunggu server tersedia untuk melakukan pengujian Anda. Dengan setiap build yang Anda lakukan, Anda dapat memutar lingkungan pengujian di Azure menggunakan skrip otomatisasi Anda, menjalankan pengujian penerimaan atau pengujian mendalam terhadapnya, dan kemudian ketika Anda selesai hanya merobeknya. Dan jika Anda hanya menjalankan server itu selama 2 jam atau 8 jam atau sehari, jumlah uang yang harus Anda bayar minimal, karena Anda hanya membayar untuk waktu mesin benar-benar berjalan. Misalnya, lingkungan yang diperlukan untuk aplikasi Fix it pada dasarnya dikenakan biaya sekitar 1 persen per jam jika Anda naik satu tingkat dari tingkat gratis. Selama sebulan, jika Anda hanya menjalankan lingkungan satu jam pada satu waktu, lingkungan pengujian Anda mungkin akan dikenakan biaya kurang dari latte yang Anda beli di Starbucks.
Azure DevOps Services
Layanan Azure DevOps menyediakan sejumlah fitur untuk membantu Anda dalam pengembangan aplikasi dari perencanaan hingga penyebaran.
- Ini mendukung kontrol sumber Git (terdistribusi) dan TFVC (terpusat).
- Ini menawarkan layanan build elastis, yang berarti secara dinamis membuat server build ketika diperlukan dan menurunkannya ketika selesai. Anda dapat secara otomatis memulai build saat seseorang memeriksa perubahan kode sumber, dan Anda tidak perlu mengalokasikan dan membayar server build Anda sendiri yang hampir setiap saat menganggur. Layanan build gratis selama Anda tidak melebihi jumlah build tertentu. Jika Anda berharap untuk melakukan build dalam volume tinggi, Anda dapat membayar sedikit tambahan untuk server build yang dipesan.
- Ini mendukung pengiriman berkelanjutan ke Azure.
- Ini mendukung pengujian beban otomatis. Pengujian beban sangat penting untuk aplikasi cloud tetapi sering diabaikan sampai terlambat. Pengujian beban mensimulasikan penggunaan aplikasi yang berat oleh ribuan pengguna, memungkinkan Anda menemukan hambatan dan meningkatkan throughput —sebelum Anda merilis aplikasi ke produksi.
- Ini mendukung kolaborasi ruang tim, yang memfasilitasi komunikasi dan kolaborasi real-time untuk tim kecil yang tangkas.
- Ini mendukung manajemen proyek yang tangkas.
Untuk informasi selengkapnya tentang fitur integrasi dan pengiriman berkelanjutan dari Layanan Azure DevOps, lihat dokumentasi Azure DevOps.
Jika Anda mencari manajemen proyek turn-key, kolaborasi tim, dan solusi kontrol sumber, lihat Azure DevOps Services. Mendaftar di Layanan Azure DevOps.
Ringkasan
Tiga pola pengembangan cloud pertama adalah tentang cara menerapkan proses pengembangan yang dapat diulang, andal, dan dapat diprediksi dengan waktu siklus rendah. Pada bab berikutnya kita mulai melihat pola arsitektur dan pengkodian.
Sumber
Untuk informasi selengkapnya, lihat Menyebarkan aplikasi web di Azure App Service.
Lihat juga sumber daya berikut ini:
- Membangun Alur Rilis dengan Team Foundation Server 2012. E-book, lab langsung, dan kode sampel oleh Microsoft Patterns and Practices, memberikan pengenalan mendalam tentang pengiriman berkelanjutan. Mencakup penggunaan Visual Studio Lab Management dan Visual Studio Release Management.
- Alat dan Panduan ALM Rangers DevOps. ALM Rangers memperkenalkan solusi pendamping sampel DevOps Workbench dan panduan praktis bekerja sama dengan buku Pola & Praktik Membangun Alur Rilis dengan TFS 2012, sebagai cara yang bagus untuk mulai mempelajari konsep DevOps & Release Management untuk TFS 2012 dan untuk menendang ban. Panduan menunjukkan cara membangun sekali dan menyebarkan ke beberapa lingkungan.
- Pengujian untuk Pengiriman Berkelanjutan dengan Visual Studio 2012. E-book oleh Microsoft Patterns and Practices, menjelaskan cara mengintegrasikan pengujian otomatis dengan pengiriman berkelanjutan.
- WindowsAzureDeploymentTracker. Kode sumber untuk alat yang dirancang untuk mengambil build dari TFS (berdasarkan label), membangunnya, mengemasnya, memungkinkan seseorang dalam peran DevOps untuk mengonfigurasi aspek tertentu darinya, dan mendorongnya ke Azure. Alat ini melacak proses penyebaran untuk memungkinkan operasi "digulung balik" ke versi yang disebarkan sebelumnya. Alat ini tidak memiliki dependensi eksternal dan dapat berfungsi sendiri menggunakan API TFS dan Azure SDK.
- Pengiriman Berkelanjutan: Rilis Perangkat Lunak yang Andal melalui Build, Pengujian, dan Otomatisasi Penyebaran. Buku oleh Jez Humble.
- Lepaskan! Merancang dan Menyebarkan Perangkat Lunak Production-Ready. Buku oleh Michael T. Nygard.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk