Kaasaegne infrastruktuur: probleemid ja perspektiivid

Kaasaegne infrastruktuur: probleemid ja perspektiivid

Mais kuu lĂ”pus meie viidi lĂ€bi veebikohtumine teemal „Kaasaegne infrastruktuur ja konteinerid: probleemid ja perspektiivid“. RÀÀkisime konteineritest, Kubernetesest ja orkestreerimisest ĂŒldiselt, infrastruktuuri valimise kriteeriumitest ja paljust muust. Osalejad jagasid oma praktika nĂ€iteid.

Osalejad:

  • Evgeny Potapov, CEO „ITSumma“. Üle poole tema klientidest kas juba ĂŒleminekul vĂ”i soovivad ĂŒleminekul Kubernetesesse.
  • Dmitry Stolyarov, CTO „Flant“. Omab enam kui 10 aastat kogemust konteinerite sĂŒsteemidega.
  • Denis Remchukov (aka Eric Oldmann), COO argotech.io, endine RАО ЕЭС. Lubas jagada „karmidest“ ettevĂ”tte kogemustest.
  • Andrei Fedorovsky, CTO „News360.com“PĂ€rast ettevĂ”tte mĂŒĂŒki teisele tegijale vastutab mitmete ML ja AI projektide ning infrastruktuuri eest.
  • Ivan Kruglov, sĂŒsteemiinsener, endine Booking.com.See sama inimene, kes on oma kĂ€tega Kubernetesega vĂ€ga palju Ă€ra teinud.

Teemad:

  • Osalejate teadmised konteinerite ja orkestreerimise (Docker, Kubernetes jne) kohta; mida on katsetatud vĂ”i analĂŒĂŒsitud.
  • Juhtum: EttevĂ”ttes arendatakse infrastruktuuri arenguplaani aastateks. Kuidas langetatakse otsus ehitada (vĂ”i tĂ”lkida olemasolev) infrastruktuur konteineritele ja Kubernetesele vĂ”i mitte?
  • Probleemid cloud-native maailmas, mida meil puudub, lase meid kujutada, mida toob homne pĂ€ev.

KÀidi huvitav arutelu, osalejate arvamused osutusid nii erinevaks ja tekitasid nii palju kommentaare, et tahame neid teiega jagada. On kolme tunni video, ja allpool on arutelu kokkuvÔte.

Kas Kubernetes on juba standard vÔi lihtsalt hea turundus?

„Me jĂ”udsime selle (Kubernetes — toimetaja) juurde siis, kui sellest keegi veel ei teadnud. Me jĂ”udsime sellele veel siis, kui seda ei olnud. Me tahtsime seda juba varem“ — Dmitry Stolyarov

Kaasaegne infrastruktuur: probleemid ja perspektiivid
Pilt Reddit.com’ist

Umbes 5-10 aastat tagasi oli tohutult tööriistu, kuid ĂŒhtegi ĂŒhtset standardit ei olnud. Iga kuue kuu tagant tuli vĂ€lja uus toode, mĂ”nikord isegi mitu. Esmalt Vagrant, seejĂ€rel Salt, Chef, Puppet
 „ja sa pead iga kuue kuu tagant oma infrastruktuuri ĂŒmber ehitama. Sul on viis adminn, kes kogu aeg on hĂ”ivatud konfiguratsioonide kirjutamisega“ — meenutab Andrei Fedorovsky. Ta usub, et Docker ja Kubernetes „tĂ”i ĂŒlejÀÀnud alla“. Docker on muutunud standardiks viimase viie aasta jooksul, Kubernetes — viimase kahe aasta jooksul. Ja see on tööstusele kasulik..

Dmitri Stolyarov ja tema meeskond armastavad Kubernetes'e. Nad soovisid sellist tööriista juba enne selle ilmumist ja jĂ”udsid selle juurde, kui keegi sellest veel ei teadnud. Praegu, mugavuse kaalutlustel, ei vĂ”ta nad klienti, kui nad mĂ”istavad, et nad ei rakenda Kubernetes'e. Samuti ĂŒtleb Dmitri, et ettevĂ”ttel on "hulgaliselt tohutuid edulugusid kohutava pĂ€randi ĂŒmberkujundamisest."

