mikä on monoliittinen sovellus?

ensimmäinen askel matkalla monoliittisten sovellusten siirtämiseen Kubernetesiin

Kris Nova
Helmi 2, 2018 * 4 min lukea

koko ohjelmistotekniikan urani ajan yksi arvokkaimmista kysymyksistä, joita olen oppinut kysymään kollegaltani, on ”mitä $jotain merkitsee sinulle?”. Se pakottaa toisen insinöörin arvioimaan niiden vaikutuksia tietyn sanan käyttöön. Seuraavat ensimmäinen liikkuva monoliittinen sovelluksia Kubernetes soittaa, halusin viettää muutaman minuutin puhua siitä, mitä monoliittinen sovellus on. Tai ainakin, mitä se merkitsee minulle.

tämä on mielenkiintoinen tila, joka kaipaa huomiota. Vaikka tilattoman mikropalvelun käyttö Kubernetesillä on suhteellisen helppoa, suuren tilallisen sovelluksen käyttö on vielä pitkä matka. Ymmärtäminen, mikä monoliittinen sovellus on, on ensimmäinen askel muuttoprosessin helpottamisessa.

monoliittisen sovelluksen määrittelemiseksi meidän on ensin ymmärrettävä sovelluksen komponentit, joista välitämme. Kolme komponenttia olemme kiinnostuneita ovat käyttöliittymä, data access kerros, ja data store.

käyttöliittymä on sovelluksen sisääntulopiste, ja se on myös ohjelman piste, jonka kanssa käyttäjä on vuorovaikutuksessa. Tämä voi olla tärkein() toiminto, verkkosivusto, verkkopalvelu tai useita muita sisääntulopisteitä.

data access kerros on taso ohjelman, joka kääriä data store. Tyypillisesti tietojen käyttöoikeuskerros käsittelee huolenaiheita, kuten todennusta tietovarastolla ja tietojen puhdistamista ennen kuin se on säilynyt tietovarastossa.

tietovarasto on järjestelmän keskeisin osa ja vastaa mielivaltaisen tiedon (datan) tallentamisesta ja hakemisesta. Tämä komponentti on yleensä vain tietokanta.

nämä kolme osaa muodostavat hyvin yleisen sovellustyypin, jota kutsutaan tilalliseksi sovellukseksi. Mikä tarkoittaa, että sovellus tallentaa ja manipuloi tietoja ajan. Siksi sanomme, että hakemus on valtion. Vielä tärkeämpää on, että hakemuksen tila voi muuttua ajan myötä.

kun kyseessä on monoliittinen sovellus, havaitsemme yleisesti sovelluksen useita kerroksia tiiviisti yhteen kytkettyinä. Alla olevassa esimerkissä voimme nähdä, että käyttöliittymä ja tietojen käyttöoikeuskerros on ryhmitelty yhteen. Tämä tapahtuu yleensä suuren koodivaraston kautta, ja molemmat näistä kerroksista riippuvat todennäköisesti siitä, että toinen on paikallaan, jotta se voidaan suorittaa. Lisäksi käyttöliittymä ja tietojen Käyttöoikeustasot tyypillisesti niputetaan samaan prosessiin suorituksen aikana. Eli ne kommunikoivat samassa järjestelmässä käyttäen järjestelmän resursseja (muisti-ja laskentasyklejä) vuorovaikutuksessa muiden järjestelmän osien kanssa.

päinvastoin, microservice – pohjainen sovellus koostuisi pienistä modulaarisista komponenteista, jotka voidaan helposti kytkeä pois päältä. Tämä tarjoaa operaattorille kompositiokäsitteen ja on merkki siitä, että työskentelet monoliittisen sovelluksen sijaan mikropalvelujen kanssa. Alla oleva esimerkki osoittaa joustavan ja modulaarisen sovelluksen. Huomaa, että tässä mallissa Voimme käyttää pienempiä komponentteja itsenäisesti ja käyttää verkkoa liittääksemme järjestelmämme yhteen. Tämä lähestymistapa on paljon skaalautuvampi.

joten mikä on monoliittinen sovellus? Se on yksitasoinen ohjelmistosovellus, jossa käyttöliittymä ja datan Pääsykoodi yhdistetään yhdeksi ohjelmaksi yhdellä alustalla. Se on myös sovellus, joka ajaa useita komponentteja samassa prosessissa, samassa järjestelmässä.

eteenpäin siirryttäessä pyrimme ymmärtämään kubernetesiin siirtyvien monoliittisten sovellusten vivahteita ja toivomme, että tämä on arvokas ensimmäinen askel matkallamme. Koska prosessi on suhteellisen paperiton, aiomme jakaa opitut asiat, jotta kaikki voivat hyötyä.



+