Programavimas

Kas yra gimtoji debesys? Šiuolaikinis programinės įrangos kūrimo būdas

Sąvoka „gimtoji debesija“ yra daug išmesta, ypač debesų tiekėjai. Negana to, jis netgi turi savo pagrindą: „Cloud Native Computing Foundation“ (CNCF), kurį 2015 m. Įkūrė „Linux Foundation“.

Apibrėžta „gimtoji debesys“

Paprastai kalbant apie „debesį“ yra požiūris į programų kūrimą ir vykdymą, išnaudojant debesų kompiuterijos pristatymo modelio pranašumus. „Debesų gimtoji“ yra apie kaipprogramos kuriamos ir diegiamos, o ne kur. Tai reiškia, kad programos gyvena viešame debesyje, o ne vietoje esančiame duomenų centre.

CNCF šiek tiek siauriau apibrėžia „gimtąją debesį“, ty reiškia atvirojo kodo programinės įrangos kamino naudojimą, kurį reikia laikyti konteineriuose, kai kiekviena programos dalis yra supakuota į savo konteinerį, dinamiškai organizuojama, todėl kiekviena dalis yra aktyviai suplanuota ir sugeba optimizuoti išteklius naudojimas ir orientuotas į mikropaslaugas, siekiant padidinti bendrą programų judrumą ir palaikomumą.

„Vietinė debesies programa sukurta tam, kad veiktų tolygiai ir paskirstytai gamtai, kurios reikalauja šiuolaikinės debesų kompiuterijos platformos“, - sako Mike'as Kavisas, konsultacinės firmos „Deloitte“ generalinis direktorius. „Šios programos yra laisvai susietos, o tai reiškia, kad kodas nėra tvirtai prijungtas prie bet kurio infrastruktūros komponento, todėl programa gali padidinti ir sumažinti pagal poreikį ir priimti nekintamos infrastruktūros sąvokas. Paprastai šios architektūros yra kuriamos naudojant mikro paslaugas, tačiau tai nėra privalomas reikalavimas “.

„Cloud-native“ programoms didelis skirtumas iš tikrųjų yra tai, kaip programa yra kuriama, pristatoma ir valdoma, sako Andi Mannas, debesijos paslaugų teikėjo „Splunk“ vyriausiasis technologijų advokatas. „Pasinaudoti debesų paslaugų teikiamomis galimybėmis reiškia naudoti judrius ir keičiamo dydžio komponentus, pvz., Konteinerius, norint pateikti atskiras ir daugkartinio naudojimo funkcijas, kurios integruojamos gerai aprašytais būdais, net peržengiant technologijas, pvz.,„ Multicloud “, o tai leidžia pristatymo komandoms greitai kartoti naudojant pakartotinę automatiką ir orkestravimą.“

„Cloud-native“ programų kūrimas paprastai apima „devops“, judrią metodiką, mikropaslaugas, debesų platformas, konteinerius, tokius kaip „Kubernetes“ ir „Docker“, ir nuolatinį pristatymą - trumpai tariant, kiekvieną naują ir šiuolaikišką programos diegimo metodą.

Dėl to jūs tikrai norite turėti „platforma kaip paslauga“ („PaaS“) modelį. „PaaS“ nereikia, tačiau tai labai palengvina. Didžioji dauguma debesų klientų pradeda naudotis infrastruktūra kaip paslauga (IaaS), kuri padeda abstrahuoti jų programas nuo pagrindinės aparatūros. Tačiau „PaaS“ prideda papildomą sluoksnį, kad išvestų pagrindinę OS, todėl galite visą dėmesį skirti savo programos verslo logikai ir nesijaudinti dėl OS skambučių.

Susijęs vaizdo įrašas: koks yra „debesies“ metodas?

Šiame 60 sekundžių trukmės vaizdo įraše sužinokite, kaip „cloud-native“ požiūris keičia įmonių struktūrą savo technologijose. Tai galima sužinoti iš „Heptio“ įkūrėjo ir generalinio direktoriaus bei vieno iš atvirojo kodo „Kubernetes“ išradėjų Craigo McLuckie.

Skirtumai tarp vietinių debesų ir vietinių programų

„Cloud-native“ programų kūrimui reikalinga visiškai kitokia architektūra nei tradicinėms įmonės programoms.

Kalbos

Vietos programos, parašytos paleisti įmonės serveriuose, paprastai rašomos tradicinėmis kalbomis, pvz., C / C ++, C # ar kita „Visual Studio“ kalba, jei jos įdiegtos „Windows Server“ platformoje, ir įmonės „Java“. Ir jei tai yra pagrindiniame kompiuteryje, tai greičiausiai yra „Cobol“.

„Cloud-native“ programos greičiausiai bus parašytos į internetą orientuota kalba, o tai reiškia HTML, CSS, „Java“, „JavaScript“, .Net, Go, Node.js, PHP, Python ir Ruby.

Atnaujinimas

„Cloud-native“ programos visada yra naujausios ir atnaujintos. „Cloud-native“ programos visada yra prieinamos.

Vietinėms programoms reikia naujinių, jas paprastai tiekėjas teikia prenumeratos pagrindu, o įdiegus naujinimą reikia prastovos.

Elastingumas

Gimtosios debesies programos naudoja debesies elastingumą, naudodamos padidintus išteklius naudojimo smaigalio metu. Jei jūsų debesies pagrindu veikiančioje elektroninės prekybos programoje naudojamas šuolis, galite nustatyti, kad ji naudotų papildomus skaičiavimo išteklius, kol šuolis sumažės, ir tada išjungs tuos išteklius. „Cloud-native“ programa gali prireikus prisitaikyti prie padidėjusių išteklių ir masto.

