Cumu migrà à u nuvulu in duie ore grazie à Kubernetes è l'automatizazione

Cumu migrà à u nuvulu in duie ore grazie à Kubernetes è l'automatizazione

A cumpagnia URUS hà pruvatu Kubernetes in diverse forme: implementazione indipendente nantu à u metale nudu, in Google Cloud, è poi trasfirìu a so piattaforma à u cloud Mail.ru Cloud Solutions (MCS). Igor Shishkin conta cumu anu sceltu un novu fornitore di nuvola è cumu si sò riesciutu à migrà in questu in un record di duie ore (t3ran), amministratore di sistema senior in URUS.

Chì faci URUS?

Ci hè parechje manere di migliurà a qualità di l'ambienti urbani, è unu d'elli hè di rende l'ambiente. Questu hè esattamente ciò chì a cumpagnia URUS - Smart Digital Services hè travagliatu. Quì implementanu soluzioni chì aiutanu l'imprese à monitorà indicatori ambientali impurtanti è riduce u so impattu negativu nantu à l'ambiente. I sensori recullanu dati nantu à a cumpusizioni di l'aria, u nivellu di rumore è altri paràmetri, è poi li mandanu à a piattaforma unificata URUS-Ekomon per l'analisi è fà cunsiglii.

Cumu URUS funziona da l'internu

Un cliente tipicu di URUS hè una cumpagnia situata in o vicinu à una zona residenziale. Questa puderia esse una fabbrica, portu, depositu ferroviariu o qualsiasi altra facilità. Se u nostru cliente hà digià ricevutu un avvisu, hè statu multatu per a contaminazione ambientale, o vole fà menu rumore, riduce a quantità di emissioni dannusu, vene à noi, è avemu digià prupostu una suluzione pronta per u monitoraghju ambientale.

Cumu migrà à u nuvulu in duie ore grazie à Kubernetes è l'automatizazione
U graficu di monitorizazione di a cuncentrazione di H2S mostra l'emissioni regulari di notte da una pianta vicinu

I dispusitivi chì avemu usatu in URUS cuntenenu parechji sensori chì recullanu infurmazioni nantu à u cuntenutu di certi gasi, livelli di rumore è altre dati per valutà a situazione ambientale. U numeru esattu di sensori hè sempre determinatu da u compitu specificu.

Cumu migrà à u nuvulu in duie ore grazie à Kubernetes è l'automatizazione
Sicondu i specifichi di e misurazioni, i dispositi cù sensori ponu esse situati nantu à i mura di l'edificazioni, pali è altri lochi arbitrarii. Ogni tali dispositivu raccoglie l'infurmazioni, l'aggregate è l'inviu à u gateway di riceve dati. Quì salvemu e dati per u almacenamentu longu è pre-processà per l'analisi sussegwenti. L'esempiu più simplice di ciò chì avemu da u risultatu di l'analisi hè l'indice di qualità di l'aire, cunnisciutu ancu AQI.

In parallelu, parechji altri servizii operanu nantu à a nostra piattaforma, ma sò principalmente di natura di serviziu. Per esempiu, u serviziu di notificazione manda notifiche à i clienti se qualcunu di i paràmetri monitorati (per esempiu, cuntenutu CO2) supera u valore permissibile.

Cumu guardemu dati. A storia di Kubernetes nantu à bare metal

U prughjettu di monitoraghju ambientale URUS hà parechji magazzini di dati. In unu, guardemu dati "crudi" - ciò chì avemu ricevutu direttamente da i dispositi stessi. Stu almacenamentu hè una cinta "magnetica", cum'è nantu à i vechji cassette cassette, cù una storia di tutti l'indicatori. U sicondu tipu d'almacenamiento hè utilizatu per i dati preprocessati - dati da i dispositi, arricchiti cù metadata nantu à e cunnessione trà i sensori è e letture di i dispusitivi stessi, affiliazione cù l'urganisazione, i lochi, etc. Questa informazione permette di valutà dinamicamente cumu hà un indicatore particulari. cambiatu in un certu periodu di tempu. Aduprà l'almacenamiento di dati "crudu", frà altre cose, cum'è una copia di salvezza è per restaurà i dati preprocessati, s'ellu ci hè bisognu.

Quandu avemu circatu di risolve u nostru prublema di almacenamentu parechji anni fà, avemu avutu duie scelte di piattaforma: Kubernetes è OpenStack. Ma postu chì l'ultime pare abbastanza monstruosa (basta à fighjà a so architettura per esse cunvinta di questu), avemu stallatu in Kubernetes. Un altru argumentu in u so favore era u cuntrollu di u software relativamente simplice, a capacità di cutà più flexiblemente ancu i nodi di hardware secondu e risorse.