Kubernetes ei ole mitte ainult konteinerite orkestreerimine, vaid ka konfiguratsioonihalduse sĂŒsteem arenenud API, vĂ”rgu töötluskomponendi, L3 koormuse tasakaalustamise ja sisseseadmise kontrolleritega, mis vĂ”imaldab suhteliselt lihtsalt hallata ressursse, skaleerida ja abstraktselt infrastruktuuri madalama tasemega.

Kahjuks tuleb meie elus kĂ”igi asjade eest maksta. Ja see maks on suur, eriti kui rÀÀkida ettevĂ”tte ĂŒleminekust Kubernetes'ele, millel on arenenud infrastruktuur, nagu arvab Ivan Kruglov. Ta vĂ”iks vabalt töötada nii traditsioonilise infrastruktuuriga ettevĂ”ttes kui ka Kubernetes'ega. Peamine on mĂ”ista ettevĂ”tte ja turu eripĂ€ra. Kuid nĂ€iteks Evgeny Potapovi jaoks, kes seostaks Kubernetes'e mis tahes konteinerite orkestreerimise tööriistaga, ei ole sellist kĂŒsimust.

Evgeny tĂ”i sarnase olukorra vĂ€lja 1990. aastatest, kui ilmus objektorienteeritud programmeerimine, kui keeruliste rakenduste programmeerimise viis. Sel ajal kĂ€idi pidevalt arutelusid ja ilmusid uued tööriistad, mis toetasid OOP-d. Siis ilmusid mikroteenused, kui viis, kuidas kĂ”rvale hiilida monoliitsest kontseptsioonist. See tĂ”i omakorda kaasa konteinerite ja nende haldamise tööriistade ilmumise. "Ma arvan, et peagi jĂ”uame aega, mil kĂŒsimus, kas kirjutada mikroteenusena vĂ€ikest rakendust, ei seisa, seda kirjutatakse vaikimisi mikroteenusena," arvab ta. Sarnaselt muutuvad Docker ja Kubernetes aja jooksul standardlahenduseks ilma valikuvĂ”imaluseta.

Probleemid andmebaasidega on stateless

Kaasaegne infrastruktuur: probleemid ja perspektiivid
Foto autor Twitter: @jankolario Unsplash'is

Meie ajal on palju retsepte andmebaaside kĂ€ivitamiseks Kubernetes'es. Isegi kuidas eraldada osa, mis tegeleb I/O kettaga, nĂ€iteks rakenduse — osa andmebaasist. Kas on vĂ”imalik, et tulevikus andmebaasid muutuvad nii, et need tarnitakse kastis, kus ĂŒks osa orkestreeritakse lĂ€bi Docker'i ja Kubernetes'e, ning teises infrastruktuuri osas, lĂ€bi eraldi tarkvara, pakutakse salvestamise osa? Kas andmebaasid muutuvad tootena?

See kirjeldus sarnaneb jĂ€rjekordade haldamisele, kuid nĂ”udmised traditsiooniliste andmebaaside usaldusvÀÀrsusele ja informatsiooni sĂŒnkroonsusele on palju kĂ”rgemad, arvab Andrei. Cache hit ratio tavalistes andmebaasides pĂŒsib 99% tasemel. Kui töötlus kukub, kĂ€ivitatakse uus ja cache 'soojendatakse' nullist. Seni, kuni cache ei ole soojendatud, töötab töötlus aeglaselt, seega ei tohi sellele suunata kasutaja koormust. Seni, kuni puudub kasutaja koormus, ei soojendata cache't. See on suletud ring.

