Seilwaith modern: problemau a rhagolygon

Seilwaith modern: problemau a rhagolygon

Ddiwedd mis Mai rydym cynnal cyfarfod ar-lein ar y pwnc “Isadeiledd a chynwysyddion modern: problemau a rhagolygon”. Buom yn siarad am gynwysyddion, Kubernetes ac offeryniaeth mewn egwyddor, meini prawf ar gyfer dewis seilwaith a llawer mwy. Rhannodd y cyfranogwyr achosion o'u practis eu hunain.

Cyfranogwyr:

  • Evgeniy Potapov, Prif Swyddog Gweithredol ITSumma. Mae mwy na hanner ei gwsmeriaid naill ai eisoes yn symud neu eisiau newid i Kubernetes.
  • Dmitry Stolyarov, CTO "Fflant". Mae ganddo 10+ mlynedd o brofiad yn gweithio gyda systemau cynwysyddion.
  • Denis Remchukov (aka Eric Oldmann), COO argotech.io, cyn-RAO UES. Addawodd siarad am achosion yn y fenter “waedlyd”.
  • Andrey Fedorovsky, CTO “News360.com”Ar ôl prynu'r cwmni gan chwaraewr arall, mae'n gyfrifol am nifer o brosiectau a seilwaith ML ac AI.
  • Ivan Kruglov, peiriannydd systemau, cyn-Booking.com.Yr un person a wnaeth lawer gyda Kubernetes gyda'i ddwylo ei hun.

Themâu:

  • Mewnwelediadau cyfranogwyr am gynwysyddion ac offeryniaeth (Docker, Kubernetes, ac ati); yr hyn a brofwyd yn ymarferol neu a ddadansoddwyd.
  • Achos: Mae'r cwmni'n adeiladu cynllun datblygu seilwaith ers blynyddoedd. Sut y gwneir y penderfyniad a ddylid adeiladu (neu symud y presennol) seilwaith i gynwysyddion a Kuber ai peidio?
  • Problemau yn y byd cwmwl-frodorol, yr hyn sydd ar goll, gadewch i ni ddychmygu beth fydd yn digwydd yfory.

Cafwyd trafodaeth ddiddorol, roedd barn y cyfranogwyr mor wahanol ac wedi achosi cymaint o sylwadau yr wyf am eu rhannu gyda chi. Bwyta fideo tair awr, ac isod mae crynodeb o'r drafodaeth.

A yw Kubernetes eisoes yn farchnata safonol neu wych?

“ Daethom ato (Kubernetes. — Ed.) pan nad oedd neb yn gwybod am dano eto. Daethom ato hyd yn oed pan nad oedd yno. Roedden ni ei eisiau o'r blaen" - Dmitry Stolyarov

Seilwaith modern: problemau a rhagolygon
Llun o Reddit.com

5-10 mlynedd yn ôl roedd yna nifer fawr o offer, ac nid oedd un safon. Bob chwe mis ymddangosodd cynnyrch newydd, neu hyd yn oed mwy nag un. First Vagrant, yna Salt, Chef, Pyped,... “ac rydych chi'n ailadeiladu'ch seilwaith bob chwe mis. Mae gennych chi bum gweinyddwr sy'n gyson brysur yn ailysgrifennu cyfluniadau,” cofia Andrey Fedorovsky. Mae’n credu bod Docker a Kubernetes wedi “gorlenwi” y gweddill. Mae Docker wedi dod yn safon yn y pum mlynedd diwethaf, Kubernetes yn y ddwy flynedd ddiwethaf. Ac mae hynny'n dda i'r diwydiant..

Mae Dmitry Stolyarov a'i dîm yn caru Kuber. Yr oedd arnynt eisiau y fath arf cyn iddo ymddangos, a daeth ato pan na wyddai neb am dano. Ar hyn o bryd, am resymau cyfleustra, nid ydynt yn cymryd cleient os ydynt yn deall na fyddant yn gweithredu Kubernetes gydag ef. Ar yr un pryd, yn ôl Dmitry, mae gan y cwmni “lawer o straeon llwyddiant enfawr am ail-wneud yr etifeddiaeth ofnadwy.”

