
I slutet av maj genomförde vi ett online-möte om . Vi diskuterade containrar, Kubernetes och orkestrering i allmÀnhet, urvalskriterier för infrastruktur och mycket mer. Deltagarna delade med sig av fallstudier frÄn sin egen praktik.
Deltagare:
- Evgenij Potapov, VD för âITSummaâ. Mer Ă€n hĂ€lften av hans kunder antingen har redan övergĂ„tt eller vill övergĂ„ till Kubernetes.
- Dmitrij Stolyarov, CTO för âFlantâ. Har över 10 Ă„rs erfarenhet av arbete med containersystem.
- Denis Remchukov (aka Eric Oldmann), COO för argotech.io, tidigare pÄ RAO EES. Lovade att berÀtta om fallstudier inom den "blodiga" företagssektorn.
- Andrej Fedorovskij, CTO för âNews360.comâEfter att företaget köptes av en annan aktör ansvarar han för en rad ML- och AI-projekt samt för infrastrukturen.
- Ivan Kruglov, systemingenjör, tidigare pÄ Booking.com.Just den personen som med sina egna hÀnder har gjort mycket med Kubernetes.
Ămnen:
- Deltagarnas insikter om containrar och orkestrering (Docker, Kubernetes och liknande); vad de har provat i praktiken eller analyserat.
- Fallstudie: Företaget bygger en plan för att utveckla infrastrukturen under mÄnga Är. Hur fattas beslutet om man ska bygga (eller överföra den nuvarande) infrastrukturen till containrar och Kubernetes eller inte?
- Problem i vÀrlden av cloud-native, vad som saknas, lÄt oss fantisera om vad som kommer att hÀnda imorgon.
En intressant diskussion uppstod; deltagarnas Ă„sikter var sĂ„ olika och vĂ€ckte sĂ„ mĂ„nga kommentarer att jag ville dela dem med er. Det finns , och nedan â en sammanfattning av diskussionen.
Ăr Kubernetes redan en standard eller en utmĂ€rkt marknadsföring?
âVi kom till det (Kubernetes â red.) vid en tidpunkt dĂ„ ingen ens kĂ€nde till det. Vi kom till det innan det ens existerade. Vi ville ha det innan detâ â Dmitrij Stolyarov

Foto frÄn Reddit.com
För 5-10 Ă„r sedan fanns det ett stort antal verktyg, men ingen enhetlig standard. Var sjĂ€tte mĂ„nad dök det upp en ny produkt, ibland flera. Först Vagrant, sedan Salt, Chef, Puppet,⊠âoch varje halvĂ„r omstrukturerar du din infrastruktur. Du har fem administratörer som stĂ€ndigt Ă€r upptagna med att skriva om konfigurationernaâ â minns Andrej Fedorovskij. Han anser att Docker och Kubernetes har âtryckt undanâ de andra. Docker har blivit standard under de senaste fem Ă„ren, Kubernetes under de senaste tvĂ„. Och det Ă€r bra för industrin..
Dmitrij Stolyarov och hans team Àlskar Kubernetes. De önskade sig ett sÄdant verktyg innan det ens fanns, och kom i kontakt med det nÀr ingen annan visste vad det var. För nÀrvarande, av bekvÀmlighetsskÀl, tar de inte in kunder om de förstÄr att de inte kommer att implementera Kubernetes för dem. Enligt Dmitrij har företaget "ett flertal gigantiska framgÄngshistorier kring omvandling av förÄldrad teknik."
Kubernetes Àr inte bara containerorkestrering, utan ett konfigurationshanteringssystem med en utvecklad API, komponenter för nÀtverk, L3-lastbalansering och Ingress-kontroller, vilket gör det relativt enkelt att hantera resurser, skala upp och abstrahera frÄn underliggande infrastruktur.
TyvÀrr mÄste man betala för allt i livet. Och denna skatt Àr stor, sÀrskilt nÀr det kommer till att övergÄ till Kubernetes för företag med vÀlutvecklad infrastruktur, enligt Ivan Kruglov. Han skulle kunna arbeta bÄde med traditionell infrastruktur och med Kubernetes. Det viktigaste Àr att förstÄ företagets och marknadens egenskaper. Men för exempelvis Evgenij Potapov, som skulle generalisera Kubernetes som vilket verktyg för containerorkestrering som helst, Àr denna frÄga inte aktuell.
Evgenij jÀmförde situationen med den pÄ 1990-talet, nÀr objektorienterad programmering dök upp som ett sÀtt att programmera komplexa applikationer. Vid den tiden pÄgick debatter och nya verktyg som stödde OOP dök upp. DÀrefter kom mikrotjÀnster som ett sÀtt att gÄ bort frÄn den monolitiska koncepten. Detta ledde i sin tur till framvÀxten av containrar och verktyg för deras hantering. "Jag tror att vi snart kommer till en tid dÄ frÄgan om man ska skriva smÄ applikationer som mikrotjÀnster inte lÀngre kommer att stÀllas, det kommer att göras som standard i form av mikrotjÀnster," anser han. PÄ liknande sÀtt kommer Docker och Kubernetes över tid att bli en standardlösning utan behov av val.
Problemet med databaser Àr stateless.