Dmitri ei nÔustu fundamentaalselt: «Kvoorumid ja sharding lahendavad probleemi». Kuid Andrei kinnitab, et lahendus ei sobi kÔigile. MÔnel juhul sobib kvoorum, kuid see tekitab lisakoormuse vÔrgule. NoSQL andmebaasid ei sobi mitte kÔikides olukordades.

Meetapi osalejad jagunesid kaheks leeriks.

Denis ja Andrei vĂ€idavad, et kĂ”ik, mis kirjutatakse kettale — andmebaasid ja muu — on praeguses Kubernetes'i ökosĂŒsteemis vĂ”imatu teha. On vĂ”imatu sĂ€ilitada tootlike andmete terviklikkust ja jĂ€rjepidevust Kubernetes'es. See on fundamentaalne eripĂ€ra. Lahendus: hĂŒbriidne infrastruktuur.

I isegi kaasaegsed pilvepÔhised andmebaasid, nagu MongoDB ja Cassandra, vÔi sÔnumijÀrjekorrad, nagu Kafka vÔi RabbitMQ, nÔuavad pidevalt andmesalvestusi vÀljaspool Kubernetes'e.

Evgeni vastab: «Andmebaasid Kuber'is — see on trauma Venemaa lĂ€hedal vĂ”i tagatistes, mis on seotud sellega, et Venemaal ei ole pilve vastuvĂ”ttu». VĂ€ikesed vĂ”i keskmised ettevĂ”tted lÀÀnes — see on pilv. Amazon RDS andmebaaside kasutamine on lihtsam, kui ise Kubernetes'ega tegeleda. Venemaal kasutatakse Kuberit “on-premise” ja viiakse sinna andmebaasid, kui pĂŒĂŒtakse lahti saada aiast.

Dmitri nĂ”ustub samuti, et ei ole ĂŒhtegi andmebaasi, mida ei saa hoida Kubernetes'es: «Andmebaas, andmebaasi ĂŒks. Ja kui toppida sinna tohutu relaatorne andmebaas — siis ei mingil juhul. Kui toppida midagi vĂ€ikest ja pilvepĂ”hist, mis on moraalselt valmis pool-efektiivseks eluks, siis lĂ€heb kĂ”ik hĂ€sti.» Dmitri mainis ka, et andmebaaside haldamise tööriistad ei ole valmis ei Docker'ile ega Kuber'ile, seetĂ”ttu tekivad suured probleemid.

Ivan on omalt poolt kindel, et isegi kui kĂ”rvale jĂ€tta stateful ja stateless mĂ”isted, ei ole Kubernetes'e ettevĂ”tte lahenduste ökosĂŒsteem veel valmis. Kubersist on keeruline jĂ€rgida seadusandlikke ja regulatiivseid nĂ”udeid. NĂ€iteks on vĂ”imatu luua identiteediandmete sĂŒsteemi, kus on vaja rangeid serveri identifitseerimise garantiisid, sealhulgas riistvara, mis on serveritesse paigaldatud. See valdkond areneb, kuid hetkel ei ole lahendust.
Osalejatel ei Ônnestunud kokku leppida, seega ei tule selles osas jÀreldusi. Paremini toome vÀlja paar praktilist nÀidet.

Juhtum 1. KĂŒberjulgeolek „superregulaatori” andmebaasidega vĂ€ljaspool Kubernetes't

Arendatud kĂŒberjulgeoleku sĂŒsteemi korral aitab konteinerite ja orkestreerimise kasutamine Ă€ra hoida rĂŒnnakuid ja sissetunge. NĂ€iteks ĂŒhes superregulaatoris rakendas Denis ja tema meeskond orkestratsiooni ĂŒhendust koolitatud SIEM-teenusega, mis analĂŒĂŒsib logisid reaalajas ja tuvastab rĂŒnnakute, hĂ€kkimise vĂ”i tĂ”rgete protsessid. RĂŒnnaku korral, katse midagi kinnitada vĂ”i kui toimib lunavara sissetung, tĂ”stab see orkestreerija kaudu konteinerid rakendustega ĂŒles kiiremini, kui need nakatuvad, vĂ”i kiiremini, kui rĂŒndaja neid rĂŒndab.