Mae Kubernetes nid yn unig yn offeryniaeth cynhwysydd, mae'n system rheoli cyfluniad gydag API datblygedig, cydran rwydweithio, cydbwyso L3 a rheolwyr Ingress, sy'n ei gwneud hi'n gymharol hawdd rheoli adnoddau, graddfa a haniaethol o haenau isaf y seilwaith.

Yn anffodus, yn ein bywyd mae'n rhaid i ni dalu am bopeth. Ac mae'r dreth hon yn fawr, yn enwedig os byddwn yn siarad am y newid i Kubernetes o gwmni sydd â seilwaith datblygedig, fel y cred Ivan Kruglov. Gallai weithio'n rhydd mewn cwmni gyda seilwaith traddodiadol a chyda Kuber. Y prif beth yw deall nodweddion y cwmni a'r farchnad. Ond, er enghraifft, ar gyfer Evgeny Potapov, a fyddai'n cyffredinoli Kubernetes i unrhyw offeryn offeryniaeth cynhwysydd, nid yw cwestiwn o'r fath yn codi.

Tynnodd Evgeniy gyfatebiaeth â'r sefyllfa yn y 1990au, pan ymddangosodd rhaglennu gwrthrych-ganolog fel ffordd o raglennu cymwysiadau cymhleth. Bryd hynny, parhaodd y ddadl ac roedd yn ymddangos bod offer newydd yn cefnogi OOP. Yna daeth microwasanaethau i'r amlwg fel ffordd o symud i ffwrdd o'r cysyniad monolithig. Arweiniodd hyn, yn ei dro, at ymddangosiad cynwysyddion ac offer rheoli cynwysyddion. “Rwy’n meddwl y byddwn yn dod i amser yn fuan pan na fydd unrhyw gwestiwn ynghylch a yw’n werth ysgrifennu cais microwasanaeth bach, bydd yn cael ei ysgrifennu fel microwasanaeth yn ddiofyn,” mae’n credu. Yn yr un modd, Docker a Kubernetes fydd yr ateb safonol yn y pen draw heb fod angen dewis.

Problem cronfeydd data yn ddi-wladwriaeth

Seilwaith modern: problemau a rhagolygon
Llun gan Twitter: @jankolario ar Unsplash

Y dyddiau hyn, mae yna lawer o ryseitiau ar gyfer rhedeg cronfeydd data yn Kubernetes. Hyd yn oed sut i wahanu'r rhan sy'n gweithio gyda'r ddisg I / O oddi wrth, yn amodol, y rhan gymhwyso o'r gronfa ddata. A yw'n bosibl y bydd cronfeydd data yn y dyfodol yn newid cymaint fel y byddant yn cael eu cyflwyno mewn blwch, lle bydd un rhan yn cael ei threfnu trwy Docker a Kubernetes, ac mewn rhan arall o'r seilwaith, trwy feddalwedd ar wahân, bydd y rhan storio yn cael ei darparu ? A fydd y seiliau'n newid fel cynnyrch?

Mae'r disgrifiad hwn yn debyg i reoli ciw, ond mae'r gofynion ar gyfer dibynadwyedd a chydamseru gwybodaeth mewn cronfeydd data traddodiadol yn llawer uwch, cred Andrey. Mae'r gymhareb taro cache mewn cronfeydd data arferol yn parhau i fod yn 99%. Os bydd gweithiwr yn mynd i lawr, mae un newydd yn cael ei lansio, ac mae'r storfa'n “cynhesu” o'r dechrau. Hyd nes y bydd y storfa wedi'i gynhesu, mae'r gweithiwr yn gweithio'n araf, sy'n golygu na ellir ei lwytho â llwyth defnyddiwr. Er nad oes llwyth defnyddiwr, nid yw'r storfa yn cynhesu. Mae'n gylch dieflig.

Mae Dmitry yn anghytuno'n sylfaenol - mae cworwm a darnio yn datrys y broblem. Ond mae Andrey yn mynnu nad yw'r ateb yn addas i bawb. Mewn rhai sefyllfaoedd, mae cworwm yn addas, ond mae'n rhoi llwyth ychwanegol ar y rhwydwaith. Nid yw cronfa ddata NoSQL yn addas ym mhob achos.

Rhannwyd cyfranogwyr y cyfarfod yn ddau wersyll.

Mae Denis ac Andrey yn dadlau bod popeth sy'n cael ei ysgrifennu ar ddisg - cronfeydd data ac yn y blaen - yn amhosibl ei wneud yn ecosystem Kuber gyfredol. Mae'n amhosibl cynnal cywirdeb a chysondeb data cynhyrchu yn Kubernetes. Mae hon yn nodwedd sylfaenol. Ateb: seilwaith hybrid.

Mae hyd yn oed cronfeydd data brodorol cwmwl modern fel MongoDB a Cassandra, neu giwiau neges fel Kafka neu RabbitMQ, yn gofyn am storfeydd data parhaus y tu allan i Kubernetes.

Mae Evgeniy yn gwrthwynebu: “Mae’r canolfannau yn Kubera yn anaf bron yn Rwsia, neu’n agos at fenter, sy’n gysylltiedig â’r ffaith nad oes Mabwysiadu Cwmwl yn Rwsia.” Cwmwl yw cwmnïau bach neu ganolig eu maint yn y Gorllewin. Mae cronfeydd data Amazon RDS yn haws i'w defnyddio na tincian gyda Kubernetes eich hun. Yn Rwsia maen nhw'n defnyddio Kuber “ar y safle” ac yn trosglwyddo seiliau iddo pan maen nhw'n ceisio cael gwared ar y sw.

Roedd Dmitry hefyd yn anghytuno â’r datganiad na ellir cadw unrhyw gronfeydd data yn Kubernetes: “Mae’r sylfaen yn wahanol i’r sylfaen. Ac os ydych yn gwthio cronfa ddata berthynol enfawr, yna o dan unrhyw amgylchiadau. Os gwthiwch rywbeth bach a chymylau brodorol, sydd wedi’i baratoi’n feddyliol ar gyfer bywyd lled-dros dro, bydd popeth yn iawn.” Soniodd Dmitry hefyd nad yw offer rheoli cronfa ddata yn barod ar gyfer naill ai Docker neu Kuber, felly mae anawsterau mawr yn codi.

Mae Ivan, yn ei dro, yn sicr, hyd yn oed os ydym yn haniaethol o'r cysyniadau o wladwriaethol a di-wladwriaeth, nid yw'r ecosystem o atebion menter yn Kubernetes yn barod eto. Gyda Kuber, mae'n anodd cynnal gofynion deddfwriaethol a rheoliadol. Er enghraifft, mae'n amhosibl gwneud datrysiad darparu hunaniaeth lle mae angen gwarantau adnabod gweinydd llym, hyd at y caledwedd sy'n cael ei fewnosod yn y gweinyddwyr. Mae'r maes hwn yn datblygu, ond nid oes ateb eto.
Nid oedd y cyfranogwyr yn gallu cytuno, felly ni fydd unrhyw gasgliadau yn y rhan hon. Gadewch i ni roi ychydig o enghreifftiau ymarferol.

Achos 1. Seiberddiogelwch “mega-reolydd” gyda chanolfannau y tu allan i Kubera

Yn achos system seiberddiogelwch ddatblygedig, mae'r defnydd o gynwysyddion ac offeryniaeth yn ei gwneud hi'n bosibl ymladd yn erbyn ymosodiadau ac ymwthiadau. Er enghraifft, mewn un mega-reoleiddiwr, gweithredodd Denis a'i dîm gyfuniad o gerddorfa gyda gwasanaeth SIEM hyfforddedig sy'n dadansoddi logiau mewn amser real ac yn pennu'r broses o ymosodiad, hacio neu fethiant. Mewn achos o ymosodiad, ymgais i osod rhywbeth, neu mewn achos o ymosodiad firws ransomware, mae'n, trwy'r cerddor, yn codi cynwysyddion gyda chymwysiadau yn gyflymach nag y maent yn cael eu heintio, neu'n gyflymach nag y mae'r ymosodwr yn ymosod arnynt.

Achos 2. Mudo rhannol o gronfeydd data Booking.com i Kubernetes

Yn Booking.com, y brif gronfa ddata yw MySQL gyda dyblygu asyncronaidd - mae meistr a hierarchaeth gyfan o gaethweision. Erbyn i Ivan adael y cwmni, lansiwyd prosiect i drosglwyddo caethweision a allai gael eu “saethu” gyda difrod penodol.

Yn ogystal â'r prif sylfaen, mae gosodiad Cassandra gydag offeryniaeth hunan-ysgrifenedig, a ysgrifennwyd hyd yn oed cyn i Kuber fynd i mewn i'r brif ffrwd. Nid oes unrhyw broblemau yn hyn o beth, ond mae'n barhaus ar SSDs lleol. Ni ddefnyddir storfa bell, hyd yn oed o fewn yr un ganolfan ddata, oherwydd problem hwyrni uchel.

Y trydydd dosbarth o gronfeydd data yw gwasanaeth chwilio Booking.com, lle mae pob nod gwasanaeth yn gronfa ddata. Methodd yr ymdrechion i drosglwyddo’r gwasanaeth chwilio i Kuber, oherwydd bod pob nod yn 60-80 GB o storfa leol, sy’n anodd ei “godi” a’i “gynhesu”.

O ganlyniad, ni throsglwyddwyd y peiriant chwilio i Kubernetes, ac nid yw Ivan yn credu y bydd ymdrechion newydd yn y dyfodol agos. Trosglwyddwyd cronfa ddata MySQL yn ei hanner: dim ond caethweision, nad ydynt yn ofni cael eu “saethu”. Mae Cassandra wedi setlo i mewn yn berffaith.

Dewis seilwaith fel tasg heb ateb cyffredinol

Seilwaith modern: problemau a rhagolygon
Llun gan Manuel Geissinger o Pexels

Gadewch i ni ddweud bod gennym ni gwmni newydd, neu gwmni lle mae rhan o'r seilwaith yn cael ei adeiladu yn yr hen ffordd. Mae'n adeiladu cynllun datblygu seilwaith am flynyddoedd. Sut y gwneir y penderfyniad a ddylid adeiladu seilwaith ar gynwysyddion a Kuber ai peidio?

Mae cwmnïau sy'n ymladd dros nanoseconds wedi'u heithrio o'r drafodaeth. Mae ceidwadaeth iach yn talu ar ei ganfed o ran dibynadwyedd, ond mae yna gwmnïau o hyd a ddylai ystyried dulliau gweithredu newydd.

Ivan: “Byddwn yn bendant yn dechrau cwmni ar gwmwl nawr, dim ond oherwydd ei fod yn gyflymach,” er nad o reidrwydd yn rhatach. Gyda datblygiad cyfalafiaeth menter, nid oes gan fusnesau newydd unrhyw broblemau mawr gydag arian, a'r brif dasg yw goncro'r farchnad.

Mae Ivan o'r farn bod mae datblygu'r seilwaith presennol yn faen prawf dethol. Os bu buddsoddiad difrifol yn y gorffennol, ac mae’n gweithio, yna nid oes diben ei ail-wneud. Os na chaiff y seilwaith ei ddatblygu, a bod problemau gydag offer, diogelwch a monitro, yna mae'n gwneud synnwyr edrych ar seilwaith gwasgaredig.

Bydd yn rhaid talu'r dreth beth bynnag, a byddai Ivan yn talu'r un a ganiataodd iddo dalu llai yn y dyfodol. "Oherwydd yn syml oherwydd y ffaith fy mod yn reidio ar drên y mae eraill yn ei symud, byddaf yn teithio'n llawer pellach na phe bawn yn eistedd ar drên arall, y mae'n rhaid i mi roi tanwydd ynddo fy hun.“meddai Ivan. Pan fydd y cwmni'n newydd, a'r gofynion hwyrni yn ddegau o filieiliadau, yna byddai Ivan yn edrych tuag at y “gweithredwyr” y mae cronfeydd data clasurol yn cael eu “lapio” ynddynt heddiw. Maent yn codi cadwyn atgynhyrchu, sy'n newid ei hun rhag ofn y bydd methiant, ac ati ...

I gwmni bach gyda chwpl o weinyddion, nid yw Kubera yn gwneud unrhyw synnwyr, ”meddai Andrey. Ond os yw'n bwriadu tyfu i gannoedd o weinyddion neu fwy, yna mae angen awtomeiddio a system rheoli adnoddau. Mae 90% o achosion yn werth y gost. Ar ben hynny, waeth beth fo lefel y llwyth a'r adnoddau. Mae'n gwneud synnwyr i bawb, o fusnesau newydd i gwmnïau mawr gyda chynulleidfa o filiynau, edrych yn raddol tuag at gynhyrchion cerddorfaol cynwysyddion. “Ie, dyma’r dyfodol mewn gwirionedd,” mae Andrey yn siŵr.

Amlinellodd Denis ddau brif faen prawf - scalability a sefydlogrwydd gweithrediad. Bydd yn dewis yr offer sydd fwyaf addas ar gyfer y dasg. “Gallai fod yn noname wedi’i ymgynnull ar eich pengliniau, ac mae ganddo Nutanix Community Edition arno. Gallai hon fod yn ail linell ar ffurf cais ar Kuber gyda chronfa ddata ar y backend, sy'n cael ei dyblygu ac sydd â pharamedrau RTO a RPO penodedig" (amcanion amser adfer / pwynt - tua.).

Nododd Evgeniy broblem bosibl gyda phersonél. Ar hyn o bryd, nid oes llawer o arbenigwyr cymwys iawn ar y farchnad sy'n deall y “perfedd.” Yn wir, os yw'r dechnoleg a ddewiswyd yn hen, yna mae'n anodd llogi unrhyw un heblaw pobl ganol oed sydd wedi diflasu ac wedi blino ar fywyd. Er bod cyfranogwyr eraill yn credu mai mater o hyfforddiant personél yw hwn.
Os byddwn yn rhoi'r cwestiwn o ddewis: i lansio cwmni bach yn y Cwmwl Cyhoeddus gyda chronfeydd data yn Amazon RDS neu "ar y rhagosodiad" gyda chronfeydd data yn Kubernetes, yna er gwaethaf rhai diffygion, daeth Amazon RDS yn ddewis y cyfranogwyr.

Gan nad yw mwyafrif gwrandawyr y cyfarfod yn dod o'r fenter “waedlyd”, felly datrysiadau dosranedig yw'r hyn y dylem anelu ato. Rhaid i systemau storio data gael eu dosbarthu, yn ddibynadwy, a chreu hwyrni wedi'i fesur mewn unedau milieiliadau, degau ar y mwyaf“, Crynhodd Andrey.

Asesu Defnydd Kubernetes

Gofynnodd y gwrandäwr Anton Zhbankov gwestiwn trap i ymddiheurwyr Kubernetes: sut wnaethoch chi ddewis a chynnal astudiaeth ddichonoldeb? Pam Kubernetes, beth am beiriannau rhithwir, er enghraifft?

Seilwaith modern: problemau a rhagolygon
Llun gan Tatyana Eremina ar Unsplash

Atebodd Dmitry ac Ivan. Yn y ddau achos, trwy brawf a chamgymeriad, gwnaed dilyniant o benderfyniadau, ac o ganlyniad cyrhaeddodd y ddau gyfranogwr Kubernetes. Nawr mae busnesau'n dechrau datblygu meddalwedd yn annibynnol sy'n gwneud synnwyr i'w drosglwyddo i Kuber. Nid ydym yn sôn am systemau trydydd parti clasurol, megis 1C. Mae Kubernetes yn helpu pan fydd angen i ddatblygwyr wneud datganiadau yn gyflym, gyda Gwelliant Parhaus di-stop.

Ceisiodd tîm Andrey greu clwstwr graddadwy yn seiliedig ar beiriannau rhithwir. Syrthiodd nodau fel dominos, a arweiniodd weithiau at gwymp y clwstwr. “Yn ddamcaniaethol, gallwch chi ei orffen a'i gefnogi â'ch dwylo, ond mae'n ddiflas. Ac os oes ateb ar y farchnad sy'n eich galluogi i weithio allan o'r bocs, yna rydym yn hapus i fynd amdani. Ac fe wnaethon ni newid o ganlyniad,” meddai Andrey.

Mae yna safonau ar gyfer dadansoddi a chyfrifo o'r fath, ond ni all neb ddweud pa mor gywir ydynt ar galedwedd go iawn ar waith. Ar gyfer cyfrifiadau, mae hefyd yn bwysig deall pob offeryn ac ecosystem, ond nid yw hyn yn bosibl.

Beth sy'n ein disgwyl

Seilwaith modern: problemau a rhagolygon
Llun gan Drew Beamer ar Unsplash

Wrth i dechnoleg esblygu, mae mwy a mwy o ddarnau gwahanol yn ymddangos, ac yna mae trawsnewidiad cyfnod yn digwydd, mae gwerthwr yn ymddangos sydd wedi lladd digon o does i bopeth ddod at ei gilydd mewn un offeryn.

Ydych chi'n meddwl y daw amser pan fydd teclyn fel Ubuntu ar gyfer y byd Linux? Efallai y bydd un offeryn cynhwysyddio ac offeryniaeth yn cynnwys Kuber. Bydd yn ei gwneud hi'n hawdd adeiladu cymylau ar y safle.

Rhoddwyd yr ateb gan Ivan: “Mae Google bellach yn adeiladu Anthos - dyma eu cynnig wedi’i becynnu sy’n defnyddio’r cwmwl ac sy’n cynnwys Kuber, Service Mesh, monitro - yr holl galedwedd sydd ei angen ar gyfer microwasanaethau ar y safle.” Rydyn ni bron yn y dyfodol."

Soniodd Denis hefyd am Nutanix a VMWare gyda'r cynnyrch vRealize Suite, a all ymdopi â thasg debyg heb gynhwysiad.

Rhannodd Dmitry ei farn bod lleihau’r “boen” a lleihau trethi yn ddau faes lle gallwn ddisgwyl gwelliannau.

I grynhoi'r drafodaeth, rydym yn tynnu sylw at y problemau canlynol o ran seilwaith modern:

  • Nododd tri chyfranogwr ar unwaith broblem gyda stateful.
  • Amryw o faterion cymorth diogelwch, gan gynnwys y posibilrwydd y bydd Docker yn cael fersiynau lluosog o Python, gweinyddwyr cymwysiadau, a chydrannau.
    Gorwariant, sy'n well i'w drafod mewn cyfarfod ar wahân.
    Mae her ddysgu fel offeryniaeth yn ecosystem gymhleth.
    Problem gyffredin yn y diwydiant yw camddefnyddio offer.

    Mae gweddill y casgliadau i fyny i chi. Mae teimlad o hyd nad yw'n hawdd i'r cyfuniad Docker + Kubernetes ddod yn rhan "ganolog" o'r system. Er enghraifft, gosodir systemau gweithredu ar galedwedd yn gyntaf, na ellir dweud am gynwysyddion ac offeryniaeth. Efallai yn y dyfodol, bydd systemau gweithredu a chynwysyddion yn uno â meddalwedd rheoli cwmwl.

    Seilwaith modern: problemau a rhagolygon
    Llun gan Gabriel Santos Fotografia o Pexels

    Hoffwn gymryd y cyfle hwn i ddweud helo wrth fy mam a’ch atgoffa bod gennym grŵp Facebook "Rheoli a datblygu prosiectau TG mawr", sianel @feedmeto gyda chyhoeddiadau diddorol o flogiau technoleg amrywiol. A fy sianel @rybakalexey, lle rwy'n siarad am reoli datblygiad mewn cwmnïau cynnyrch.

Ffynhonnell: hab.com

Ychwanegu sylw