Foto av
I vĂ„r tid finns det mĂ„nga recept pĂ„ hur man startar databaser i Kubernetes. Ăven hur man separerar den del som arbetar med disk I/O frĂ„n, lĂ„t oss sĂ€ga, applikationsdelen av databasen. Ăr det möjligt att databaser i framtiden kommer att förĂ€ndras sĂ„ mycket att de kommer att levereras i en lĂ„da dĂ€r en del koordineras via Docker och Kubernetes, medan en annan del av infrastrukturen, genom separat mjukvara, tillhandahĂ„ller lagringsdelen? Kommer databaser att förĂ€ndras som produkt?
Denna beskrivning liknar köhantering, men kraven pÄ tillförlitlighet och synkronisering av information i traditionella databaser Àr mycket högre, menar Andrey. Cache hit ratio i normala databaser ligger pÄ cirka 99%. Om en arbetare kraschar startar en ny och cachen "vÀrms upp" frÄn grunden. Tills cachen har vÀrmts upp arbetar arbetaren lÄngsamt, vilket betyder att den inte kan hantera anvÀndarlasten. Utan anvÀndarlast vÀrms cachen inte upp. Det Àr en ond cirkel.
Dmitry hĂ„ller helt med, â kvorum och shardning löser problemet. Men Andrey insisterar pĂ„ att lösningen inte passar alla. I vissa situationer kan kvorum fungera, men det ger extra belastning pĂ„ nĂ€tverket. NoSQL-databasen passar inte alltid.
Deltagarna pÄ meetupen delade upp sig i tvÄ lÀger.
Denis och Andrey hĂ€vdar att allt som skriver till disken â databaser och annat â Ă€r omöjligt i Kubers aktuella ekosystem. Det Ă€r omöjligt att bevara integriteten och konsistensen av produktionsdata i Kubernetes. Det Ă€r en grundlĂ€ggande egenskap. Lösning: hybrid infrastruktur.
Ăven moderna cloud-native databaser, som MongoDB och Cassandra, eller meddelandeköer som Kafka eller RabbitMQ, krĂ€ver konstant datalagring utanför Kubernetes.
Evgeny invĂ€nder: "Databaser i Kuber â en trauma nĂ€ra ryska, eller nĂ€ra företagsmĂ€ssiga, som beror pĂ„ att det saknas Cloud Adoption i Ryssland." SmĂ„ eller medelstora företag i vĂ€st Ă€r Cloud. Att anvĂ€nda Amazon RDS-databaser Ă€r enklare Ă€n att sjĂ€lva hantera Kubernetes. I Ryssland anvĂ€nds Kuber "on-premise" och databaser flyttas dit nĂ€r de försöker bli av med djungeln.
Dmitry höll inte heller med pĂ„stĂ„endet att inga databaser kan hĂ„llas i Kubernetes: "Databas Ă€r inte bara databaser. Och om man stoppar in en gigantisk relationsdatabas â dĂ„ absolut inte. Om man stoppar in nĂ„got litet och cloud-native, som moraliskt Ă€r redo för en halv-efermerisk livsstil, kommer allt att gĂ„ bra." Dmitry nĂ€mnde ocksĂ„ att verktygen för databasadministration inte Ă€r redo för varken Docker eller Kuber, vilket ger stora svĂ„righeter.
Ivan Àr övertygad om att Àven om man bortser frÄn begreppen stateful och stateless, sÄ Àr ekosystemet för företagslösningar i Kubernetes Ànnu inte redo. Det Àr svÄrt att upprÀtthÄlla krav frÄn lagstiftare och tillsynsmyndigheter med Kuber. Till exempel Àr det omöjligt att skapa en identitetslösning dÀr strikta garantier för serveridentifiering krÀvs, ner till den hÄrdvara som sÀtts in i servrarna. Detta omrÄde utvecklas, men det finns fortfarande ingen lösning.
Deltagarna kunde inte nÄ en överenskommelse, sÄ det kommer inte att finnas nÄgra slutsatser i detta avsnitt. LÄt oss istÀllet ge nÄgra praktiska exempel.
Fall 1. Cybersecurity för "megaregulatorn" med databaser utanför Kubernetes
I en vÀlutvecklad cybersÀkerhetssystem gör anvÀndningen av containrar och orkestrering det möjligt att försvara sig mot attacker och intrÄng. Till exempel, i en megaregulator har Denis och hans team implementerat en koppling mellan orkestratorn och en utbildad SIEM-tjÀnst som analyserar loggar i realtid och identifierar processen för attack, intrÄng eller systemfel. Vid en attack, ett försök att ladda upp nÄgot, eller under ett ransomware-intrÄng, aktiverar den genom orkestratorn snabbt containrar med applikationer snabbare Àn de blir smittade, eller snabbare Àn angriparen kan attackera.
Fall 2. Delvis flytt av databaser frÄn Booking.com till Kubernetes
PĂ„ Booking.com Ă€r huvuddatabasen MySQL med asynkron replikering â det finns en master och en hel hierarki av slavar. Vid tidpunkten för Ivans avsked frĂ„n företaget hade ett projekt för att flytta slavar som kan "skjutas bort" med viss skada startats.
Förutom huvuddatabasen finns det en installation av Cassandra med skrÀddarsydd orkestrering, som skrevs innan Kubernetes blev mainstream. Det finns inga problem pÄ det planet, men den har persistent lagring pÄ lokala SSD. AvlÀgsna lagringslösningar, Àven inom samma datacenter, anvÀnds inte pÄ grund av problem med hög latens.
Den tredje klassen av databaser Ă€r söktjĂ€nsten Booking.com, dĂ€r varje nod i tjĂ€nsten Ă€r en databas. Försök att flytta söktjĂ€nsten till Kubernetes misslyckades, eftersom varje nod har 60â80 GB lokal lagring, vilket Ă€r svĂ„rt att "starta upp" och "vĂ€rma upp".
Som ett resultat flyttades inte sökmotorn till Kubernetes, och Ivan tror inte att det kommer att göras nya försök inom en snar framtid. MySQL-databasen har flyttats till hÀlften: endast slavarna, som det inte Àr sÄ farligt att "skjuta bort". Cassandra har "anpassat sig" utmÀrkt.
Valet som infrastruktur Àr en uppgift utan en universallösning