Juhtum 2. Osaline andmebaaside ĂŒleviimine Booking.com-is Kubernetes'e

Booking.com-is on peamine andmebaas MySQL koos asĂŒnkroonse replikatsiooniga - seal on master ja terve slave-ide hierarhia. Ivan lahkumise ajaks oli kĂ€imas projekt, et ĂŒle viia sleevide andmebaasid, mida on vĂ”imalik teatud kahjuga „mĂŒrgitada”.

Peamise andmebaasi kĂ”rval on olemas ka Cassandra installatsioon koos isearendatud orkestreerimisega, mille nad kirjutasid veel enne Kubernetes'e mainstream'i tulekut. Probleem selles osas ei ole, kuid sellel on persistent kohalikul SSD-l. Kaugandmesalvestust, isegi ĂŒhes andmekeskuses, ei kasutata kĂ”rge latentsuse probleemi tĂ”ttu.

Kolmas andmebaasi klass on Booking.com-i otsinguteenuse, kus iga teenuse sĂ”lm on andmebaas. Katsed viia otsinguteenust Kubernetes'e on ebaĂ”nnestunud, kuna iga sĂ”lm on 60–80 GB kohalikku salvestust, mida on keeruline â€žĂŒles tĂ”sta” ja „kuumutada”.

LĂ”ppkokkuvĂ”ttes ei viidud otsingumootorit Kubernetes'e ja Ivan ei usu, et lĂ€hitulevikus oleks uusi katseid. MySQL andmebaas viidi osaliselt ĂŒle: ainult slave'id, mida ei olnud hirmus „mĂŒrgitada”. Cassandra „sobitus” suurepĂ€raselt.

Valik infrastruktuuri on probleem, millel puudub ĂŒldine lahendus

Kaasaegne infrastruktuur: probleemid ja perspektiivid
Foto autor Manuel Geissinger, Pexelsist

Kujutame ette, et meil on uus ettevĂ”te vĂ”i ettevĂ”te, kus osa infrastruktuurist on vanamoodsalt ĂŒles ehitatud. Seal töötatakse vĂ€lja infrastruktuuri arenguplaan, mis katab mitmeid aastaid. Kuidas otsustatakse, kas ehitada infrastruktuur konteinerite ja Kubernetes'e peale vĂ”i mitte?

EttevÔtted, kes vÔitlevad nanosekundite nimel, on arutelust vÀlistatud. Tervislik konservatiivsus tasub Àra usaldusvÀÀrsuse tÔttu, kuid siiski on ettevÔtteid, kes peaksid kaaluma uusi lÀhenemisi.

Ivan: "Ma alustaksin praegu kindlasti ettevĂ”tet pilves, lihtsalt sellepĂ€rast, et see on kiirem", kuigi mitte tingimata odavam. Riski kapitali arengu tĂ”ttu ei ole alustavatel ettevĂ”tetel raha saamisega suuri probleeme ja peamine ĂŒlesanne on turgu haarata.

Ivan usub, et praeguse infrastruktuuri arenguaste on valiku mÀÀrav tegur. Kui minevikus on tehtud tĂ”siseid investeeringuid ja see töötab, siis pole mĂ”tet ĂŒmber ehitada. Kui aga infrastruktuur ei ole arenenu ja on probleeme tööriistade, turvalisuse ja jĂ€lgimisega, siis on mĂ”tet vaadata jaotatud infrastruktuuri poole.

Maksu tuleb igal juhul maksta ja Ivan maksaks seda, mis lubaks tal tulevikus maksta vĂ€hem. "Sest lihtsalt sellepĂ€rast, et ma sĂ”idan rongis, mida juhivad teised, jĂ”uan ma palju kaugemale, kui kui ma istun teise rongi peale, kus ma pean kĂŒtust ise juurde panema." - ĂŒtleb Ivan. Kui ettevĂ”te on uus ja latentsuse nĂ”uded on kĂŒmneid millisekundeid, siis vaataks Ivan suunas "operaatoritele", kuhu tĂ€na "suunatakse" klassikalised andmebaasid. Nad tĂ”stavad replikatsiooniahela, mis vahetub ise, kui tekib tĂ”rge jne


