.NET Core on Linux Ubuntu, DevOps on horseback

Kami ngembangkeun DevOps sabisa-bisa. Aya 8 urang, sareng Vasya mangrupikeun anu paling keren dina Windows. Ujug-ujug, Vasya angkat, sareng kuring ngagaduhan tugas pikeun ngaluncurkeun proyék énggal anu disayogikeun ku pamekaran Windows. Nalika kuring ngalungkeun sadayana tumpukan pangembangan Windows dina méja, kuring sadar yén kaayaan éta nyeri ...

Ieu kumaha carita dimimitian Alexandra Sinchinova dina DevOpsConf. Nalika spesialis Windows ngarah ninggalkeun pausahaan, Alexander wondered naon anu kudu dipigawé ayeuna. Pindah ka Linux, tangtosna! Alexander bakal nyarioskeun ka anjeun kumaha anjeunna tiasa nyiptakeun precedent sareng mindahkeun bagian tina pamekaran Windows ka Linux nganggo conto proyék réngsé pikeun 100 pangguna akhir.

.NET Core on Linux Ubuntu, DevOps on horseback

Kumaha gampang jeung effortlessly nganteurkeun hiji proyék pikeun RPM maké TFS, Wayang, Linux Ubuntu .NET inti? Kumaha carana ngadukung versi database proyék upami tim pamekaran ngupingkeun kecap Postgres sareng Flyway pertama kalina, sareng watesna nyaéta énjing? Kumaha ngahijikeun sareng Docker? Kumaha carana memotivasi pamekar .NET pikeun abandon Windows jeung smoothies dina ni'mat Wayang jeung Linux Ubuntu? Kumaha cara ngabéréskeun konflik ideologis upami teu aya kakuatan, atanapi kahayang, atanapi sumber daya pikeun ngajaga Windows dina produksi? Ngeunaan ieu, kitu ogé ngeunaan Web Deploy, nguji, CI, ngeunaan prakték ngagunakeun TFS dina proyék-proyék aya, sarta, tangtosna, ngeunaan crutches rusak jeung solusi gawé, dina transkrip tina laporan Alexander.


Janten, Vasya angkat, tugasna ditanggung ku kuring, para pamekar ngantosan teu sabar sareng pitchforks. Nalika kuring tungtungna sadar yén Vasya teu tiasa dipulangkeun, kuring angkat ka bisnis. Pikeun dimimitian ku, kuring ditaksir persentase Win VMs dina armada urang. Skor éta henteu ngadukung Windows.

.NET Core on Linux Ubuntu, DevOps on horseback

Kusabab urang aktip ngembangkeun DevOps, kuring sadar yén aya anu kedah dirobih dina pendekatan pikeun ngirim aplikasi énggal. Aya ngan hiji solusi - lamun mungkin, mindahkeun sagalana ka Linux. Google ngabantosan abdi - dina waktos éta .Net parantos ditransfer ka Linux, sareng kuring sadar yén ieu mangrupikeun solusina!

Naha inti .NET ditéang jeung Linux?

Aya sababaraha alesan pikeun ieu. Antara "mayar duit" jeung "teu mayar", mayoritas bakal milih nu kadua - kawas kuring. Lisensi pikeun MSDB hargana sakitar $1; ngajaga armada mesin virtual Windows hargana ratusan dolar. Pikeun perusahaan ageung ieu mangrupikeun biaya anu ageung. Éta alesanana ngahémat - alesan kahiji. Henteu anu paling penting, tapi salah sahiji anu penting.

Mesin virtual Windows nyandak langkung seueur sumber daya tibatan baraya Linux - aranjeunna beurat. Dibikeun skala perusahaan ageung, kami milih Linux.

Sistim ieu saukur terpadu kana CI aya. Kami nganggap diri kami sorangan DevOps progresif, kami nganggo Bamboo, Jenkins sareng GitLab CI, janten seueur padamelan urang dijalankeun dina Linux.

Alesan panungtungan nyaéta iringan merenah. Urang diperlukeun pikeun nurunkeun halangan pikeun asupna pikeun "pengiring" -the guys anu ngartos bagian teknis, mastikeun layanan uninterrupted, sarta ngajaga jasa ti garis kadua. Aranjeunna parantos akrab sareng tumpukan Linux, janten langkung gampang pikeun aranjeunna ngartos, ngadukung sareng ngajaga produk énggal tibatan nyéépkeun sumber daya tambahan pikeun ngartos fungsionalitas parangkat lunak anu sami pikeun platform Windows.