Vietos programa negali dinamiškai keisti mastelio.

Daugialypis

„Cloud-native“ programai nekyla problemų dirbant virtualizuotoje erdvėje ir dalinantis ištekliais su kitomis programomis.

Daugelis vietinių programų arba neveikia gerai virtualioje aplinkoje, arba iš viso neveikia, todėl joms reikia neregistruotos vietos.

Susieti ištekliai

Vietinės programos ryšiai su tinklo ištekliais, pvz., Tinklais, sauga, leidimais ir saugykla, yra gana griežti. Daugelis šių išteklių turi būti užkoduoti, ir jie sugenda, jei kas nors yra perkelta ar pakeista.

„Debesyje tinklas ir saugykla yra visiškai skirtingi. Išgirdus terminą „perplatformavimas“, paprastai reikia atsižvelgti į tinklo, saugojimo ir net duomenų bazių technologijų pokyčius, kad programa galėtų veikti debesyje “, - sako„ Deloitte “Kavis.

Prastovos laikas

Debesyje yra didesnis atleidimas nuo darbo, nei yra vietoje, taigi, jei debesų paslaugų teikėjas sutriks, kitas regionas gali atsigauti.

Vietinėse programose gali būti parengtas perjungimas, tačiau yra didelė tikimybė, kad jei serveris sugenda, programa kartu su juo.

Automatika

Tiek debesų yra automatizuota, ir tai apima programų valdymą. „Natūralaus debesies teikimo pranašumai, ypač greitis ir judrumas, labai priklauso nuo patikimų, patikrintų ir patikrintų žinomų gerų procesų, kurie yra vykdomi pakartotinai, jei reikia automatizavimo ir orkestravimo įrankių, o ne rankiniu būdu, substratas“, - sako Splunkas. Mann. Inžinieriai turėtų stengtis automatizuoti praktiškai viską, ką jie daro daugiau nei vieną kartą, kad būtų galima pakartoti, savitarnai, judrumui, masteliui ir auditui bei valdymui.

Programos vietoje turi būti tvarkomos rankiniu būdu.

Modulinis dizainas

Programos vietoje yra monolitinio dizaino. Jie tikrai perkrauna kai kuriuos darbus bibliotekoms, bet galų gale tai yra viena didelė programa su daugybe paprogramių. „Cloud-native“ programos yra daug modulinės, daug funkcijų suskirstytos į mikroservisus. Tai leidžia juos išjungti, kai to nereikia, ir atnaujinimus įdiegti tame viename modulyje, o ne visoje programoje.

Be pilietybės

Dėl laisvai susieto debesies pobūdžio programos nėra susietos su infrastruktūra, o tai reiškia, kad jos neturi pilietybės. Vietinė debesies programa saugo savo būseną duomenų bazėje ar kokiame nors kitame išoriniame objekte, todėl egzemplioriai gali ateiti ir išeiti, o programa vis tiek gali stebėti, kur yra darbo vienetas. „Tai yra laisvai susietų esmė. Neprisirišimas prie infrastruktūros leidžia programoms ir programoms veikti labai paskirstytai ir vis tiek išlaikyti savo būseną nepriklausomai nuo elastingos pagrindinės infrastruktūros pobūdžio “, - sako Kavis.

Dauguma vietinių programų yra būsenos, o tai reiškia, kad jos saugo programos būseną infrastruktūroje, kurioje veikia kodas. Pridedant serverio išteklius dėl to programa gali būti sugadinta.

Gimtosios debesies kompiuterijos iššūkiai

Viena iš didelių klientų daromų klaidų yra bandymas pakelti ir perkelti savo senas vietines programas į debesis, sako Mannas. „Bandymas paimti esamas programas, ypač senas monolitines programas, ir perkelti jas į debesų infrastruktūrą, neišnaudos pagrindinių debesų funkcijų.“

Vietoj to turėtumėte ieškoti naujų dalykų naujais būdais, įtraukdami naujas debesų programas į naują debesų infrastruktūrą arba suskaidydami esamus monolitus, kad juos pertvarkytumėte, naudodamiesi debesies principais.

Taip pat turite atsisakyti senų kūrėjų metodų. Krioklio modelis tikrai netiks, ir netgi judrios plėtros gali nepakakti. Taigi, jūs turite taikyti naujus „debesies“ metodus, tokius kaip minimalaus perspektyvaus produkto (MVP) kūrimas, daugialypis testavimas, greitas iteravimas ir glaudus darbas per organizacijos ribas pagal „devops“ modelį.

Yra daugybė debesų savybių, įskaitant infrastruktūros paslaugas, automatizavimą / orkestravimą, virtualizavimą ir talpinimą, mikropaslaugų architektūrą ir stebimumą. Visa tai reiškia naują būdą daryti dalykus, o tai reiškia, kad reikia atsisakyti senų įpročių mokantis naujų būdų. Taigi darykite tai matuotu tempu.

Sužinokite daugiau apie susijusias debesų technologijas

  • Paaiškinta platforma kaip paslauga (PaaS)
  • „Multicloud“ paaiškino
  • Paaiškinta judri metodika
  • Geriausios judrios plėtros geriausios praktikos
  • Devopsas paaiškino
  • Perduoda geriausią praktiką
  • Paaiškino mikroservisai
  • „Mikroservisų“ pamoka
  • Paaiškino „Docker“ ir „Linux“ konteineriai
  • „Kubernetes“ pamoka
  • CI / CD (nuolatinė integracija ir nuolatinis pristatymas) paaiškinta
  • CI / CD geriausia praktika