Sekiranya anda berada dalam industri IT maka anda mungkin pernah mendengar salah satu kata kunci yang paling popular yang disebut DevOps. Sekiranya anda ingin meneruskan kerjaya di DevOps, sudah tentu bermanfaat dan bermanfaat untuk mencuba . Sebelum kita melangkah lebih jauh, saya akan mencadangkan anda untuk membaca blog berikut:
10 sebab teratas untuk mempelajari DevOps
Sebilangan besar syarikat IT telah menggunakan DevOps sebagai jalan maju. Oleh itu, dalam blog ini, saya akan membincangkan apa sebenarnya DevOps dan perkara-perkara yang akan saya bahas adalah seperti berikut:
Apa itu DevOps?
Istilah DevOps adalah gabungan dua perkataan iaitu Pembangunan dan Operasi. DevOps adalah latihan yang membolehkan satu pasukan menguruskan keseluruhan kitaran hidup pengembangan aplikasi, iaitu pengembangan, pengujian, penyebaran, dan pemantauan.
Matlamat utama DevOps adalah untuk mengurangkan tempoh kitaran hidup pembangunan sistem sambil memberikan ciri, pembaikan, dan kemas kini secara kerap dalam penyegerakan rapat dengan objektif perniagaan.
DevOps adalah pendekatan pengembangan perisian dengan bantuan yang mana anda dapat mengembangkan perisian berkualiti tinggi dengan cepat dan lebih dipercayai. Ia terdiri daripada pelbagai peringkat seperti pengembangan berterusan, integrasi berterusan, pengujian berterusan, penyebaran berterusan, dan pemantauan berterusan.
Oleh itu kerana apa itu DevOps, mari kita lihat sejarah DevOps.
Sejarah DevOps
Sebelum DevOps, Kami mempunyai dua pendekatan untuk pengembangan perisian iaitu Air Terjun dan Agile.
Model Air Terjun
Model waterfall adalah model pengembangan perisian yang cukup lurus ke depan dan linear. Model ini mengikuti pendekatan top-down.
Model ini mempunyai pelbagai permulaan Pengumpulan dan analisis keperluan . Ini adalah fasa di mana anda mendapat syarat dari klien untuk mengembangkan aplikasi. Selepas ini, anda cuba menganalisis keperluan ini.
Fasa seterusnya adalah Reka bentuk fasa di mana anda menyediakan rangka tindakan perisian. Di sini, anda memikirkan bagaimana sebenarnya perisian itu akan kelihatan.
Setelah reka bentuk siap, anda bergerak lebih jauh dengan Pelaksanaan fasa di mana anda memulakan dengan pengekodan untuk aplikasi. Pasukan pembangun bekerjasama dalam pelbagai komponen aplikasi.
Setelah anda menyelesaikan pembangunan aplikasi, anda mengujinya di Pengesahan fasa. Terdapat pelbagai ujian yang dilakukan pada aplikasi seperti pengujian unit, pengujian integrasi, ujian prestasi, dll.
Setelah semua ujian pada aplikasi selesai, aplikasi tersebut akan diterapkan ke pelayan produksi.
Akhirnya, datang Penyelenggaraan fasa. Pada fasa ini, aplikasi dipantau untuk prestasi. Segala masalah yang berkaitan dengan prestasi aplikasi diselesaikan dalam fasa ini.
Kelebihan Model Air Terjun:
Mudah difahami dan digunakan
Membolehkan ujian dan analisis mudah
Menjimatkan sejumlah masa dan wang
Baik untuk projek kecil sekiranya semua keperluan dinyatakan dengan jelas
Membolehkan kawalan jabatan & pengurusan
Kelemahan Model Air Terjun:
Berisiko dan tidak pasti
iteratif fibonacci c ++
Kurang penglihatan kemajuan semasa
Tidak sesuai apabila keperluan terus berubah
Sukar membuat perubahan pada produk ketika berada dalam fasa pengujian
Produk akhir hanya tersedia pada akhir kitaran
Tidak sesuai untuk projek besar dan kompleks
Metodologi tangkas
Metodologi Agile adalah pendekatan pengembangan perisian berdasarkan iteratif di mana projek perisian dipecah menjadi pelbagai lelaran atau pecut. Setiap lelaran mempunyai fasa seperti model air terjun seperti Pengumpulan Keperluan, Reka Bentuk, Pembangunan, Pengujian, dan Penyelenggaraan. Tempoh setiap lelaran biasanya 2-8 minggu.
Proses tangkas
Di Agile, sebuah syarikat melepaskan aplikasi dengan beberapa ciri keutamaan tinggi dalam lelaran pertama.
Setelah dilancarkan, pengguna akhir atau pelanggan memberi anda maklum balas mengenai prestasi aplikasi.
Kemudian anda membuat perubahan yang diperlukan ke dalam aplikasi bersama dengan beberapa ciri baru dan aplikasinya dilancarkan sekali lagi yang merupakan lelaran kedua.
Anda mengulangi keseluruhan prosedur ini sehingga anda mencapai kualiti perisian yang diinginkan.
Kelebihan Model Agile
Ini secara adaptif bertindak balas terhadap perubahan keperluan dengan baik
Memperbaiki kesilapan pada awal proses pembangunan menjadikan proses ini lebih menjimatkan
Meningkatkan kualiti produk dan menjadikannya sangat bebas ralat
Membolehkan komunikasi langsung antara orang yang terlibat dalam projek perisian
Sangat sesuai untuk projek besar & jangka panjang
Keperluan sumber minimum & sangat mudah diuruskan
Kekurangan Model tangkas
Sangat bergantung pada keperluan pelanggan yang jelas
Cukup sukar untuk meramalkan masa dan usaha untuk projek yang lebih besar
Tidak sesuai untuk projek yang kompleks
Kekurangan kecekapan dokumentasi
Risiko penyelenggaraan meningkat
Sekarang mari kita teruskan dan membincangkan tahap dan alat DevOps.
Peringkat dan Alat DevOps
Seperti disebutkan sebelumnya, berbagai tahap seperti pengembangan berterusan, integrasi berterusan, pengujian berterusan, penerapan berterusan, dan pemantauan berterusan merupakan kitaran Hidup DevOps. Sekarang mari kita lihat setiap peringkat kitaran hidup DevOps satu demi satu.
penyambungan pangkalan data di java dengan mysql
Tahap - 1: Pembangunan Berterusan
Alat yang Digunakan: Git, SVN, Mercurial, CVS
Aliran Proses:
Ini adalah fasa yang melibatkan 'perancangan' dan 'pengekodan' perisian. Anda memutuskan visi projek semasa fasa perancangan dan pembangun mula mengembangkan kod aplikasi.
Tidak ada Alat DevOps yang diperlukan untuk merancang, tetapi ada sejumlah alat untuk mengekalkan kod tersebut.
Kodnya boleh dalam bahasa apa pun, tetapi anda tetap menggunakannya dengan menggunakan alat Kawalan Versi. Proses pemeliharaan kod ini dikenali sebagai Source Code Management.
Setelah kod dikembangkan, maka anda beralih ke fasa Integrasi Berterusan.
Tahap - 2: Integrasi Berterusan
Alatan: Jenkins, TeamCity, Travis
Aliran Proses:
Tahap ini adalah inti dari keseluruhan kitaran hidup DevOps. Ini adalah amalan di mana pemaju memerlukan perubahan pada kod sumber dengan lebih kerap. Ini mungkin berlaku setiap hari atau mingguan.
Anda kemudian membina setiap komitmen dan ini memungkinkan pengesanan awal masalah jika masalah tersebut ada. Membina kod tidak hanya melibatkan penyusunan tetapi juga merangkumi tinjauan kod, pengujian unit, ujian integrasi, dan pembungkusan.
Kod yang menyokong fungsi baru adalah dengan kod yang ada. Oleh kerana terdapat pengembangan perisian yang berterusan, anda perlu menggabungkan kod yang dikemas kini secara berterusan dan lancar dengan sistem untuk mencerminkan perubahan kepada pengguna akhir.
- Pada tahap ini, anda menggunakan alat untuk membina / mengemas kod ke dalam file yang dapat dieksekusi sehingga anda dapat meneruskannya ke fasa berikutnya.
Tahap - 3: Ujian Berterusan
Alatan: Jenkins, Selenium TestNG, JUnit
Aliran Proses:
Ini adalah tahap di mana anda menguji perisian yang dikembangkan secara berterusan untuk bug menggunakan alat ujian automasi. Alat ini membolehkan QA menguji beberapa asas kod secara menyeluruh untuk memastikan bahawa tidak ada kekurangan dalam fungsi. Pada fasa ini, anda boleh menggunakan Docker Containers untuk mensimulasikan persekitaran ujian.
Selenium digunakan untuk pengujian automasi, dan laporan dihasilkan oleh UjianNG . Anda boleh mengautomasikan keseluruhan fasa pengujian ini dengan bantuan alat Integrasi Berterusan yang disebut Jenkins.
Katakan anda telah menulis kod selenium di Java untuk menguji aplikasi anda. Sekarang anda boleh membina kod ini menggunakan semut atau maven. Setelah membina kod, anda kemudian mengujinya untuk Uji Penerimaan Pengguna (UAT). Keseluruhan proses ini dapat digunakan secara automatik Jenkins .
Tahap - 4: Penyebaran Berterusan
Alat yang Digunakan:
Pengurusan Konfigurasi - Chef, Boneka, Ansible
Kontainerisasi - Docker, Vagrant
Aliran Proses:
- Ini adalah tahap di mana anda menggunakan kod pada pelayan pengeluaran. Juga penting untuk memastikan bahawa anda menggunakan kod dengan betul di semua pelayan. Sebelum meneruskan, mari kita cuba memahami beberapa perkara mengenai pengurusan Konfigurasi dan Alat kontena . Kumpulan alat ini di sini membantu dalam mencapai Penerapan Berterusan (CD).
Pengurusan Konfigurasi adalah tindakan mewujudkan dan mengekalkan konsistensi dalam keperluan dan prestasi fungsi aplikasi. Biarkan saya memasukkannya dengan kata-kata yang lebih mudah, ini adalah tindakan melepaskan penyebaran ke pelayan, menjadualkan kemas kini pada semua pelayan dan yang paling penting memastikan konfigurasi tetap konsisten di semua pelayan.
Alat kontainerisasi juga memainkan peranan yang sangat penting dalam tahap penyebaran. Alat kontainerasi membantu menghasilkan konsistensi di seluruh Pembangunan, Uji, Pementasan dan juga persekitaran Pengeluaran. Selain itu, mereka juga membantu dalam mempercepat dan menurunkan skala kejadian dengan cepat.
Tahap - 5: Pemantauan berterusan
Alatan yang Digunakan: Splunk, ELK Stack, Nagios, New Relic
Aliran Proses:
- Ini adalah tahap yang sangat kritikal dalam kitaran hidup DevOps di mana anda terus memantau prestasi aplikasi anda. Di sini anda mencatat maklumat penting mengenai penggunaan perisian. Anda kemudian memproses maklumat ini untuk memeriksa fungsi aplikasi yang betul. Anda menyelesaikan ralat sistem seperti memori rendah, pelayan tidak dapat dijangkau, dll dalam fasa ini.
Amalan ini melibatkan penyertaan pasukan Operasi yang akan memantau aktiviti pengguna untuk bug atau tingkah laku sistem yang tidak betul.Alat Pemantauan Berterusan membantu anda memantau prestasi aplikasi dan pelayan secara dekat dan juga membolehkan anda memeriksa kesihatan sistem secara proaktif.
Akhir sekali, kita akan membincangkan siapa sebenarnya Jurutera DevOps.
Siapakah Jurutera DevOps?
DevOps Engineer adalah seseorang yang memahami Kitaran Hidup Pembangunan Perisian dan mempunyai pemahaman langsung mengenai pelbagai alat automasi untuk mengembangkan saluran paip digital (saluran paip CI / CD).
DevOps Engineer bekerjasama dengan pemaju dan kakitangan IT untuk mengawasi pengeluaran kod. Mereka adalah pengembang yang berminat dalam penyebaran dan operasi rangkaian atau sysadmin yang mempunyai minat untuk membuat skrip dan pengkodan dan bergerak ke sisi pengembangan di mana mereka dapat meningkatkan perancangan pengujian dan penerapan.
Jadi itu semua dari pihak saya dalam artikel mengenai Apa itu DevOps. Saya harap anda telah memahami semua perkara yang telah saya bincangkan di sini. Sekiranya anda mempunyai pertanyaan, sila nyatakan di bahagian komen.
Berikut adalah senarai blog yang mungkin menarik bagi anda:
Sekarang anda sudah faham Apa itu DevOps , periksa oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus Latihan Persijilan Edureka DevOps membantu pelajar memahami Apa itu DevOps dan memperoleh kepakaran dalam pelbagai proses dan alat DevOps seperti Boneka, Jenkins, Nagios, Ansible, Chef, Saltstack dan GIT untuk mengautomasikan beberapa langkah dalam SDLC.
Ada soalan untuk kami? Sila sebutkan di bahagian komen dan kami akan menghubungi anda.