Skip to main content

Bild

Image

Systemintegration del2
Blogg

Framtidens systemintegration del 2

Sektioner

Image

MatsA

Text

Framtidens Systemintegration del 2 – Länge leve Integrationen 

Är integrationsbehoven verkligen på väg att försvinna, eller till och med dö ut? Somliga skulle nog hävda att det sätt vi traditionellt sett har arbetat för att integrera applikationer är förlegat men i realiteten växer det underliggande behovet för välfungerande systemintegration exponentiellt. 

 

Vi digitaliserar allt fler delar av vår vardag både privat och i arbetet, internet of things kopplar upp nya enheter och mätvärdeskällor. Detta gör att tillhörande dataströmmar och datalagring skjuter i höjden.

 

Våra arbetssätt inom IT-branschen och därmed även inom integrationsområdet utvecklas som ett resultat av denna digitalisering. Vi utökar våra traditionella integrationsmetoder, processer och tekniker för att kunna arbeta med en större verktygslåda. Jag säger utökar, för vi behöver fortfarande de flesta av de befintliga verktyg och modeller vi redan arbetar med då det etablerade IT landskapet inte omvandlas över en natt och många av de mönster som redan används i traditionella integrationsteknologier är fortfarande ändamålsenliga. Att avgränsa applikationer från varandra, låta applikationer utvecklas i sin egen takt, använda ett integrationslager som minimerar komplexiteten när applikationer använder olika format, protokoll och tekniker är fortfarande bra arbetssätt.
 

Det moderna integrationslandskapet är uppbyggt på några grundläggande faktorer där en stor del utgörs av hur vi arbetar tillsammans i våra respektive organisationer, bedriver applikationsutveckling och integration och därefter kompletterar vi det med några spetstekniker. Gjort på rätt sätt positionerar det oss bättre inför kommande utmaningar inom såväl teknik- som verksamhetsområdet: 
 

  • IC4E
  • Microservices
  • Containers och serverless
  • Event streams
  • API Management
     

IC4E

Grunden för en framgångsrik övergång till en mer modern modell för integrationsarbetet är att inkludera mer agila metoder och öppna möjligheter till högre produktivitet för applikationsutvecklingsteamen. Istället för en centraliserad funktion som levererar integrationslösningar; ett integrationscenter, förflyttas fokus till en supporterande funktion som stödjer agila metoder för applikationsintegration; ett Integration Center for Enablement (IC4E).

 

Genom att förse era team med de här förmågorna, är det lätt att se hur leveranstakten kan förbättras och hur tidigare flaskhalsar försvinner. Integrationsspecialisten behöver tillägna sig applikationsutvecklingskunskap och applikationsutvecklaren behöver lära sig integrationsteknik. Rollerna breddas därmed, samtidigt som utvecklingskapaciteten som helhet blir större än tidigare. IC4E funktionen säkrar att rätt metoder och mönster tillämpas och att verksamheten bibehåller ägarskap av både integrationskrav och integrationslösningen som utvecklas.

 

Det här är en trend som har pågått de senaste åren men som tur är har teknologin nu kommit ikapp och stödjer aktivt det här sättet att organisera sig och arbeta. Genom att paketera applikationer med container-teknik eller serverfri-teknik, så kan vi installera applikationen utan hantering av beroenden till funktioner utanför paketeringen. Applikationsteamens effektivitet går upp då mycket av de vardagliga, monotona arbetsuppgifterna relaterade till paketering, installation, testning och konfiguration kan automatiseras med hjälp av till exempel Jenkins eller en cloud native CI/CD lösning som Tekton.

 

När applikationsteamen blir mer autonoma och effektiviteten går upp, eroderas tålamodet för beroendet av separat integrationsutveckling, vilket driver behovet av att kombinera förmågorna inom ett och samma team, till exempel genom att nyttja teknik som events och API:er.
 

Microservices

Applikationer kan också utvecklas och byggas ihop i mindre delar, komponenter, som kan hanteras individuellt. Med sin egen separata livscykel kan driften hanteras individuellt. Det blir lättare att bygga ut ny funktionalitet, göra rättningar, felsöka och utveckla drift funktioner så som skalbarhet, prestanda och tillgänglighet. Fullt utbyggt, kan applikationskomponenterna brytas ned till mikrotjänster (microservices) där respektive tjänst kan hanteras individuellt. Det är inte alltid rätt val för alla applikationstyper men väldigt användbart och effektivt för andra.

 