KĂŒsimus on vĂ€ikese ettevĂ”tte jaoks, kus on paar serverit Kuberneteses, pole mĂ”tet, — kinnitab Andrei. Kuid kui nad plaanivad kasvada sajani vĂ”i rohkem, siis on vajalik automatiseerimine ja ressursside juhtimissĂŒsteem. 90% juhtudest Ă”igustab kulutusi. Ja olgu see koormus ja ressursid millised tahes. KĂ”ik, alustades alustavatest ettevĂ”tetest ja lĂ”petades suurte ettevĂ”tetega, kellel on miljoniline publik, peaksid jĂ€rk-jĂ€rgult vaatama konteinerite orkestreerimise toodete poole. "Jah, see on tĂ”eliselt tulevik," usub Andrei.

Denis mĂ€rkis kaks peamist kriteeriumi — skaalitus ja töökindlus. Ta valib need tööriistad, mis sobivad kĂ”ige paremini selle ĂŒlesande jaoks. "See vĂ”ib olla kodus kokku pandud kreeker, millel on Nutanix Community Edition. See vĂ”ib olla teise taseme rakendus Kuberis, millel on andmebaas taustal, mis replikeerib ja millel on seatud RTO ja RPO parameetrid" (taastumisaeg/punktieesmĂ€rgid — nĂ€ited).

Evgeny tĂ”i esile vĂ”imaliku probleemi spetsialistidega. Praegu ei ole turul nii palju tippspetsialiste, kes mĂ”istavad "mootoreid". TĂ”epoolest, kui valitud tehnoloogia on vana, on raske leida kedagi, vĂ€lja arvatud vanad, igavlevad ja elust vĂ€sinud inimesed. Kuigi teised osalejad arvavad, et see on kaadri ettevalmistamise kĂŒsimus.
Kui kĂŒsida, kas alustada vĂ€ikest ettevĂ”tet Public Cloudis andmebaasidega Amazon RDS-is vĂ”i on-premise andmebaasidega Kuberneteses, siis hoolimata teatud puudustest, on osalejate valik Amazon RDS.

Kuna enamik meetup'i kuulajaid ei ole "veres" ettevĂ”tluses, siis jaotatud lahendused on see, mille poole pĂŒĂŒelda. Andmete salvestussĂŒsteemid peavad olema jaotatud, usaldusvÀÀrsed ja tekitama latentsust, mis mÔÔdetakse millisekundites, maksimaalselt kĂŒmnetes., - kokku vĂ”ttis Andrei.

Kubernetes'e kasutamise hindamine

Kuulaja Anton Zhbankov esitas kĂŒsimuse, mis pĂŒĂŒab kinni Kubernetes'e apoloogid: kuidas valiti ja viidi lĂ€bi tehnilis-majanduslik pĂ”hjendus? Miks Kubernetes, mitte nĂ€iteks virtuaalmasinad?

Kaasaegne infrastruktuur: probleemid ja perspektiivid
Foto autor Tatyana Eremina Unsplashist

MĂ”lemale vastasid Dmitri ja Ivan. MĂ”lemas olukorras katsete ja vigade meetodil tehti lahenduste jĂ€rjekord, mille tulemusena jĂ”udsid mĂ”lemad osalejad Kuberneteseni. Praegu hakkab Ă€ri iseseisvalt arendama tarkvara, mille ĂŒleviimine Kuberi on mĂ”ttekas. RÀÀgime mitte klassikalistest kolmanda osapoole sĂŒsteemidest, nagu 1C. Kubernetes aitab, kui arendajad peavad kiiresti vĂ€ljalaskeid tegema jĂ€tkuva tĂ€iustamise kĂ€igus.

