Ohjelmointi

Mikä on pilvikansallinen? Moderni tapa kehittää ohjelmistoja

Termiä "pilvikantakieli" heitetään paljon ympäri, erityisesti pilvipalvelujen tarjoajien keskuudessa. Ei vain sitä, mutta sillä on jopa oma perusta: Cloud Native Computing Foundation (CNCF), jonka Linux Foundation perusti vuonna 2015.

Määritelty ”pilvikohtainen”

Yleisesti ottaen "cloud-native" on lähestymistapa sovellusten rakentamiseen ja käyttämiseen, jossa hyödynnetään pilvipalvelujen toimitusmallin etuja. "Cloud-native" on noin Mitensovellukset luodaan ja otetaan käyttöön, ei missä. Se tarkoittaa, että sovellukset elävät julkisessa pilvessä, toisin kuin paikalliset palvelinkeskukset.

CNCF määrittelee "pilvikontaktin" hieman suppeammin, tarkoittaen avoimen lähdekoodin ohjelmistopinon käyttöä konttisäilöön, jossa kukin sovelluksen osa on pakattu omaan säilöönsä, dynaamisesti sovitettuna, joten jokainen osa on aktiivisesti ajoitettu ja hallittu resurssien optimoimiseksi hyödyntämistä ja mikropalveluihin suuntautuneita sovellusten yleisen ketteryyden ja ylläpidettävyyden lisäämiseksi.

"Pilvipohjainen sovellus on suunniteltu toimimaan joustavasti ja hajautetusti, jota modernit pilvipalvelualustat edellyttävät", sanoo konsulttiyrityksen Deloitten toimitusjohtaja Mike Kavis. "Nämä sovellukset on yhdistetty löyhästi, mikä tarkoittaa, että koodia ei ole kytketty mihinkään infrastruktuurin komponenttiin, joten sovellus voi skaalata ylös ja alas kysynnän mukaan ja omaksua muuttumattoman infrastruktuurin käsitteet. Nämä arkkitehtuurit rakennetaan tyypillisesti mikropalveluilla, mutta se ei ole pakollinen vaatimus. "

Pilvipohjaisten sovellusten suuri ero on silloin, miten sovellus rakennetaan, toimitetaan ja käytetään, kertoo pilvipalvelujen tarjoajan Splunkin johtava teknologiaedustaja Andi Mann. "Pilvipalveluiden hyödyntäminen tarkoittaa ketterien ja skaalautuvien komponenttien, kuten konttien, käyttämistä erillisten ja uudelleenkäytettävien ominaisuuksien tuottamiseksi, jotka integroituvat hyvin kuvatuilla tavoilla, jopa teknologian rajojen yli, kuten multicloud, mikä antaa toimitusryhmille mahdollisuuden toistaa nopeasti toistettavan automaation ja orkestroinnin avulla."

Pilvipohjainen sovelluskehitys sisältää tyypillisesti sovellukset, ketterän menetelmän, mikropalvelut, pilvialustat, kontit, kuten Kubernetesin ja Dockerin, sekä jatkuvan toimituksen - lyhyesti sanottuna kaikki uudet ja modernit sovellusten käyttöönottomenetelmät.

Tämän takia haluat todella saada alustana palveluna -mallin (PaaS). PaaS-palvelua ei vaadita, mutta se tekee asioista paljon helpompaa. Suurin osa pilvi-asiakkaista aloittaa infrastruktuurin palveluna (IaaS), joka auttaa erottamaan sovelluksensa taustalla olevasta laitteistosta. Mutta PaaS lisää ylimääräisen kerroksen taustan sisältävän käyttöjärjestelmän abstraktiksi, joten voit keskittyä kokonaan sovelluksesi liiketoimintalogiikkaan äläkä huolehdi käyttöjärjestelmän puheluiden soittamisesta.

Liittyvä video: Mikä on pilvikohtainen lähestymistapa?

Tässä 60 sekunnin videossa saat selville, kuinka pilvipohjainen lähestymistapa muuttaa yritysten tapaa rakentaa teknologiansa. Heption perustaja ja toimitusjohtaja Craig McLuckie ja yksi avoimen lähdekoodin Kubernetesin keksijöistä.