sarat

Kahiji jeung foremost - genah tina solusi anyar pikeun pamekar. Henteu sakabéh éta siap pikeun robah, utamana sanggeus kecap Linux Ubuntu diucapkeun. Pamekar hoyong Visual Studio favorit maranéhanana, TFS kalawan autotests pikeun rakitan jeung smoothies. Kumaha pangiriman ka produksi lumangsung teu penting pikeun aranjeunna. Ku alatan éta, kami mutuskeun pikeun henteu ngarobih prosés anu biasa sareng ngantepkeun sadayana henteu robih pikeun pangwangunan Windows.

Proyék anyar diperlukeun ngahijikeun kana CI aya. Rel parantos aya sareng sadaya padamelan kedah dilakukeun kalayan ngémutan parameter sistem manajemen konfigurasi, standar pangiriman anu ditampi sareng sistem ngawaskeun.

Gampang pangrojong sareng operasi, salaku syarat pikeun ambang asupna minimum pikeun sakabéh pamilon anyar ti divisi béda jeung departemén rojongan.

Deadline - kamari.

Win Development Grup

Naon anu dianggo ku tim Windows harita?

.NET Core on Linux Ubuntu, DevOps on horseback

Ayeuna kuring yakin tiasa nyarios éta IdentityServer4 mangrupakeun bebas alternatif cool mun ADFS kalawan kamampuhan sarupa, atanapi naon Inti kerangka éntitas - a paradise pikeun pamekar, dimana anjeun teu kudu repot nulis Aksara SQL, tapi ngajelaskeun queries dina database dina istilah OOP. Tapi lajeng, salila sawala ngeunaan rencana aksi, Kuring nempo tumpukan ieu saolah-olah éta Sumerian cuneiform, recognizing ukur PostgreSQL na Git.

Waktu éta kami aktip ngagunakeun Bonéka salaku sistem manajemen konfigurasi. Dina kalolobaan proyék kami kami dipaké GitLab CI, elastis, jasa tinggi-beban saimbang ngagunakeun HAProxy diawaskeun sagalana kalawan Zabbix, ligamén grafana и Prometheus, Hunter, Sarta sakabeh ieu spinning on potongan beusi HPESXi dina VMware. Sadayana terang éta - klasik tina genre.

.NET Core on Linux Ubuntu, DevOps on horseback

Hayu urang tingali sareng cobian ngartos naon anu kajantenan sateuacan urang ngamimitian sadaya intervensi ieu.

Aya naon

TFS nyaéta sistem anu cukup kuat anu henteu ngan ukur ngirimkeun kode tina pamekar ka mesin produksi ahir, tapi ogé ngagaduhan set pikeun integrasi anu fleksibel sareng sababaraha jasa - pikeun nyayogikeun CI dina tingkat cross-platform.

.NET Core on Linux Ubuntu, DevOps on horseback
Saméméhna, ieu jandéla padet. TFS dipaké sababaraha agén Bangun, nu dipaké pikeun ngumpul loba proyék. Unggal agén boga 3-4 pagawe pikeun parallelize tugas jeung ngaoptimalkeun prosés. Teras, dumasar kana rencana pelepasan, TFS ngirimkeun Build anu nembé dipanggang ka server aplikasi Windows.

Naon anu urang hoyong ngahontal?

Urang make TFS pikeun pangiriman tur ngembangkeun, tur ngajalankeun aplikasi dina server Aplikasi Linux Ubuntu, tur aya sababaraha jenis magic antara aranjeunna. Ieu magic Box tur aya uyah gawé payun. Sateuacan kuring misahkeun éta, kuring bakal nyimpang sareng nyarios sababaraha kecap ngeunaan aplikasina.

proyek

Aplikasi nyadiakeun fungsionalitas pikeun nanganan kartu prabayar.

.NET Core on Linux Ubuntu, DevOps on horseback

langganan

Aya dua jinis pangguna. kahiji meunang aksés ku log in maké sertipikat SSL SHA-2. U kadua aya aksés nganggo login sareng kecap akses.

HAProxy

Teras pamenta klien angkat ka HAProxy, anu ngarengsekeun masalah ieu:

  • otorisasi primér;
  • terminasi SSL;
  • tuning pamundut HTTP;
  • pamundut siaran.

Sertipikat klien diverifikasi sapanjang ranté. Urang- wibawa sareng urang tiasa nanggung ieu, sabab urang sorangan ngaluarkeun sertipikat pikeun ngalayanan klien.