Andrei meeskond proovis luua skaleeritavat klastrit virtuaalmasinate pĂ”hjal. Nodid langesid nagu domino, mis mĂ”nikord viis klastrite kukkumiseni. "Teoreetiliselt on vĂ”imalik see kĂ€sitsi lĂ”petada ja toetada, kuid see on tĂŒlikas. Ja kui turul on lahendus, mis vĂ”imaldab töötada karbist vĂ€lja, siis lĂ€heme me sellega meeleldi. Ja seetĂ”ttu lĂ€ksime ĂŒle," rÀÀgib Andrei.

Sarnad selle analĂŒĂŒsi ja arvutamise jaoks on olemas, kuid keegi ei julge öelda, kui Ă”iged nad reaalses riistvaras kasutuses on. Arvutuste jaoks on samuti oluline mĂ”ista iga tööriista ja ökosĂŒsteemi, kuid see on vĂ”imatu.

Mida me oodata saame

Kaasaegne infrastruktuur: probleemid ja perspektiivid
Foto autor Drew Beamer Unsplashist

Kuna tehnoloogiad arenevad, ilmub ĂŒha rohkem lahtisi tĂŒkke ning seejĂ€rel toimub faasisiirde — ilmub tarnija, kes on tapnud piisavalt „rahakotte”, et kĂ”ik koos ĂŒhte tööriistadesse ĂŒhendada.

Kas teile ei tundu, et tuleb aeg, mil tekib tööriist, nagu Ubuntu oli Linuxi maailmas? VĂ”ib-olla sisaldab ĂŒksnes konteinerimise ja orkestreerimise tööriist ka Kuberit. Sellega on lihtne luua on-premise pilvi.

Ivan vastas: "Google ehitab praegu Anthost — see on nende pakett, mis rakendab pilve ja sisaldab Kuberit, Service Meshi, jĂ€lgimist — kogu kraami, mida mikroteenuste jaoks on vaja on-premises. Me oleme peaaegu tulevikus."

Denis mainis ka Nutanixit ja VMWare'i toote vRealize Suite, mis suudavad sellise ĂŒlesandega toime tulla ilma konteinerimiseta.

Dmitri jagas arvamust, et „valude” vĂ€hendamine ja maksu alandamine on kaks suunda, kus tasub oodata parandusi.

KokkuvÔtteks arutelust tuvastame jÀrgmised kaasaegse infrastruktuuri probleemid

  • Kolm osalejat tĂ”id esile stateful probleemid.
  • Erinevad probleemid turbe toetamisega, sealhulgas risk, et Dockerisse satub mitu versiooni Pythonit, rakenduste servereid ja komponente.
    ÜksikĂŒlekandeteemad, millest oleks parem eraldi koosolek teha.
    Koolituse probleem, kuna orkestreerimine on keeruline ökosĂŒsteem.
    Tööstuse ĂŒldine probleem on tööriistade vale kasutamine.

    ÜlejÀÀnud jĂ€reldused lasen teha teil. Praegu jÀÀb tunne, et Docker + Kubernetes ei ole kergeks loomulikuks osaks sĂŒsteemist saada. NĂ€iteks operatsioonisĂŒsteemid paigaldatakse riistvaraga esimesena, mida ei saa öelda konteinerite ja orkestreerimise kohta. VĂ”ib-olla tulevikus sulanduvad operatsioonisĂŒsteemid ja konteinerid koos pilvahaldustarkvaraga.

    Kaasaegne infrastruktuur: probleemid ja perspektiivid
    Foto autor Gabriel Santos Fotografia Pexelsist

    Kasutades juhust, tahan saata tervitusi emale ja meenutada, et meil on Facebooki grupp „Suured IT-projektide haldamine ja arendamine”, kanal @feedmeto huvitavate postitustega erinevatest tehnoblogidest. Ja minu kanal @rybakalexey, kus ma rÀÀgin arendusjuhtimise kohta tooteettevĂ”tetes.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster