SlideShare a Scribd company logo
1 of 35
Skalering av store enterprise-systemer
med API-first
Oslo City OS
devops.knowit.no
@janhenrik
@markuskrall
devops.knowit.no
City OS
Sentral meldingsplatform for Oslo kommune
City OS
Arkitektur
Teknisk
plattform
Prosess og
organisasjon
2014
2010
2012
2008Ingen
prosess
Prosess og
organisasjon
ITIL og
DevOps
Bimodal
Autonome
team
2016
2003
…
Flat
struktur
Antall utviklere - 60
Antall komponenter - 190
2014
2009
API-first
2003
Arkitektur
Monolitt
Klient-server
Mikrotjenester
2014
2010
Fowler
James Lewis et.al.
2012
2008
Johannes
Brodwall (BBS)
Arkitektur-
overgang
Mikrotjenester
2014
2010
2012
2008
WebLogic
Teknisk
plattform
Open Source /
VMWare
Heterogenitet
Desentralisert
Governance
2016
2003
…
Arkitektur
Teknisk
plattform
Prosess og
organisasjon
Status på plattformen
Arkitekturskisse
Arkitektur
Mikrotjenester
Teknologistack
Teknisk
plattform
Teknologistack
Teknisk
plattform
Basisoppsett
Logging + Overvåkning
Buildpipeline
Meldingsløsning
Applikasjoner
Support
Servere
Teknisk
plattform
Organisasjon i feature-team
Prosess og
organisasjon
Skaleringshindringer
• For stor kodebase, for små team
• «Jeg forstår ikke denne tjenesten»
• «Hva endrer seg når jeg endrer X»
• «La oss heller legge til Y»
• Ansvarlighet på de delte komponentene
Prosess og
organisasjon
Tekniske utfordringer
• Kompleksitet
• Database
• Monolittisk broker
• «One size fits em all»
• Hastighet
• Rammeverker
• Transaksjoner
• Kritikalitet av data Teknisk
plattform
Arkitektur
Arkitektur
Teknisk
plattform
Prosess og
organisasjon
APIer som skaleringsverktøy
API management
• Dokumentert
• Tilgangstyrt (nettverk og bruker)
• Begrenset til en kvote
• Overvåket og tilbyr laging av rapporter
Teknisk
plattform
Domener i API-first
• Naturlige gruppering av mikrotjenester
• Forretning, trafikk, krav til hastighet …
• Ikke for stor, tanken er å ha et domene per team
Prosess og
organisasjon
Arkitektur-
overgang
Fra
mikrotjenester til
API-first
Team I (intern) Team II (intern)
Team X (ekstern)
Målbildet:
Teknologistack
Teknisk
plattform
Logging + Overvåkning
App-
likasjoner
Support
App-
likasjoner
Basisdrift
Buildpipeline
Domene-
infrastruktur
Domene-
infrastruktur
API API
Målbildet:
Organisasjon i domeneteam
Prosess og
organisasjon
Infrastruktur et også et domene
Prosess og
organisasjon
App-
likasjoner
Support
App-
likasjoner
Felles infrastruktur
API API
Referanse
Domene-
spesifikk
Referanse
Domene-
spesifikk
Teknisk
plattform
Merge
upstream?
Internal open source modell
Prosess og
organisasjon
1
2
Team I trenger feature1
Hvis team II ikke kan levere det
tidsnok, så kan team I lage endringen
2
Endringer er merget upstream?
Viktige egenskaper
✤ “If you build it you run it”
✤ “Standardization without central control”
➡ Mer byråkrati
➡ Krav på API-design øker
Eksempel på et APITeknisk
plattform
Gevinster
• Domener er lettere å forstå enn hele plattformen
• Muliggjør outsourcing av domener
• Kommunikasjon mellom domener er standardisert
• Tilrettelegge til en heterogen plattform
• Broker og database mindre monolittisk
Arkitektur
Prosess og
organisasjon
Teknisk
plattform
Konklusjon
Prosess og organisasjon
Teknisk
plattform
Arkitektur
Utgangspunkt
(2003-2009)
AS-IS
(2009-2016)
TO-BE
(2017+)
Monolitt Mikrotjenester API-first
(ITIL) DevOps
Autonome
team
Lisensiert og
lukket
Open Source Desentralisert
Arkitektur
Teknisk
plattform
Prosess
og
organisa
sjon
?
@janhenrik
@markuskrall

More Related Content

Similar to Skalering av store enterprise-systmer med API-first

Bouvet innsikt samhandling
Bouvet innsikt   samhandlingBouvet innsikt   samhandling
Bouvet innsikt samhandlingMorten Ludvigsen
 
IT-tjenester som strøm i veggen
IT-tjenester som strøm i veggenIT-tjenester som strøm i veggen
IT-tjenester som strøm i veggenErgoGroup
 
Intelecoms tjenester i praksis
Intelecoms tjenester i praksisIntelecoms tjenester i praksis
Intelecoms tjenester i praksisIntelecomGroup
 
GoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug HanssenGoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug HanssenFriprogsenteret
 
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...Kenneth de Brucq
 