Nengetan titik katilu, urang bakal balik deui ka dinya saeutik engké.

Backend

Aranjeunna ngarencanakeun ngadamel backend dina Linux. Backend berinteraksi sareng pangkalan data, ngamuat daptar hak istimewa anu dipikabutuh teras, gumantung kana naon hak istimewa anu diidinan ku pangguna, nyayogikeun aksés pikeun nandatanganan dokumén kauangan sareng ngirimkeunana pikeun dieksekusi, atanapi ngahasilkeun sababaraha jinis laporan.

Tabungan kalawan HAProxy

Sajaba dua konteks nu unggal klien navigated, aya ogé hiji konteks identitas. IdentityServer4 ngan ngidinan Anjeun pikeun log in, ieu téh analog bébas tur kuat pikeun ADFS - Jasa Féderasi Diréktori Aktip.

Paménta identitas diolah dina sababaraha léngkah. Lengkah kahiji- konsumén asup kana tonggong, anu komunikasi sareng server ieu sareng pariksa ayana token pikeun klien. Upami éta henteu kapendak, pamundut éta dipulangkeun deui kana kontéks anu asalna, tapi kalayan alihan, sareng kalayan alihan éta ka jati diri.

Lengkah kadua - pamundut ieu ditampi ka kaca otorisasi dina IdentityServer, dimana klien didaptarkeun, sarta yén token lila-tunggu mucunghul dina database IdentityServer.

Lengkah katilu - klien ieu dialihkeun deui kana kontéks ti mana asalna.

.NET Core on Linux Ubuntu, DevOps on horseback

IdentityServer4 gaduh fitur: eta mulih respon kana pamundut balik via HTTP. Perkara teu sabaraha urang bajoang jeung nyetel server, euweuh urusan sabaraha urang enlightened Sunan Gunung Djati jeung dokuméntasi, unggal waktos urang nampi hiji pamundut klien awal jeung URL nu datang via HTTPS, sarta IdentityServer balik konteks sarua, tapi kalawan HTTP. Urang reuwas! Sarta kami ditransfer sadayana ieu ngaliwatan konteks identitas ka HAProxy, sarta dina headers urang kudu ngaropéa protokol HTTP pikeun HTTPS.

Naon perbaikan sareng dimana anjeun simpen?

Kami ngahémat artos nganggo solusi gratis pikeun otorisasi sakelompok pangguna, sumber daya, sabab kami henteu nempatkeun IdentityServer4 salaku titik anu misah dina bagian anu misah, tapi dianggo babarengan sareng backend dina server anu sami dimana backend aplikasi dijalankeun. .

Kumaha sakuduna jalan

Janten, sakumaha anu dijanjikeun - Magic Box. Kami parantos ngartos yén kami dijamin ngalih ka Linux. Hayu urang ngarumuskeun tugas husus nu merlukeun solusi.

.NET Core on Linux Ubuntu, DevOps on horseback

Wayang golek. Pikeun nganteurkeun sareng ngatur jasa sareng konfigurasi aplikasi, resep anu keren kedah ditulis. Gulungan pensil eloquently nembongkeun kumaha gancang jeung éfisién éta dipigawé.

Métode pangiriman. Standarna nyaéta RPM. Sarerea understands yén dina Linux Ubuntu anjeun teu bisa ngalakukeun tanpa eta, tapi proyék sorangan, sanggeus assembly, éta susunan file DLL laksana. Aya ngeunaan 150 di antarana, proyék ieu rada hese. Hiji-hijina solusi anu harmoni nyaéta ngarangkep binér ieu kana RPM sareng nyebarkeun aplikasi ti dinya.

Versioning. Urang kedah sering ngaleupaskeun, sareng urang kedah mutuskeun kumaha ngabentuk nami pakét. Ieu patarosan ngeunaan tingkat integrasi jeung TFS. Kami ngagaduhan agén ngawangun dina Linux. Nalika TFS ngirimkeun tugas ka Handler a - worker - ka agén Bangun, ogé ngalirkeun eta sakumpulan variabel nu mungkas nepi di lingkungan prosés Handler. Variabel lingkungan ieu ngandung nami Bangun, nami versi, sareng variabel sanésna. Baca langkung seueur ngeunaan ieu dina bagian "Ngawangun pakét RPM".

Nyetél TFS turun pikeun nyetél Pipeline. Saméméhna, urang ngumpulkeun sakabeh proyék Windows on agén Windows, tapi ayeuna agén Linux Ubuntu mucunghul - a Build agén, nu perlu kaasup dina grup ngawangun, enriched kalawan sababaraha artefak, sarta ngabejaan naon jenis proyék bakal diwangun dina agén Build ieu. , sareng kumaha waé ngarobih Pipeline.

IdentityServer. ADFS sanés cara urang, urang badé Open Source.

Hayu urang ngaliwat komponén.

magic Box

Diwangun ku opat bagian.

.NET Core on Linux Ubuntu, DevOps on horseback

agén ngawangun Linux. Linux, sabab urang ngawangun pikeun éta - éta logis. Bagian ieu dilakukeun dina tilu léngkah.

  • Ngonpigurasikeun pagawe na teu nyalira, saprak karya disebarkeun dina proyék ieu diperkirakeun.
  • Pasang .NET Core 1.x. Naha 1.x nalika 2.0 parantos sayogi dina gudang standar? Kusabab nalika urang ngamimitian pamekaran, versi stabil nyaéta 1.09, sareng éta mutuskeun pikeun ngadamel proyék dumasar kana éta.
  • Git 2.x.

RPM-Repository. Bungkusan RPM kedah disimpen dimana waé. Dianggap yén urang bakal nganggo gudang RPM perusahaan anu sami anu sayogi pikeun sadaya host Linux. Éta naon maranéhna ngalakukeun. Server gudang dikonpigurasi wébhook nu diundeur pakét RPM diperlukeun ti lokasi dieusian. Versi pakét dilaporkeun ka webhook ku agén Bangun.

GitLab. Perhatosan! GitLab di dieu henteu dianggo ku pamekar, tapi ku departemén operasi pikeun ngontrol versi aplikasi, versi pakét, ngawas status sadaya mesin Linux, sareng nyimpen resep - sadaya Manifestasi Wayang.

Bonéka - ngabéréskeun sadaya masalah anu kontroversial sareng ngirimkeun konfigurasi anu dipikahoyong ti Gitlab.

Urang ngawitan teuleum. Kumaha pangiriman DLL kana RPM jalan?

Pangiriman DDL ka RPM

Hayu urang nyebutkeun boga .NET ngembangkeun béntang rock. Éta ngagunakeun Visual Studio sareng nyiptakeun cabang pelepasan. Saatos éta, éta unggah ka Git, sareng Git di dieu mangrupikeun éntitas TFS, nyaéta, éta mangrupikeun gudang aplikasi anu dianggo ku pamekar.

.NET Core on Linux Ubuntu, DevOps on horseback

Saatos éta TFS ningali yén komitmen énggal parantos sumping. Aplikasi mana? Dina setélan TFS aya labél anu nunjukkeun naon sumberdaya agén Bangun tinangtu. Dina hal ieu, anjeunna ningali yén urang ngawangun hiji .NET Core proyék tur pilih agén Linux Ubuntu ngawangun ti kolam renang nu.

Agén Bangun nampi sumber sareng ngaunduh anu diperyogikeun gumantungna ti gudang .NET, npm, jsb. sarta sanggeus ngawangun aplikasi sorangan jeung bungkusan saterusna, ngirim paket RPM ka Repository RPM.

Di sisi séjén, di handap ieu kajadian. Insinyur departemén operasi langsung kalibet dina ngaluncurkeun proyék: anjeunna ngarobih vérsi pakét dina Hiera dina gudang dimana resep aplikasi disimpen, nu satutasna Wayang micu Yum, fetches pakét anyar ti gudang, sarta versi anyar tina aplikasi geus siap dipaké.

.NET Core on Linux Ubuntu, DevOps on horseback

Sagalana basajan dina kecap, tapi naon anu lumangsung di jero agén Bangun sorangan?

Bungkusan DLL RPM

Nampi sumber proyék sareng ngawangun tugas ti TFS. Ngawangun agén dimimitian ngawangun proyék sorangan tina sumber. Proyék anu dirakit sayogi salaku set file DLL, anu dibungkus dina arsip pos pikeun ngirangan beban dina sistem file.

Arsip ZIP dialungkeun ka diréktori ngawangun pakét RPM. Salajengna, Aksara Bash initializes variabel lingkungan, manggihan versi Build, versi proyék, jalur ka diréktori ngawangun, sarta ngajalankeun RPM-build. Sakali ngawangun geus réngsé, pakét ieu diterbitkeun ka gudang lokal, anu perenahna dina agén Bangun.