Parallelamente à u maestru di Kubernetes stessu, avemu ancu studiatu modi per almacenà e dati, mentre avemu guardatu tuttu u nostru almacenamentu in Kubernetes nantu à u nostru hardware, avemu ricevutu una sperienza eccellente. Tuttu ciò chì avemu avutu allora campatu nantu à Kubernetes: almacenamiento statefull, sistema di monitoraghju, CI/CD. Kubernetes hè diventatu una piattaforma all-in-one per noi.

Ma vulemu travaglià cù Kubernetes cum'è serviziu, è micca impegnà in u so sustegnu è u sviluppu. In più, ùn ci hè micca piaciutu quantu ci hà custatu di mantene in metallo nudu, è avemu bisognu di sviluppu constantemente! Per esempiu, unu di i primi compiti era di integrà i cuntrolli Kubernetes Ingress in l'infrastruttura di rete di a nostra urganizazione. Questu hè un compitu ingombrante, soprattuttu in cunsiderà chì à quellu tempu nunda ùn era prontu per a gestione di risorse programmatiche cum'è i registri DNS o l'attribuzione di l'indirizzi IP. In seguitu avemu cuminciatu à sperimentà cù l'almacenamiento di dati esterni. Ùn avemu mai avutu à implementà u controller PVC, ma ancu allora hè diventatu chjaru chì questu era un grande spaziu di travagliu chì necessitava specialisti dedicati.

Passà à Google Cloud Platform hè una suluzione tempurale

Avemu capitu chì questu ùn puderia micca cuntinuà, è trasfirìu i nostri dati da bare metal à Google Cloud Platform. In fattu, à quellu tempu ùn ci era parechje opzioni interessanti per una sucietà russa: in più di Google Cloud Platform, solu Amazon offre un serviziu simili, ma avemu sempre stallatu nantu à a suluzione da Google. Allora ci pareva più prufittuamente economicamente, più vicinu à Upstream, per ùn dì micca u fattu chì Google stessu hè una spezia di PoC Kubernetes in Production.

U primu prublema maiò apparsu à l'orizzonte cum'è a nostra basa di clienti cresce. Quandu avemu avutu bisognu di almacenà e dati persunali, avemu avutu una scelta: o avemu travagliatu cù Google è viulemu e lege russe, o avemu cercatu una alternativa in a Federazione Russa. A scelta, in generale, era previsible. 🙂

Cumu avemu vistu u serviziu di nuvola ideale

À u principiu di a ricerca, sapemu digià ciò chì vulemu ottene da u futuru fornitore di nuvola. Chì serviziu avemu cercatu:

  • Rapidu è flessibile. Tali chì pudemu aghjunghje rapidamente un novu node o implementà qualcosa in ogni mumentu.
  • Pocu prezzu. Eramu assai preoccupati di u prublema finanziariu, postu chì eramu limitati in risorse. Sapemu digià chì vulemu travaglià cù Kubernetes, è avà u compitu era di minimizzà u so costu per aumentà o almenu mantene l'efficienza di utilizà sta suluzione.
  • Automatizatu. Avemu previstu di travaglià cù u serviziu per mezu di l'API, senza gestori è telefuni o situazioni induve avemu bisognu di elevà manualmente parechje decine di nodi in modu d'emergenza. Siccomu a maiò parte di i nostri prucessi sò automatizati, avemu aspittatu u stessu da u serviziu di nuvola.
  • Cù servitori in a Federazione Russa. Di sicuru, avemu previstu di rispettà a legislazione russa è u listessu 152-FZ.

À quellu tempu, ci era pocu fornitori Kubernetes aaS in Russia, è quandu sceglite un fornitore, era impurtante per noi micca di cumprumette e nostre priorità. A squadra di Mail.ru Cloud Solutions, cù quale avemu cuminciatu à travaglià è sò sempre in cullaburazione, ci hà furnitu un serviziu cumplettamente automatizatu, cù supportu API è un pannellu di cuntrollu cunvene chì include Horizon - cun ellu pudemu alzà rapidamente un numeru arbitrariu di nodi.

Cumu avemu riisciutu à migrà à MCS in duie ore