Smidig data på stortinget
Smidig data på stortingetSmidig data på stortinget
Smidig data på stortingetmumitrollet72
 
Hva Og Hvorfor Arkitektur - 11. mai 2010, Trondheim
Hva Og Hvorfor Arkitektur - 11. mai 2010, TrondheimHva Og Hvorfor Arkitektur - 11. mai 2010, Trondheim
Hva Og Hvorfor Arkitektur - 11. mai 2010, TrondheimEspen Johanson
 
BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123Geodata AS
 
BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123Geodata AS
 
20140128 Firstpoint seminar - Tid For Oppgradering
20140128   Firstpoint seminar - Tid For Oppgradering20140128   Firstpoint seminar - Tid For Oppgradering
20140128 Firstpoint seminar - Tid For OppgraderingSturla Grelland
 
Dashboard Til Linked In.Com
Dashboard Til Linked In.ComDashboard Til Linked In.Com
Dashboard Til Linked In.Comguest1f7d7e
 
Nye teknologiløp i Feide
Nye teknologiløp i FeideNye teknologiløp i Feide
Nye teknologiløp i FeideSnorre Løvås
 
GoOpen 2010: Jonny Johansen
GoOpen 2010: Jonny JohansenGoOpen 2010: Jonny Johansen
GoOpen 2010: Jonny JohansenFriprogsenteret
 
20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februar20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februarSturla Grelland
 
MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014
MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014
MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014Geodata AS
 

Similar to Skalering av store enterprise-systmer med API-first (20)

Bouvet innsikt samhandling
Bouvet innsikt   samhandlingBouvet innsikt   samhandling
Bouvet innsikt samhandling
 
IT-tjenester som strøm i veggen
IT-tjenester som strøm i veggenIT-tjenester som strøm i veggen
IT-tjenester som strøm i veggen
 
Intelecoms tjenester i praksis
Intelecoms tjenester i praksisIntelecoms tjenester i praksis
Intelecoms tjenester i praksis
 
GoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug HanssenGoOpen 2010: Håvard Haug Hanssen
GoOpen 2010: Håvard Haug Hanssen
 
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
Dell Solutions Tour 2015 - Neste generasjons Windows Server og System Center,...
 
Smidig data på stortinget
Smidig data på stortingetSmidig data på stortinget
Smidig data på stortinget
 
Hva Og Hvorfor Arkitektur - 11. mai 2010, Trondheim
Hva Og Hvorfor Arkitektur - 11. mai 2010, TrondheimHva Og Hvorfor Arkitektur - 11. mai 2010, Trondheim
Hva Og Hvorfor Arkitektur - 11. mai 2010, Trondheim
 
BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123
 
BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123BK2011 Kjøp av kartdata på 123
BK2011 Kjøp av kartdata på 123
 
AWS på kartet
AWS på kartetAWS på kartet
AWS på kartet
 
SoftwarePartner
SoftwarePartnerSoftwarePartner
SoftwarePartner
 
20140128 Firstpoint seminar - Tid For Oppgradering
20140128   Firstpoint seminar - Tid For Oppgradering20140128   Firstpoint seminar - Tid For Oppgradering
20140128 Firstpoint seminar - Tid For Oppgradering
 
Dashboard Til Linked In.Com
Dashboard Til Linked In.ComDashboard Til Linked In.Com
Dashboard Til Linked In.Com
 
Nye teknologiløp i Feide
Nye teknologiløp i FeideNye teknologiløp i Feide
Nye teknologiløp i Feide
 
GoOpen 2010: Jonny Johansen
GoOpen 2010: Jonny JohansenGoOpen 2010: Jonny Johansen
GoOpen 2010: Jonny Johansen
 
360 Fremtiden Er Her Idag
360   Fremtiden Er Her Idag360   Fremtiden Er Her Idag
360 Fremtiden Er Her Idag
 
20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februar20130212 firstpoint citrix seminar 12 februar
20130212 firstpoint citrix seminar 12 februar
 
Feide fagdag 10.6.15 Feide ved ntnu
Feide fagdag 10.6.15 Feide ved ntnuFeide fagdag 10.6.15 Feide ved ntnu
Feide fagdag 10.6.15 Feide ved ntnu
 
NTNUs bruk av Feide.
NTNUs bruk av Feide. NTNUs bruk av Feide.
NTNUs bruk av Feide.
 
MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014
MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014
MIDA en løsning for forvaltning av oljetanker - Esri norsk BK 2014
 

Skalering av store enterprise-systmer med API-first