Salajengna, ti agén Bangun ka server dina gudang RPM pamundut JSON dikirim nunjukkeun nami versi sareng ngawangun. Webhook, anu kuring nyarioskeun sateuacana, ngaunduh pakét ieu tina gudang lokal dina agén Bangun sareng ngajantenkeun rakitan énggal pikeun dipasang.

.NET Core on Linux Ubuntu, DevOps on horseback

Naha skéma pangiriman pakét khusus ieu ka gudang RPM? Naha kuring henteu tiasa langsung ngirim bungkusan anu dirakit ka gudang? Kanyataanna nyaéta ieu mangrupikeun kaayaan pikeun mastikeun kasalametan. Skenario ieu ngabatesan kamungkinan jalma anu henteu sah unggah bungkusan RPM ka server anu tiasa diaksés ku sadaya mesin Linux.

Vérsi database

Dina konsultasi sareng tim pamekar, tétéla yén lalaki éta langkung caket kana MS SQL, tapi dina kalolobaan proyék non-Windows kami parantos nganggo PostgreSQL kalayan sagala kakuatanana. Kusabab kami parantos mutuskeun pikeun ngantunkeun sadayana anu mayar, kami ogé mimiti nganggo PostgreSQL di dieu.

.NET Core on Linux Ubuntu, DevOps on horseback

Dina bagian ieu abdi hoyong ngabejaan Anjeun kumaha urang versioned database na kumaha urang milih antara Flyway na Entity Framework Core. Hayu urang nempo pro jeung kontra maranéhanana.

Минусы

Flyway ngan ukur hiji jalan, urang urang teu bisa gulung deui - ieu téh disadvantage signifikan. Anjeun tiasa ngabandingkeunana sareng Entity Framework Core ku cara anu sanés - dina hal genah pamekar. Anjeun émut yén kami nempatkeun ieu di payun, sareng kriteria utama henteu ngarobih nanaon pikeun pangwangunan Windows.

Pikeun Flyway kami sababaraha jenis wrapper ieu diperlukeunsupaya budak teu nulis queries SQL. Aranjeunna langkung caket kana operasi dina istilah OOP. Urang nulis parentah pikeun gawé bareng objék database, dihasilkeun hiji query SQL sarta dieksekusi eta. Versi anyar tina pangkalan data parantos siap, diuji - sadayana saé, sadayana jalan.

Entity Framework Core gaduh minus - dina beban beurat ngawangun queries SQL suboptimal, sarta drawdown dina database tiasa signifikan. Tapi saprak urang teu boga jasa-beban tinggi, urang teu ngitung beban dina ratusan RPS, kami narima resiko ieu sarta delegated masalah ka hareup urang.

Плюсы

Inti kerangka éntitas jalan kaluar tina kotak sarta gampang pikeun ngembangkeun, jeung Flyway Gampang integrates kana CI aya. Tapi kami ngagampangkeun pikeun pamekar :)

Prosedur roll-up

Wayang ningali yén parobihan dina versi pakét bakal datang, kalebet anu tanggung jawab migrasi. Mimiti, éta masang pakét anu ngandung skrip migrasi sareng fungsionalitas anu aya hubunganana sareng database. Saatos ieu, aplikasi anu tiasa dianggo sareng pangkalan data dibalikan deui. Salajengna asalna pamasangan komponén sésana. Urutan dimana bungkusan dipasang sareng aplikasi diluncurkeun dijelaskeun dina Manifes Wayang.

Aplikasi nganggo data sénsitip, sapertos token, kecap akses database, sadayana ieu ditarik kana config ti master Wayang, dimana aranjeunna disimpen dina bentuk énkripsi.

masalah TFS

Saatos urang mutuskeun sareng sadar yén sadayana leres-leres damel pikeun urang, kuring mutuskeun pikeun ningali naon anu lumangsung sareng majelis di TFS sacara gembleng pikeun departemén pamekaran Win dina proyék-proyék anu sanés - naha urang ngawangun / ngaleupaskeun gancang atanapi henteu, sareng manggihan masalah signifikan kalawan speed.

Salah sahiji proyék utama butuh 12-15 menit kanggo ngumpul - éta lami, anjeun moal tiasa hirup sapertos kitu. Analisis gancang némbongkeun drawdown dahsyat di I / O, sarta ieu dina arrays.

Saatos analisa éta komponén ku komponén, kuring ngaidentipikasi tilu fokus. kahiji- "Kaspersky antipirus", anu nyeken sumber dina sadaya agén Windows Build. Kadua- Windows Indéks. Éta henteu ditumpurkeun, sareng sadayana diindeks sacara real waktos dina agén Bangun nalika prosés panyebaran.