Foto av
Anta att vi har ett nytt företag, eller ett företag dÀr en del av infrastrukturen Àr gammaldags. De arbetar med en lÄngsiktig plan för infrastrukturutveckling. Hur fattas beslutet om att bygga infrastrukturen med containrar och Kubernetes eller inte?
Företag som tÀvlar om nanosekunder Àr undantagna frÄn diskussionen. En sund konservatism lönar sig av pÄlitlighetsskÀl, men det finns ÀndÄ företag som bör övervÀga nya angreppssÀtt.
Ivan: "Jag skulle definitivt starta ett företag i molnet just nu, bara för att det Àr snabbare", Àven om det inte nödvÀndigtvis Àr billigare. Med utvecklingen av riskkapital har startups som har pengar inte stora problem, och huvudmÄlet Àr att erövra marknaden.
Ivan anser att utvecklingen av den nuvarande infrastrukturen Àr ett urvalskriterium. Om det har gjorts stora investeringar tidigare och det fungerar, finns det ingen anledning att omstrukturera. Om infrastrukturen dÀremot inte Àr utvecklad, och det finns problem med verktyg, sÀkerhet och övervakning, finns det anledning att övervÀga distribuerad infrastruktur.
Skatten mÄste betalas oavsett, och Ivan skulle betala den som tillÄter honom att i framtiden betala mindre. "För bara genom att Äka i ett tÄg som drivs av andra kan jag fÀrdas mycket lÀngre Àn om jag sÀtter mig i ett annat tÄg dÀr jag mÄste fylla pÄ brÀnsle sjÀlv." sÀger Ivan. NÀr företaget Àr nytt och kraven pÄ latenstid Àr tiotals millisekunder, skulle Ivan titta mot "operatörerna", dÀr de idag "paketerar" klassiska databaser. De sÀtter upp en replikationskedja som automatiskt vÀxlar vid fel och sÄ vidare...
För ett litet företag med nÄgra servrar i Kubernetes Àr det meningslöst, sÀger Andrei. Men om det planerar att vÀxa till hundra servrar eller mer, behövs automatisering och resursförvaltningssystem. 90 % av fallen rÀttfÀrdigar kostnaderna. Oavsett last och resurser Àr det meningsfullt för alla, frÄn startups till stora företag med miljoner anvÀndare, att gradvis börja titta i riktning mot produkter för orkestrering av containrar. "Ja, det Àr verkligen framtiden", Àr Andrei sÀker pÄ.
Denis angav tvĂ„ huvudsakliga kriterier â skalbarhet och driftsĂ€kerhet. Han vĂ€ljer de verktyg som passar bĂ€st för uppgiften. "Det kan vara en no-name-lösning som byggts ihop sjĂ€lv, med Nutanix Community Edition. Det kan ocksĂ„ vara en andra linje i form av en applikation pĂ„ Kubernetes med en databas i bakgrunden som replikerar och har angivna RTO- och RPO-parametrar" (recovery time/point objectives â exempel).
Evgenij pÄpekade en möjlig problematik med expertis. För nÀrvarande finns det inte sÄ mÄnga högkvalificerade specialister pÄ marknaden som verkligen förstÄr "insidan". Faktum Àr att om den valda teknologin Àr gammal, Àr det svÄrt att hitta nÄgon annan Àn trötta och uttrÄkade Àldre personer. Men andra deltagare anser att detta handlar om utbildningsfrÄgor.
Om man stÀller frÄgan om valet mellan att köra ett litet företag i Public Cloud med databaser i Amazon RDS eller "on premise" med databaser i Kubernetes, sÄ blev valet för deltagarna Amazon RDS, trots vissa nackdelar.
Eftersom de flesta av lyssnarna pĂ„ meetupen inte kommer frĂ„n "det blodiga" företagslivet, Ă€r distribuerade lösningar nĂ„got att sikta pĂ„. Lagringssystem bör vara distribuerade, pĂ„litliga och skapa latens som mĂ€ts i millisekunder, maximalt tiotals., â sammanfattade Andrei.
UtvÀrdering av anvÀndningen av Kubernetes
Lyssnaren Anton Zhbankov stÀllde en fÀlla-frÄga till Kubernetes-apologeter: hur valde ni och genomförde kostnads-bevakningen? Varför Kubernetes, varför inte virtuella maskiner, till exempel?