Editor's Notes

  1. Requester Pr døgn? Loglinjer pr døgn?
  2. slettes
  3. Ikke målestacken med - ELK!
  4. Forklare skissen Last-balanserer sjekker om tjenesten er tilgjengelig, integrert i deployment En mikrotjeneste kjører redundant på 2 maskiner samtidig Database og meldingsbroker som sentrale infrastrukturkomponenter Haug med fagsystemer som integreres imot Nøkkelord Flat struktur, mikrotjenester kommuniserer direkte eller ved bruk av broker med hverandre «lightweight esb». Plattformen bruker ActiveMQ som broker
  5. «Martin Fowler : You must be this tall to use microservices» Attraksjon på et tivoli Som beskriver modenhet på organisasjonen din på Rapid provisioning Basic Monitoring Rapid application deployment og en del ting til
  6. Vi har en sterk devops kultur og bruker denne stacken (les opp teknologien og klikk etterpå) - Applikasjoner er skrevet i språk som kjører på jvm-en: java, skala og jruby Bruk også: Rapid provisioning Basic Monitoring Rapid application deployment og en del ting til
  7. Til sammen har vi 68 virtuelle servere delt i 4 testmiljøer prod ut av dem kjører 20 produsjonsrelevante tjenester 18 virtuelle netter 3 virtuelle BigIP servere med tilsvarende adresser (tjenester[-test|-systest).oslo.kommune.no Intern sky med automatisert konfigurasjon Eneste manuell steg er å registrere en ny maskin på puppetmasteren Flere leverandør: en for levering av servere og en for nettverket, evry og datametrix - Vi må bestille tjeneste fra dem, godkjent fra UKE
  8. Forklare implikasjoner av mikrotjenester En tjeneste / service / feature som kunden kan konsumere er del opp i flere mikrotjenester som må orkestreres En endring berører derfor også flere mikrotjenester Forklare konseptet featureteam - Fører til delte komponenter uten definert ansvar, men teamet har ansvar for funksjonen (folk koordinerer seg selvstendig) Vi er omtrent 60 utviklere delt i 2 team (pet og itas) avhengig av kunden. Internt har vi en del subteam - Scrum-ish prosess
  9. Sitater fra teammedlemmer Kontekstswitching Support Saker på vent Flere oppgaver samtidig Man ser bare featuren men ikke den langsiktige utviklingen på komponenten Mangler eierskap til helheten
  10. Last er ikke et problem Kompleksitet er i det tilfellet svaret til spørsmålet: «Hvilke tjenester berører endringen på X» Intern Ekstern Hvordan finner man det ut og hvordan kan man modellere det? I tillegg øker antall komponenter og integrasjoner stadig Database er en monolittisk tjeneste som hele plattform er avhengig av, det samme gjelder for brokeren Endringer kan ikke rulles ut uten å berøre de fleste av våre tjenester Greit med databasen med fallback og egen driftsorganisasjon Ikke greit med brokeren som er avhengig av en gitt kombinasjon av eksterne biblioteker (for de som som er techsavy: spring og camel) One size fits em all Forskjellige domener har ulike krav på responsetid, tenk batchjobber mot backend til en webapplikasjon Rammeverk introduserer avhengigheter som man ikke veldig lett kvittere seg med: Kjenne ingen som har flere versjoner av spring på classpathen Transaksjoner: ~80% av meldinger på bussen kan gjenskapes de restlige 20%ene må handtere transaksjoner riktig Kritikalitet betyr i vår sammenheng handtering av personsensitive data, skal dem gå gjennom den samme bussen, kryptert, ukryptert?
  11. jhg tar over
  12. Illustrasjon skal viser at domener er «selv-contained», dem er bygget på prinsipper av plattformen, men kan stå fritt (med unntak av apier til andre domener). Domener muliggjør en del interessante løsinger Interaksjon med systemer / komponenter som handterer data som er mer kritisk en våre Outsourcing teknisk (offentlig sky for data som er ikke kritisk) domener kan konkurranseutsettes, gir mindre aktører tilgang til plattformen Trenger bare å forholde seg til offenlige api-er av resten Størelsen av et domene: - Ingen svar, domene er en naturlig gruppering Vi ønsker oss at et team tar ansvar for et helt domene.
  13. mkr tar over igjen (les opp teknologien og klikk etterpå) Når har blitt en PaaS-leverandør: Platform as a service (PaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage web applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. Bruke litt tid for forklaring av: Meldingsløsning Support Service gateway Overvåkning Grensesnitt
  14. Forklare implikasjoner endringer En tjeneste / service / feature som kunden kan konsumere må satt sammen av grensesnitter av andre domener eller funksjonalitet av domenet En endring berører derfor enden api-et til et annet domenet (må avklare med teamet) eller bare tjenester innenfor dette domenet Domeneteamet «eier» domenet og kan vedlikeholde den i henhold til langsiktige planer (lagt sammen med organisasjonen)
  15. Vår antakelse: I henhold til Conways law, kommer domener til å gjenspeile organisasjonen i Oslo kommune, teammedlemmer kommer til å være domeneeksperter i enda større grad enn de er i dag, siden dem kan fokusere bedre på et mindre område. Kommunikasjonmønster mellom domener kommer til å gjenspeiler kommunikasjon mellom avdeler / virksomheter
  16. Som en Paas leverandør er plattformen et domene i seg selv som må ta hensyn til sine kunder. For at domene-team kan fokusere på demmes applikasjoner leverer infrastrukturteamet «best practise» eller referanseimplementeringer
  17. Domener har mulighet til å tilpasse referanseimplementeringer Hvordan da? Internall OSS modell
  18. Disse teknologiene har vi som referanseimplementering og tilgjengelig for domener