Det kan ibland vara nyttigt att tänka på integration som en mikrotjänst. Integration stämmer inte alltid fullt ut med begreppsdefinitionen av en mikrotjänst men för min del spelar det inte så stor roll så länge man kan använda sig av fördelarna av ett likartat arbetssätt.
 

Containers och serverless

Alla större cloud-leverantörer så som AWS, Azure, Google Cloud, IBM Cloud med flera stödjer containerhantering och serveroberoende drift (serverless computing). Om du vill ha, eller hamnar i en situation där du kör en multi-cloud eller hybrid-cloud lösning, är det ett bättre alternativ att använda Red Hat OpenShift som plattform som gör det möjligt att köra dina applikationer var du vill, utan inlåsningseffekter (lock-in).

 

Hittills har vi inte diskuterat så mycket integrationsteknik men vid det här laget ser man tydligt att de förändrade arbetssätt som nämnts ovan även påverkar vilka integrationsmetoder som bör tillämpas. Vi behöver alltså utöka vår verktygslåda med ett par nykomlingar på teknologifronten – i det här fallet, event streams och API management. De här teknologierna är relativt väldokumenterade och enkla att ta till sig. De kan brukas av utvecklare och integrationsmönstret ses som en del av applikationsutvecklingen. Det stödjer applikationsutvecklingsteamens självständighet och förmåga att höja sin produktivitet.

 

Event streams

Event streaming plattformar som till exempel Kafka är perfekt lämpade för ett antal användningsområden. Ett som ligger nära till hands är; säg att du har delat in din applikation i ett antal komponenter eller mikrotjänster:  Du vill inte ha synkrona beroenden mellan respektive tjänst då det blir svårhanterligt att hantera och begränsar skalbarheten.  Ett bättre alternativ är att publicera ett event som övriga tjänster kan konsumera när de behöver och har utrymme för det. Kafka lämpar sig väl för höga volymer och levereras paketerat i ett flertal kombinationer så som IBM Event Streams, Red Hat AMQ Streams och finns även fristående som open source projekt. Andra tillämpningar för event streaming kan vara att förbättra reaktiviteten och hantera realtidshändelser, hantera alla inkommande event som du vill lagra i data lakes. Eller som stöd för att koppla upp legacy applikationer med nya tjänster i molnet, bara för att nämna några områden. 

 

API management

Allt kan dock inte hanteras via event.  IT-branschen har i stort anammat koncepten kring modern API hantering baserat på OpenAPI standarden som anvisar hur REST API:er skall utvecklas och användas. Om man tittar på de flesta moderna tjänster eller produkter idag, finns det API:er som kan användas för att koppla in sig mot tjänsten. 

När man utvecklar sin egen applikation, är möjligheten att exponera API:er för externt bruk en viktig möjlighet. API:er bör och är oftast lätta att förstå och använda då de tas fram med användarvänlighet i grunden, något som har gjort konceptet och tekniken väldigt populär. 

Med ökad öppenhet medföljer en viss risk att man tappar kontrollen över integrationslandskapet och kanske än värre, att företagets värdefulla information inte nyttjas på rätt sätt, om man inte sköter det på rätt sätt.  En viktig del i det arbetet är att ha en strategi kring hur API:er skall användas, policys och direktiv som definierar vad som är tillåtet, samt en API-management plattform som styr nyttjandet av API:er på ett kontrollerat sätt.  En sådan plattform sköter API-säkerhet, trafik-konfiguration, en portal med en katalog över tillgängliga API:er så att slutanvändare kan hitta rätt information om dem, samt analysverktyg för loggning och monitorering av API trafiken

Läs mer om hur vi ser på hur man bäst möter utmaningarna med modern integration i nästa del; IaaS & Cloud baserad Integration

 

Vill du fördjupa dig inom API hantering har vi en sida där vi samlar material kring teknologin och vårt erbjudande API management.

 

Mats Andersson
Head of IBM Integration
mats.andersson@enfogroup.com
LinkedIn

Dela