katilu- Npm dipasang. Tétéla dina kalolobaan Pipelines kami nganggo skenario anu pasti ieu. Naha anjeunna goréng? Prosedur install Npm dijalankeun nalika tangkal kagumantungan kabentuk dina package-lock.json, dimana versi bungkusan anu bakal dianggo pikeun ngawangun proyék dirékam. The downside nyaeta Npm install narik nepi versi panganyarna tina bungkusan tina Internet unggal waktu, sarta ieu merlukeun loba waktu dina kasus hiji proyék badag.

Pamekar kadang ékspérimén dina mesin lokal pikeun nguji kumaha bagian tinangtu atawa sakabéh proyék jalan. Kadang-kadang tétéla yén sagalana éta tiis lokal, tapi aranjeunna ngumpul eta, digulung kaluar, sarta nanaon digawé. Urang ngawitan terang naon masalahna - hehehehe, versi béda tina bungkusan kalawan kagumantungan.

kaputusan

  • Sumber dina iwal AV.
  • Nonaktipkeun indexing.
  • Buka npm ci.

Kaunggulan tina npm ci nyaeta urang Urang kumpulkeun tangkal kagumantungan sakali, sarta kami meunang kasempetan pikeun nyadiakeun pamekar daptar bungkusan ayeuna, kalayan mana anjeunna tiasa ékspérimén lokal saloba anjeunna resep. Ieu ngaheéat waktos pamekar anu nulis kode.

Konfigurasi

Ayeuna sakedik ngeunaan konfigurasi gudang. Dina sajarahna urang ngagunakeun Nexus pikeun ngatur repositories, kaasup REPO internal. Repository internal ieu ngandung sadaya komponén anu kami anggo pikeun tujuan internal, contona, ngawaskeun diri.

.NET Core on Linux Ubuntu, DevOps on horseback

Urang ogé ngagunakeun NuGet, sabab boga cache hadé dibandingkeun manajer pakét séjén.

hasil

Saatos urang ngaoptimalkeun Agén Bangun, waktos ngawangun rata-rata dikirangan tina 12 menit janten 7.

Lamun urang cacah sagala mesin nu urang bisa geus dipaké pikeun Windows, tapi switched pikeun Linux Ubuntu dina proyék ieu, urang disimpen ngeunaan $ 10. Tur éta ngan dina lisensi, sarta leuwih lamun urang tumut kana akun eusi.

Rencana

Pikeun kuartal salajengna, urang rencanana pikeun ngerjakeun optimalisasi pangiriman kode.

Ngalihkeun kana gambar Docker prebuild. TFS mangrupikeun hal anu saé kalayan seueur plugins anu ngamungkinkeun anjeun ngahijikeun kana Pipeline, kalebet rakitan dumasar pemicu, sebutkeun, gambar Docker. Kami hoyong ngadamel pemicu ieu pikeun anu sami package-lock.json. Lamun komposisi komponén dipaké pikeun ngawangun proyék kumaha bae robah, urang ngawangun hiji gambar Docker anyar. Ieu engké dipaké pikeun nyebarkeun wadahna jeung aplikasi dirakit. Ieu sanés masalahna ayeuna, tapi kami badé ngalih ka arsitéktur microservice di Kubernetes, anu aktip ngembangkeun di perusahaan kami sareng parantos lami ngalayanan solusi produksi.

singgetan

Kuring ajak dulur buang Windows, tapi teu sabab kuring teu nyaho kumaha carana masak eta. Alesanna nyaéta kalolobaan solusi Opensource nyaéta tumpukan Linux. Anjeun henteu kunananon ngahemat sumberdaya. Dina pamanggih kuring, masa depan milik solusi Open Source dina Linux kalayan komunitas anu kuat.

Profil spiker Alexander Sinchinov dina GitHub.

DevOps Conf nyaéta konperénsi ngeunaan integrasi prosés pangwangunan, uji sareng operasi pikeun profésional ku profésional. Éta naha proyék nu Alexander dikaitkeun? dilaksanakeun sarta digawé, sarta dina dinten pagelaran aya dua release suksés. Dina DevOps Conf di RIT ++ Dina 27 sareng 28 Méi bakal aya kasus anu langkung sami ti praktisi. Anjeun masih bisa luncat kana gerbong panungtungan sarta ngirimkeun laporan atanapi nyandak waktos Anjeun pikeun buku tikét. Papanggih kami di Skolkovo!

sumber: www.habr.com

Tambahkeun komentar