In tali muvimenti, assai cumpagnie facenu difficultà è scontri, ma in u nostru casu ùn ci era nimu. Avemu avutu a furtuna: postu chì eramu digià travagliatu nantu à Kubernetes prima di a migrazione, avemu solu currettu trè schedari è lanciamu i nostri servizii nantu à a nova piattaforma cloud, MCS. Lasciami ricurdà chì à quellu tempu avemu avutu finalmente lasciatu u metalu nudu è campatu nantu à a piattaforma Google Cloud. Per quessa, u muvimentu stessu ùn hà pigliatu più di duie ore, più un pocu di più tempu (circa una ora) hè stata spesa à copià dati da i nostri dispusitivi. Allora eramu digià utilizatu Spinnaker (un serviziu di CD multi-nuvola per furnisce una Consegna Continua). Avemu ancu aghjustatu rapidamente à u novu cluster è cuntinuamu à travaglià cum'è di solitu.

Grazie à l'automatizazione di i prucessi di sviluppu è CI / CD, Kubernetes à URUS hè trattatu da un specialista (è questu sò mè). À un certu puntu, un altru amministratore di u sistema hà travagliatu cun mè, ma dopu hè statu chì avemu digià automatizatu tutte e rutina principale è ci era più è più tarei da a parte di u nostru pruduttu principale è hà fattu sensu per dirighjenu risorse à questu.

Avemu ricevutu ciò chì aspettavamu da u fornitore di nuvola, postu chì avemu principiatu a cooperazione senza illusioni. S'ellu ci era qualchì incidente, eranu soprattuttu tecnichi è quelli chì ponu esse facilmente spiegati da a relativa freschezza di u serviziu. A cosa principal hè chì a squadra MCS elimina rapidamente i difetti è risponde rapidamente à e dumande in i messageri.

Se paragunà a mo sperienza cù Google Cloud Platform, in u so casu ùn sapia mancu induve era u buttone di feedback, postu chì ùn ci era micca bisognu. È s'ellu ci hè un prublema, Google stessu hà mandatu notificazioni unilateralmente. Ma in u casu di MCS, pensu chì u grande vantaghju hè chì sò u più vicinu pussibule à i clienti russi - sia geograficamente sia mentalmente.

Cumu vedemu u travagliu cù i nuvuli in u futuru

Avà u nostru travagliu hè strettamente ligatu à Kubernetes, è ci cunvene cumplettamente da u puntu di vista di i travaglii di l'infrastruttura. Per quessa, ùn avemu micca pensatu di migrà da ellu in ogni locu, ancu s'è avemu intruduciutu constantemente novi pratiche è servizii per simplificà e attività di rutina è automatizà e novi, aumentà a stabilità è l'affidabilità di i servizii... Avà lanciamu u serviziu Chaos Monkey (specificamente). , usemu chaoskube, ma questu ùn cambia micca u cuncettu: ), chì hè stata creata in origine da Netflix. Chaos Monkey face una cosa simplice: elimina un pod Kubernetes aleatoriu in un tempu aleatoriu. Questu hè necessariu per u nostru serviziu per campà nurmalmente cù u numeru di casi n-1, cusì ci entremu per esse preparatu per ogni prublema.

Avà vede l'usu di suluzioni di terzu partitu - i stessi piattaforme nuvola - cum'è l'unicu ghjustu per i ghjovani cumpagnie. Di solitu, à u principiu di u so viaghju, sò limitati in risorse, sia umane sia finanziarie, è custruisce è mantene a so propria nuvola o centru di dati hè troppu caru è intensivu di travagliu. I fornitori di nuvola permettenu di minimizzà questi costi; pudete ottene rapidamente da elli e risorse necessarie per l'operazione di servizii quì è avà, è pagà per queste risorse dopu à u fattu. In quantu à a cumpagnia URUS, resteremu fideli à Kubernetes in u nuvulu per avà. Ma quale sà, pudemu avè da espansione geograficamente, o implementà suluzioni basate nantu à qualchi equipaggiu specifichi. O forse a quantità di risorse cunsumate ghjustificà u propiu Kubernetes in bare-metal, cum'è in i boni vechji tempi. 🙂

Ciò chì avemu amparatu da travaglià cù servizii di nuvola

Avemu cuminciatu à aduprà Kubernetes nantu à u metale nudu, è ancu quì era bonu in u so modu. Ma i so punti di forza sò stati rivelati precisamente cum'è un cumpunente aaS in u nuvulu. Sè avete stabilitu un scopu è automatizà tuttu quant'è pussibule, puderete evità u lock-in di u venditore è u muvimentu trà i fornituri di nuvola piglià un paru d'ore, è e cellule nervose resteranu cun noi. Pudemu cunsiglià à altre cumpagnie: sè vo vulete lancià u vostru propiu serviziu (nuvola), avè risorse limitate è velocità massima per u sviluppu, cuminciate avà da affittu risorse in nuvola, è custruisce u vostru centru di dati dopu chì Forbes scrive nantu à voi.

Source: www.habr.com

Add a comment