DevOps Guide pikeun Beginners

Naon pentingna DevOps, naon hartosna pikeun profésional IT, pedaran metode, kerangka sareng alat.

DevOps Guide pikeun Beginners

Seueur anu kajantenan ti saprak istilah DevOps dilaksanakeun di dunya IT. Kalayan seueur sumber terbuka ékosistem, penting pikeun nimbang-nimbang deui naha éta dimimitian sareng naon hartosna pikeun karir di IT.

Naon DevOps

Sanaos henteu aya definisi tunggal, kuring yakin yén DevOps mangrupikeun kerangka téknologi anu ngamungkinkeun kolaborasi antara tim pamekaran sareng operasi pikeun nyebarkeun kode langkung gancang kana lingkungan produksi kalayan kamampuan pikeun ngulang sareng ngajadikeun otomatis. Kami bakal nyéépkeun sesa tulisan ieu pikeun ngabongkar klaim ieu.

Kecap "DevOps" mangrupakeun kombinasi tina kecap "pangwangunan" jeung "operasi". DevOps ngabantosan ningkatkeun kagancangan pangiriman aplikasi sareng jasa. Hal ieu ngamungkinkeun organisasi pikeun sacara efektif ngalayanan konsuménna sareng janten langkung kompetitif di pasar. Kantun nempatkeun, DevOps mangrupikeun alignment antara pamekaran sareng operasi IT kalayan komunikasi sareng kolaborasi anu langkung efektif.

DevOps ngalibatkeun budaya dimana kolaborasi antara pamekaran, operasi, sareng tim bisnis dianggap kritis. Henteu ngan ukur ngeunaan alat, sabab DevOps dina hiji organisasi ogé nguntungkeun para nasabah ogé. Alat mangrupikeun salah sahiji pilar na, sareng jalma sareng prosés. DevOps ningkatkeun kamampuan organisasi pikeun nganteurkeun solusi anu kualitas luhur dina waktos anu paling pondok. DevOps ogé ngajadikeun otomatis sadaya prosés, ti ngawangun ka panyebaran, aplikasi atanapi produk.

Diskusi DevOps museurkeun kana hubungan antara pamekar, jalma anu nyerat software pikeun hirup, sareng operator anu tanggung jawab pikeun ngajaga parangkat lunak éta.

Tantangan pikeun tim pamekaran

Pamekar condong jadi sumanget jeung hayang pisan nerapkeun pendekatan anyar jeung téknologi pikeun ngajawab masalah organisasi. Nanging, aranjeunna ogé nyanghareupan sababaraha masalah:

  • Pasar kompetitif nyiptakeun seueur tekanan pikeun nganteurkeun produk dina waktosna.
  • Maranéhanana kudu ngurus ngatur kode produksi-siap jeung ngenalkeun fitur anyar.
  • Siklus pelepasan tiasa panjang, janten tim pamekar kedah ngadamel sababaraha asumsi sateuacan nerapkeun aplikasi. Dina skénario ieu, langkung seueur waktos diperyogikeun pikeun ngabéréskeun masalah anu timbul nalika panyebaran ka lingkungan produksi atanapi uji.

Tantangan anu disanghareupan ku tim operasi

Tim operasi sajarahna museurkeun kana stabilitas sareng reliabilitas jasa IT. Éta sababna tim operasi milarian stabilitas ngaliwatan parobahan sumber daya, téknologi, atanapi pendekatan. tugas maranéhna ngawengku:

  • Atur alokasi sumberdaya nalika paménta ningkat.
  • Nanganan parobahan desain atawa kustomisasi diperlukeun pikeun pamakéan di lingkungan produksi.
  • Diagnosis sareng ngabéréskeun masalah produksi saatos nyebarkeun aplikasi diri.

Kumaha DevOps ngarengsekeun masalah pangwangunan sareng operasi

Gantina ngagulung sajumlah ageung fitur aplikasi sakaligus, perusahaan nyobian ningali naha aranjeunna tiasa ngaluncurkeun sajumlah leutik fitur ka konsuménna ngalangkungan séri séri sékrési. Pendekatan ieu ngagaduhan sababaraha kaunggulan, sapertos kualitas parangkat lunak anu langkung saé, tanggapan palanggan anu langkung gancang, jsb. Ieu, kahareupna ensures kapuasan customer tinggi. Pikeun ngahontal tujuan ieu, perusahaan diwajibkeun:

  • Ngurangan tingkat gagalna nalika ngaleupaskeun rilis énggal
  • Ningkatkeun frékuénsi deployment
  • Ngahontal waktos rata-rata anu langkung gancang pikeun pamulihan upami aya pelepasan aplikasi énggal.
  • Ngurangan waktu pikeun koréksi

