Microservices: Open Source Frameworks och programvaruarkitektur

Mikrotjänster: En modern programvaruarkitektur

Mikrotjänster: En modern programvaruarkitektur

Fortsätter med temat evolution och förändringar i paradigmer och arbetsmetoder hände inom området mjukvaruutveckling, som vi nyligen berörde i artiklarna som heter "Mjukvaruutveckling: En historisk recension fram till i dag", "Interoperabilitet genom molnet: Hur uppnår man det?" y "XaaS: Cloud Computing - Everything as a Service", idag ska vi prata om Mikrotjänster.

Mikrotjänster är en modern programvaruarkitektur, inte ett API (Application Programming Interface) eller en teknik som kan installeras och användas. Programvaruarkitekturer, även kända som programvarumönster, är helt främmande för programmeringsspråk, eftersom de bara fastställer hur tekniker ska fungera och inte hur de implementeras.

Mikrotjänster: Introduktion

Inledning

Mikrotjänster kan ses som en utveckling av SOA Architecture (Service-Oriented Architecture), som guidar utvecklare att skapa mer modulära applikationer som är funktionella och autonoma, med hög kapacitet att återanvändas på ett effektivt sätt, vilket görs på ett liknande sätt, när vi optimerar användningen av viss hårdvara, där den utvecklar bara det som verkligen är nödvändigt istället för att utveckla sin fulla potential i onödan.

Arkitekturen för mikrotjänster, i praktiken har det inte blivit så utbrett som i teorin, det vill säga det är bättre känt än använt. Men varje dag mer implementerar många utvecklare det eftersom det är en programvaruutvecklingsmodell som förbättrar variablerna tid, prestanda och stabilitet inom de projekt där de tillämpas. Dessutom hans enkel associerad skalbarhet gör det särskilt lämpligt i utvecklingar där plattformskompatibilitet (Web, Mobile, Wearables, IoT) är viktigt.

Mikrotjänster: Arbetsschema

Men medan SOA är en högre nivå arkitektur, det vill säga en arkitektur där applikationer baserade på tjänster byggs, där en tjänst är den minsta och mest funktionella arbetsenheten inom en skapad applikation, Microservices Architecture också tillåter oss att skapa tjänster, men dessa tjänster är utformade på ett mycket litet och specifikt sätt så att de uppfyller en mycket exakt och punktlig funktionalitet, på ett sådant sätt att de kan frikopplas från resten av applikationerna och fungera på ett helt autonomt sätt från resten av applikationen där den skapades.

Mikrotjänster: Vad är de och vad är de?

Vad är programvaruarkitekturer (mönster)?

För att förstå Microservices mjukvaruarkitektur är det bra att veta lite om alla de mest kända befintliga programvaruarkitekturerna. Det finns många existerande, vilket kan ses på webbplatsen för oodesign eller helt enkelt in wikipedia, men enligt den berömda boken heter "Mönster designbok" (Designmönsterbok) befintliga mönster kan klassificeras som:

Skapande

De som hanterar sätt att instantiera objekt och vars mål är att abstrakta instantieringsprocessen och dölja detaljerna om hur objekt skapas eller initialiseras. I denna klass finns följande:

  • Abstrakt fabrik
  • Builder
  • Fabriksmetod
  • Prototype
  • singleton

Strukturell

De som beskriver hur klasser och objekt (enkla eller sammansatta) kan kombineras för att bilda stora strukturer och ge nya funktioner. I denna klass finns följande:

  • adapter
  • bro
  • Komposit
  • Dekoratör
  • fasaden
  • Flyweight
  • Proxy

Beteende

De som hjälper oss att definiera kommunikationen och iteration mellan objekten i ett system. Syftet med detta mönster är att minska kopplingen mellan objekt. I denna klass finns följande:

  • Ansvarsförmåga
  • Kommando
  • Tolk
  • iterator
  • Medlare
  • Memento
  • Observer
  • Ange
  • Strategi
  • Mallmetod
  • Besökare

andra

Tidigare designmönster uttryckte scheman som definierar designstrukturer för att bygga programvarusystem. Men när vi bättre vill uttrycka ett grundläggande organisatoriskt och strukturellt system för de skapade programvarusystemen, hittar vi vanligtvis denna andra klassificering:

  • Skifferarkitektur
  • DAO: Data Access Object
  • DTO: Dataöverföringsobjekt
  • EDA: Event Driven Architecture
  • Implicit anrop
  • Nakna föremål
  • Skiktad programmering
  • Peer-to-peer
  • Pipeline
  • SOA: Serviceorienterad arkitektur
  • Tre nivåer

Det finns också "Controller View Model" som är välkänt och använt och är indelat i:

  • Model / View / Controller
  • Modell / vy / presentatör
  • Model / View / Presenter with Model Presenter
  • Model / View / View-Model
  • Modell / vy / presentatör med passiv vy
  • Model / View / Presenter with Supervisor Controller

vara "Controller View Model" en av de mest kända och implementerade idag, är det otillräckligt att tillhandahålla de funktioner som krävs för en företagsapplikation, och detta är en av de främsta anledningarna till att, Microservices Architecture ersätter Model-View-Controller (MVC).

Mikrotjänster: Fördelar

Fördelar med Microservices Architecture

När en webbplattform använder Microservices Architecture har den vanligtvis följande fördelar:

  • lösa enkelt varje problem eller problem som presenteras genom att adressera varje liten Microservice som är inblandad i en specifik situation.
  • För att mildra Allmänna eller globala fel i tjänsterna, eftersom när en Microservice misslyckas påverkar den inte de andra, eftersom de är helt oberoende.
  • För att underlätta lanseringen och införlivandet av kompletta eller specifika funktioner eller tjänster, eftersom varje Microservice kan läggas till eller tas bort och uppdateras separat och successivt.
  • Att bli bättre tillgång till applikationer eller tjänster som skapats från alla typer av enheter och plattformar.
  • öka plattformens mångsidighet, eftersom Microservices kan distribueras på olika servrar och skrivas på olika språk.

Mikrotjänster: Ramverk

Open Source Frameworks

Det finns många alternativ med öppen källkod som programutvecklare kan använda för att utveckla lösningar som ingår i Microservices Architectures. Specifikt för Java, som är en mycket använd teknik för detta, finns följande:

Mikrotjänster: Webs

Webbexempel med mikrotjänsterarkitekturer

Bland det stora antalet webbplatser som tillhandahåller storskaliga applikationstjänster och som gradvis har implementerat Microservices Architecture för att förbättra underhåll och skalbarhet för deras tjänster och produktplattformar, vilket gör det enkelt, effektivt och snabbt, kan vi nämna tre stora i branschen Vad är dem:

  • amason
  • ebay
  • Netflix

Mikrotjänster: Slutsats

Slutsats

Det är tydligt att Mikrotjänster bidrar mycket till modern webbaserad mjukvaruutvecklingMen de betyder också att hantera många nya utmaningar att lösa. Problem som inte bara har att göra med Framework-inlärningen och arbetet effektivt utan också hur dessa nya utvecklingar kompletteras och implementeras i IT-avdelningarna, som i slutändan är de som lägger dem online och hanterar och har röst om vikt i slutliga beslut om varje utveckling. Men Den här arkitekturen är här och den har kommit att stanna länge.


Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.