Foto av
De svarade Dmitrij och Ivan. I bÄda fallen, genom trial and error, gjordes en sekvens av beslut som ledde bÄda deltagarna till Kubernetes. Nu börjar företag sjÀlva utveckla mjukvara som Àr meningsfull att flytta till Kubernetes. Det handlar inte om klassiska tredjeparts-system som 1C. Kubernetes hjÀlper till nÀr utvecklarna snabbt behöver göra slÀpp, under oavbruten Continuous Improvement.
Andrei's team försökte skapa en skalbar kluster baserat pÄ virtuella maskiner. Noderna föll som dominobrickor, vilket ibland ledde till klusterkollaps. "Teoretiskt sett kan man fÄ det att fungera och underhÄlla det manuellt, men det Àr vÀldigt trÄkigt. Och om det finns en lösning pÄ marknaden som fungerar ur lÄdan, gÄr vi gÀrna dit. Och vi bytte till slut", berÀttar Andrei.
Det finns standarder för denna typ av analys och berÀkning, men ingen kan sÀga hur korrekta de Àr pÄ verklig hÄrdvara i drift. För berÀkningarna Àr det ocksÄ viktigt att förstÄ varje verktyg och ekosystem, men det Àr omöjligt.
Vad vÀntar oss

Foto av
NÀr teknologier utvecklas dyker allt fler fragment upp, och sedan sker en fasövergÄng dÀr en leverantör kommer fram som har dödat tillrÀckligt med "kapital" för att allt ska förenas i ett enda verktyg.
Tycker ni inte att det kommer en tidpunkt dÄ ett verktyg kommer att dyka upp som Ubuntu blev för LinuxvÀrlden? Kanske kommer ett enhetligt verktyg för containerisering och orkestrering Àven att inkludera Kubernetes. Det kommer att göra det enkelt att bygga on-premise moln.
Ivan svarade: "Google bygger just nu Anthos - deras paketlösning som distribuerar molnet och inkluderar Kubernetes, Service Mesh, övervakning â all bindning som behövs för mikrotjĂ€nster i 'on-premise'. Vi Ă€r nĂ€stan i framtiden."
Denis nÀmnde ocksÄ Nutanix och VMware med produkten vRealize Suite, som kan hantera liknande uppgifter utan containerisering.
Dmitrij delade med sig av sin Äsikt att minskning av "smÀrta" och sÀnkning av skatter Àr tvÄ omrÄden dÀr vi kan förvÀnta oss förbÀttringar.
Sammanfattningsvis av diskussionen kan vi lyfta fram följande problem med modern infrastruktur
- Tre av deltagarna pÄpekade problemet med stateful.
- Olika typer av problem med sÀkerhetssupport, inklusive risken att flera versioner av Python, applikationsservrar och komponenter hamnar i Docker.
Ăverutnyttjande, om vilket det Ă€r bĂ€ttre att ha ett separat möte.
Utbildningsproblematiken, eftersom orkestrering Àr en komplex ekosystem.
En allmĂ€n problematik i branschen â anvĂ€ndningen av verktyg utanför deras avsedda syfte.Ăvriga slutsatser fĂ„r ni dra sjĂ€lva. Det kvarstĂ„r en kĂ€nsla av att kopplingen Docker + Kubernetes har svĂ„rt att bli en "central" del av systemet. Till exempel installeras operativsystem först pĂ„ hĂ„rdvaran, vilket inte gĂ„r att sĂ€ga om containrar och orkestrering. Kanske kommer operativsystem och containrar att flĂ€tas samman med mjukvara för hantering av moln i framtiden.

Foto avPassar pÄ att hÀlsa till mamma och pÄminna om att vi har en Facebook-grupp , kanal med intressanta inlÀgg frÄn olika teknologibloggar. Och min kanal , dÀr jag berÀttar om utvecklingshantering i produktföretag.
KĂ€lla: habr.com