Erot pilvikohtaisten ja paikallisten sovellusten välillä

Pilvipohjaisten sovellusten kehitys vaatii hyvin erilaista arkkitehtuuria kuin perinteiset yrityssovellukset.

Kieli (kielet

Yrityksen palvelimilla suoritettavaksi kirjoitetut paikalliset sovellukset kirjoitetaan yleensä perinteisillä kielillä, kuten C / C ++, C # tai muulla Visual Studio -kiellolla, jos ne on otettu käyttöön Windows Server -alustalla, ja yrityksen Java-kielellä. Ja jos se on keskusyksikössä, se on todennäköisesti Cobolissa.

Pilvipohjaiset sovellukset kirjoitetaan todennäköisemmin verkkokeskeisellä kielellä, mikä tarkoittaa HTML, CSS, Java, JavaScript, .Net, Go, Node.js, PHP, Python ja Ruby.

Päivitettävyys

Pilvipohjaiset sovellukset ovat aina ajan tasalla ja ajan tasalla. Pilvipohjaiset sovellukset ovat aina käytettävissä.

Paikalliset sovellukset tarvitsevat päivityksiä, ja toimittaja toimittaa ne yleensä tilausperusteisesti, ja ne edellyttävät seisokkeja päivityksen asennuksen aikana.

Joustavuus

Pilvipohjaiset sovellukset hyödyntävät pilven joustavuutta käyttämällä lisääntyneitä resursseja käyttöpiikin aikana. Jos pilvipohjaisessa verkkokauppasovelluksessa on käytetty piikkiä, voit asettaa sen asettamaan käyttämään ylimääräisiä laskentaresursseja, kunnes piikki lakkaa, ja sammuttamaan nämä resurssit. Pilvipohjainen sovellus voi sopeutua lisääntyneisiin resursseihin ja mittakaavaan tarpeen mukaan.

Paikallinen sovellus ei voi skaalata dynaamisesti.

Monivärinen

Pilvipohjaisessa sovelluksessa ei ole ongelmaa työskennellä virtualisoidussa tilassa ja jakaa resursseja muiden sovellusten kanssa.

Monet paikalliset sovellukset eivät joko toimi hyvin virtuaaliympäristössä tai eivät toimi lainkaan ja edellyttävät virtualisoimattomaa tilaa.

Yhdistetyt resurssit

Paikallinen sovellus on suhteellisen jäykkä yhteyksissään verkkoresursseihin, kuten verkkoihin, tietoturvaan, käyttöoikeuksiin ja tallennustilaan. Monet näistä resursseista on koodattava kovasti, ja ne hajoavat, jos jotain siirretään tai muutetaan.

”Verkko ja tallennustila ovat täysin erilaiset pilvessä. Kun kuulet sanan ”uudelleenalustaminen”, se on yleensä työtä verkko-, tallennus- ja jopa tietokantateknologioiden muutosten huomioon ottamiseksi, jotta sovellus voi toimia pilvessä ”, kertoo Deloitte's Kavis.

Seisonta-aika

Pilvessä on enemmän redundanssia kuin paikan päällä, joten jos pilvipalvelujen tarjoaja kärsii katkoksesta, toinen alue voi poimia sen.

Paikallisissa sovelluksissa voi olla vikasietoisuus, mutta on suuri mahdollisuus, että jos palvelin menee alas, sovellus laskee sen mukana.

Automaatio

Paljon pilvestä on automatisoitua, ja se sisältää sovellusten hallinnan. "Pilvipohjaisen toimituksen edut, erityisesti nopeus ja ketteryys, riippuvat merkittävästi luotettavien, todistettujen ja tarkastettujen tunnettujen ja hyvien prosessien alustasta, jotka toteutetaan toistuvasti tarvittaessa automaatio- ja orkestrointityökalujen sijaan manuaalisen puuttumisen kautta", Splunk's sanoo Mann. Insinöörien tulisi pyrkiä automatisoimaan käytännössä kaikki, mitä he tekevät useammin kuin kerran toistettavuuden, itsepalvelun, ketteryyden, skaalautuvuuden sekä tarkastuksen ja valvonnan mahdollistamiseksi.

Paikallisia sovelluksia on hallittava manuaalisesti.

Modulaarinen muotoilu

Paikalliset sovellukset ovat yleensä monoliittisia. He lataavat joitain töitä kirjastoihin, varmasti, mutta lopulta se on yksi iso sovellus, jossa on paljon aliohjelmia. Pilvipohjaiset sovellukset ovat paljon modulaarisempia, ja monet toiminnot on jaoteltu mikropalveluihin. Tämän avulla ne voidaan sulkea, kun niitä ei tarvita, ja päivitykset voidaan ottaa käyttöön kyseiseen yksikköön eikä koko sovellukseen.

Valtattomuus

Pilvien löyhästi yhdistetty luonne tarkoittaa, että sovellukset eivät ole sidoksissa infrastruktuuriin, mikä tarkoittaa, että ne ovat kansalaisuudettomia. Pilvipohjainen sovellus tallentaa tilansa tietokantaan tai johonkin muuhun ulkoiseen kokonaisuuteen, jotta tapauksia voi tulla ja mennä ja sovellus voi edelleen seurata, missä työyksikössä sovellus on. ”Tämä on löyhästi yhdistetyn ydin. Ei sidottu infrastruktuuriin antaa sovellukselle mahdollisuuden toimia hyvin hajautetusti ja ylläpitää tilaansa riippumatta perusinfrastruktuurin joustavuudesta ", Kavis sanoo.

Useimmat paikalliset sovellukset ovat tilallisia, eli ne tallentavat sovelluksen tilan infrastruktuurille, jolla koodi toimii. Tämän vuoksi sovellus voi olla rikki, kun lisäät palvelinresursseja.

Pilvikohtaisen tietojenkäsittelyn haasteet

Yksi asiakkaiden tekemistä suurista virheistä on yrittää nostaa ja siirtää vanhoja paikallisia sovelluksiaan pilveen, Mann sanoo. "Yritetään ottaa olemassa olevia sovelluksia - etenkin monoliittisia vanhoja sovelluksia - ja siirtää ne pilvi-infrastruktuuriin, ei hyödynnetä oleellisia pilvipohjaisia ​​ominaisuuksia."

Sen sijaan sinun pitäisi etsiä uusia asioita uusilla tavoilla, joko asettamalla uudet pilvipalvelut uudet pilvi-infrastruktuurit tai hajottamalla olemassa olevat monoliitit refraktoimaan ne pilvikohtaisten periaatteiden pohjalta.

Sinun täytyy myös luopua vanhoista kehittäjämenetelmistäsi. Vesiputouksen malli ei todellakaan toimi, eikä edes ketterä kehitys välttämättä riitä. Joten sinun on käytettävä uusia pilvipohjaisia ​​lähestymistapoja, kuten elinkelpoisten tuotteiden (MVP) vähimmäiskehitys, monivaiheinen testaus, nopea iterointi ja tiivis työskentely organisaation rajojen yli devops-mallissa.

Pilvikohtaisuuteen liittyy monia näkökohtia, mukaan lukien infrastruktuuripalvelut, automaatio / orkestrointi, virtualisointi ja säilytys, mikropalveluarkkitehtuuri ja havaittavuus. Kaikki nämä tarkoittavat uutta tapaa tehdä asioita, mikä tarkoittaa vanhojen tapojen rikkomista, kun opit uusia tapoja. Joten tee se mitatulla vauhdilla.

Lisätietoja liittyvistä pilvipohjaisista tekniikoista

  • Alusta palveluna (PaaS) selitti
  • Multicloud selitti
  • Ketterä menetelmä selitetty
  • Ketterän kehityksen parhaat käytännöt
  • Devops selitti
  • Hyviä käytäntöjä
  • Mikropalvelut selitetään
  • Mikropalvelujen opetusohjelma
  • Docker- ja Linux-kontit selitetään
  • Kubernetes-opetusohjelma
  • CI / CD (jatkuva integrointi ja jatkuva toimitus) selitetty
  • CI / CD-parhaat käytännöt
$config[zx-auto] not found$config[zx-overlay] not found