DevOps ngalaksanakeun sadaya pancén ieu sareng ngabantosan pangiriman anu teu kaganggu. Organisasi ngagunakeun DevOps pikeun ngahontal tingkat produktivitas anu teu kabayang ngan sababaraha taun ka pengker. Aranjeunna ngalaksanakeun puluhan, ratusan, malah rébuan panyebaran per dinten bari nganteurkeun reliabiliti, stabilitas, sareng kaamanan kelas dunya. (Leres langkung seueur ngeunaan ukuran lot sareng pangaruhna kana pangiriman parangkat lunak).

DevOps nyobian ngabéréskeun sagala rupa masalah anu disababkeun ku metodologi anu baheula, kalebet:

  • Isolasi gawé antara ngembangkeun sarta tim operasi
  • Tés sareng panyebaran mangrupikeun fase anu misah anu lumangsung saatos desain sareng ngawangun sareng ngabutuhkeun langkung waktos tibatan siklus ngawangun.
  • waktos kaleuleuwihan spent nguji, deploying, sarta ngarancang tinimbang fokus dina ngawangun jasa bisnis inti
  • deployment kode manual ngarah kana kasalahan dina produksi
  • Béda dina jadwal tim pamekaran sareng operasi nyababkeun telat tambahan

DevOps Guide pikeun Beginners

Konfrontasi antara DevOps, Agile sareng IT tradisional

DevOps sering dibahas dina hubungan prakték IT anu sanés, khususna Agile sareng Curug IT.

Agile mangrupikeun sakumpulan prinsip, nilai, sareng prakték pikeun produksi software. Janten, contona, upami anjeun gaduh ide anu anjeun hoyong ngarobih kana parangkat lunak, anjeun tiasa nganggo prinsip sareng nilai Agile. Tapi software ieu ngan bisa dijalankeun dina ngembangkeun atawa lingkungan nguji. Anjeun peryogi cara anu saderhana sareng aman pikeun ngalihkeun parangkat lunak anjeun kana produksi gancang sareng terus-terusan, sareng jalanna ngalangkungan alat sareng téknik DevOps. Pangwangunan parangkat lunak tangkas museurkeun kana prosés pamekaran sareng DevOps tanggung jawab pikeun pamekaran sareng panyebaran dina cara anu paling aman sareng paling dipercaya.

Ngabandingkeun modél curug tradisional sareng DevOps mangrupikeun cara anu saé pikeun ngartos mangpaat anu di bawa ku DevOps. Conto di handap ieu nganggap yén aplikasi bakal hirup dina opat minggu, pangwangunan 85% lengkep, aplikasina bakal langsung, sareng prosés mésér server pikeun ngirim kodeu parantos dimimitian.

Prosés tradisional
Prosés dina DevOps

Saatos nempatkeun pesenan pikeun server énggal, tim pamekaran damel pikeun nguji. Pasukan tugas damel dina dokuméntasi éksténsif anu diperyogikeun ku perusahaan pikeun nyebarkeun infrastruktur.
Sakali pesenan pikeun server anyar disimpen, tim pamekaran sareng operasi gawé bareng dina prosés sareng paperwork pikeun masang server énggal. Ieu ngamungkinkeun anjeun langkung ngartos syarat infrastruktur anjeun.

Inpormasi ngeunaan failover, redundansi, lokasi pusat data, sareng syarat panyimpen disalahartikeun sabab teu aya input ti tim pamekaran anu gaduh pangaweruh domain anu jero.
Rincian ngeunaan failover, redundansi, recovery musibah, lokasi puseur data, sarta sarat gudang dipikawanoh tur bener alatan input ti tim ngembangkeun.

Tim operasi teu boga pamanggih ngeunaan kamajuan tim ngembangkeun urang. Anjeunna ogé ngembangkeun rencana ngawaskeun dumasar kana ideu sorangan.

Tim operasi sadar pinuh ku kamajuan anu dilakukeun ku tim pamekaran. Anjeunna ogé berinteraksi sareng tim pamekaran sareng aranjeunna damel babarengan pikeun ngembangkeun rencana ngawaskeun anu nyumponan kabutuhan IT sareng bisnis. Éta ogé ngagunakeun alat monitoring kinerja aplikasi (APM).

Uji beban anu dilakukeun sateuacan aplikasi diluncurkeun nyababkeun aplikasi nabrak, ngalambatkeun peluncuranna.
Uji beban anu dilakukeun sateuacan ngajalankeun aplikasi nyababkeun kinerja anu goréng. Tim pamekaran gancang ngabéréskeun bottlenecks sareng aplikasi diluncurkeun dina waktosna.

DevOps Lifecycle

DevOps ngalibatkeun nyoko kana prakték anu ditarima sacara umum.

Perencanaan kontinyu

Perencanaan kontinyu ngandelkeun prinsip lean pikeun ngamimitian leutik ku cara ngidentipikasi sumber daya sareng kaluaran anu diperyogikeun pikeun nguji nilai bisnis atanapi visi, terus adaptasi, ngukur kamajuan, diajar tina kabutuhan palanggan, robih arah anu diperyogikeun pikeun nampung agility, sareng reinvent rencana bisnis.

Pangwangunan babarengan

Prosés pamekaran kolaborasi ngamungkinkeun usaha, tim pamekaran, sareng tim uji sumebar ka zona waktos anu béda pikeun terus-terusan nganteurkeun parangkat lunak anu berkualitas. Ieu kalebet pangembangan multi-platform, dukungan pamrograman lintas-basa, nyiptakeun carita pangguna, pamekaran ide, sareng manajemén siklus hirup. Pangwangunan kolaborasi kalebet prosés sareng prakték integrasi kontinyu, anu ngamajukeun integrasi kode anu sering sareng ngawangun otomatis. Ku deploying kode remen ka hiji aplikasi, masalah integrasi diidentipikasi mimiti dina lifecycle nu (lamun aranjeunna gampang pikeun ngalereskeun) jeung usaha integrasi sakabéh diréduksi ngaliwatan eupan balik kontinyu salaku proyék nembongkeun kamajuan kontinyu sarta katempo.

Tes kontinyu

Uji coba anu terus-terusan ngirangan biaya tés ku ngabantosan tim pangembangan nyaimbangkeun kagancangan sareng kualitas. Éta ogé ngaleungitkeun bottlenecks tés ngaliwatan virtualisasi jasa sareng ngagampangkeun nyiptakeun lingkungan tés virtualisasi anu tiasa gampang dibagikeun, disebarkeun, sareng diropéa nalika sistem robih. Kamampuhan ieu ngirangan biaya nyayogikeun sareng ngajaga lingkungan tés sareng nyepetkeun waktos siklus tés, ngamungkinkeun tés integrasi lumangsung sateuacanna dina siklus kahirupan.

Pelepasan sareng panyebaran kontinyu

Téhnik ieu nyangking prakték inti: sékrési kontinyu sareng panyebaran. Ieu dipastikeun ku pipa kontinyu anu ngajadikeun otomatis prosés konci. Éta ngirangan léngkah manual, waktos ngantosan sumberdaya, sareng ngerjakeun deui ku cara ngaktipkeun panyebaran dina pencét tombol, nyababkeun langkung seueur pelepasan, langkung sakedik kasalahan, sareng transparansi lengkep.

Automasi maénkeun peran konci dina mastikeun sékrési software anu stabil sareng dipercaya. Salah sahiji tantangan pangbadagna nyaéta nyandak prosés manual sapertos ngawangun, régrési, panyebaran sareng nyiptakeun infrastruktur sareng ngajadikeun otomatis. Ieu merlukeun kontrol versi kode sumber; nguji sarta deployment skenario; infrastruktur sareng data konfigurasi aplikasi; jeung perpustakaan jeung bungkusan nu aplikasi gumantung kana. Faktor penting séjén nyaéta kamampuan pikeun naroskeun kaayaan sadaya lingkungan.

Ngawaskeun kontinyu

Pemantauan kontinyu nyayogikeun laporan kelas perusahaan anu ngabantosan tim pamekaran ngartos kasadiaan sareng kinerja aplikasi dina lingkungan produksi sateuacan aranjeunna dikaluarkeun ka produksi. Eupan balik awal anu disayogikeun ku ngawaskeun kontinyu penting pisan pikeun ngirangan biaya kasalahan sareng setir proyék dina arah anu leres. Prakték ieu sering kalebet alat ngawaskeun anu biasana ngungkabkeun métrik anu aya hubunganana sareng kinerja aplikasi.

eupan balik konstanta sarta optimasi

Eupan balik kontinyu sarta optimasi nyadiakeun ngagambarkeun visual ngeunaan aliran customer sarta pinpoint wewengkon masalah. Eupan balik tiasa dilebetkeun dina tahapan sateuacan sareng saatos penjualan pikeun maksimalkeun nilai sareng mastikeun langkung seueur transaksi anu suksés. Sadaya ieu nyayogikeun visualisasi langsung tina akar masalah palanggan anu mangaruhan paripolah sareng dampak bisnisna.

DevOps Guide pikeun Beginners

Kauntungannana DevOps

DevOps tiasa ngabantosan nyiptakeun lingkungan dimana pamekar sareng operasi damel salaku tim pikeun ngahontal tujuan umum. Tonggak penting dina prosés ieu nyaéta palaksanaan integrasi kontinyu sareng pangiriman kontinyu (CI / CD). Téhnik ieu bakal ngamungkinkeun tim kéngingkeun parangkat lunak ka pasar langkung gancang kalayan langkung seueur bug.

Mangpaat penting tina DevOps nyaéta:

  • Predictability: DevOps nawiskeun tingkat kagagalan anu langkung handap pikeun rilis énggal.
  • Maintainability: DevOps ngamungkinkeun pikeun recovery gampang lamun release anyar gagal atawa hiji aplikasi turun.
  • Reproducibility: Kontrol Vérsi tina hiji wangunan atawa kode ngidinan Anjeun pikeun mulangkeun versi saméméhna sakumaha diperlukeun.
  • Kualitas Luhur: Ngatasi masalah infrastruktur ningkatkeun kualitas pangembangan aplikasi.
  • Waktos ka Pasar: Ngaoptimalkeun pangiriman parangkat lunak ngirangan waktos ka pasar ku 50%.
  • Réduksi Résiko: Nerapkeun kaamanan dina daur hirup parangkat lunak ngirangan jumlah cacad sapanjang siklus hirup.
  • Cost Efficiency: The ngungudag efisiensi ongkos dina ngembangkeun software banding ka manajemén senior.
  • Stabilitas: Sistem parangkat lunak langkung stabil, aman, sareng parobihan tiasa diaudit.
  • Ngarobih basis kode anu langkung ageung kana potongan anu tiasa diurus: DevOps didasarkeun kana metode pangembangan anu lincah, anu ngamungkinkeun anjeun ngarobih basis kode anu ageung janten potongan anu langkung alit, tiasa diurus.

Prinsip DevOps

Nyoko kana DevOps nimbulkeun sababaraha prinsip anu parantos mekar (sareng terus mekar). Kaseueuran panyadia solusi parantos ngembangkeun modifikasi sorangan tina sababaraha téknik. Sadaya prinsip ieu didasarkeun kana pendekatan holistik pikeun DevOps, sareng organisasi ukuran naon waé tiasa ngagunakeunana.

Ngembangkeun sareng uji dina lingkungan sapertos produksi

Gagasanna nyaéta pikeun ngaktipkeun tim pamekaran sareng jaminan kualitas (QA) pikeun ngembangkeun sareng nguji sistem anu kalakuanana sapertos sistem produksi supados aranjeunna tiasa ningali kumaha aplikasina kalakuan sareng ngalaksanakeun jauh sateuacan siap pikeun disebarkeun.

Aplikasina kedah dihubungkeun ka sistem produksi pas-gancang dina siklus hirupna pikeun ngatasi tilu masalah poténsial utama. Anu mimiti, éta ngamungkinkeun anjeun pikeun nguji aplikasi dina lingkungan anu caket sareng lingkungan nyata. Kadua, éta ngamungkinkeun anjeun pikeun nguji sareng ngonfirmasi prosés pangiriman aplikasi sateuacanna. Katilu, éta ngamungkinkeun tim operasi pikeun nguji awal dina siklus kahirupan kumaha lingkunganana bakal kalakuanana nalika aplikasi dikintunkeun, ku kituna ngamungkinkeun aranjeunna nyiptakeun lingkungan anu disaluyukeun pisan sareng aplikasi-centric.

Nyebarkeun kalawan repeatable, prosés dipercaya

Prinsip ieu ngamungkinkeun tim pamekaran sareng operasi pikeun ngadukung prosés pamekaran parangkat lunak anu lincah sapanjang siklus kahirupan parangkat lunak. Automasi penting pikeun nyiptakeun prosés iteratif, dipercaya, sareng tiasa diulang. Ku alatan éta, organisasi kedah nyiptakeun pipa pangiriman anu ngamungkinkeun panyebaran sareng uji kontinyu, otomatis. Panyebaran sering ogé ngamungkinkeun tim pikeun nguji prosés panyebaran, ku kituna ngirangan résiko gagal panyebaran salami siaran langsung.

Ngawaskeun sareng mariksa kualitas padamelan

Organisasi anu saé ngawaskeun aplikasi dina produksi sabab gaduh alat anu nyandak métrik sareng indikator kinerja konci (KPI) sacara real waktos. Prinsip ieu mindahkeun ngawaskeun mimiti dina siklus kahirupan, mastikeun yén tés otomatis ngawaskeun atribut fungsional sareng non-fungsi tina hiji aplikasi dina awal prosés. Iraha waé aplikasi diuji sareng disebarkeun, métrik kualitas kedah ditaliti sareng dianalisis. Alat ngawaskeun masihan peringatan awal ngeunaan masalah operasional sareng kualitas anu tiasa timbul nalika produksi. Indikator ieu kedah dikumpulkeun dina format anu tiasa diaksés sareng kaharti ku sadaya pamangku kapentingan.

Ngaronjatkeun Eupan Balik Loops

Salah sahiji tujuan prosés DevOps nyaéta pikeun ngaktifkeun organisasi pikeun ngaréspon sareng ngadamel parobihan langkung gancang. Dina pangiriman software, tujuan ieu merlukeun organisasi pikeun nampa eupan balik awal lajeng gancang diajar tina unggal aksi nu dilaksanakeun. Prinsip ieu ngabutuhkeun organisasi pikeun nyiptakeun saluran komunikasi anu ngamungkinkeun para pamangku kapentingan ngaksés sareng berinteraksi dina cara eupan balik. Pangwangunan tiasa dilakukeun ku cara nyaluyukeun rencana atanapi prioritas proyék anjeun. Manufaktur bisa meta ku ngaronjatkeun lingkungan produksi.

Dev

  • Perencanaan: Kanboard, Wekan jeung alternatif Trello séjén; GitLab, Tuleap, Redmine sareng alternatif JIRA anu sanés; Mattermost, Roit.im, IRC sareng alternatif Slack anu sanés.
  • Kode tulisan: Git, Gerrit, Bugzilla; Jenkins sareng alat open source séjén pikeun CI / CD
  • Majelis: Apache Maven, Gradle, Apache Ant, Packer
  • Tés: JUnit, Timun, Selenium, Apache JMeter

Ops

  • Pelepasan, Panyebaran, Operasi: Kubernetes, Nomad, Jenkins, Zuul, Spinnaker, Ansible, Apache ZooKeeper, jsb, Netflix Archaius, Terraform
  • Ngawaskeun: Grafana, Prometheus, Nagios, InfluxDB, Fluentd, sareng anu sanésna katutupan dina pituduh ieu

(* Parabot operasi geus dinomeran dina urutan pamakean ku tim operasi, tapi parabot maranéhanana tumpang tindih jeung tahap lifecycle alat release jeung deployment. Pikeun betah dibaca, panomeran geus dihapus.)

dina kacindekan

DevOps mangrupikeun metodologi anu beuki populer anu tujuanana pikeun ngahijikeun pamekar sareng operasi salaku hiji unit. Éta unik, béda ti operasi IT tradisional, sareng ngalengkepan Agile (tapi henteu fleksibel).

DevOps Guide pikeun Beginners

Pilarian detil ngeunaan kumaha carana kéngingkeun profési anu dipilarian ti mimiti atanapi Level Up dina hal kaahlian sareng gaji ku cara nyandak kursus online anu dibayar ti SkillFactory:

kursus langkung

Baguna

sumber: www.habr.com

Tambahkeun komentar