erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · kontinuerlige...
TRANSCRIPT
Hvordan
Historikk og bakgrunn
Applikasjonsdrift
Mikrotjenester
Kontinuerlige leveranser/deployment
DevOps
Utfordringer og veien videre
Agenda
4 utviklingsteam
~200 mikrotjenester
~5 M kodelinjer
2015
IDE
-W
eb
log
ic W
ork
sh
op
User Integration
WebLogic Portal
Application, Process, B2B
integration
WebLogic Integration
Application Framework
WebLogic Workshop
Application Server
WebLogic Server
JVM
JRockit
WebLogic Platform 7 (2002)
IDE
-W
eb
log
ic W
ork
sh
op
User Integration
WebLogic Portal
Application, Process, B2B
integration
WebLogic Integration
Application Framework
WebLogic Workshop
Application Server
WebLogic Server
JVM
JRockit
Application Server
WebLogic Server
Skjema-
rammeverk
Ruting/
TransformeringFagsystemJMS
JVM
JRockit
JMS
Porting (2010)...
• Fri programvare (og åpen kildekode)
• Ikke noe nytt produkt
• Ikke brenne broer for fremtidig satsning
Applikasjonsdrift
• Applikasjoner
• Tjenestebuss
• Offentlige grensesnitt
• Batch
• Infrastruktur
Mikrotjenester ogOslo kommune
2014
2010
Fowler
James Lewis et.al.
2012
2008
Johannes
Brodwall (BBS)
puppet nagios
test1
test2
systest1
systest2
prod1
prod2
How the web works?
Heterogenitet
Nettverk
Utviklerhverdag
IDE
• Ingen begrensninger
• Siden 2012
• Pull requests
• Siden 2011
• Pull requests
• Code review
• Diskusjoner rundt kode
Test
Leveranser
• Kontinuerlige leveranser
• I snitt 5 om dagen (2013)
i deploy
1.Autentisering
LB
1
2
i deploy
1.Autentisering
2.Konfigurere lastbalansere
LB
1
2
i deploy
1.Autentisering
2.Konfigurere lastbalansere
3.Kopiering til servere
LB
1
2
i deploy
1.Autentisering
2.Konfigurere lastbalansere
3.Kopiering til servere
4.Ettersyn
1. Versjon
i deploy
1.Autentisering
2.Konfigurere lastbalansere
3.Kopiering til servere
4.Ettersyn
1. Versjon
2. E-post
i deploy
1.Autentisering
2.Konfigurere lastbalansere
3.Kopiering til servere
4.Ettersyn
1. Versjon
2. E-post
3. Leveranselogg (Wiki)
DevOps
Forvaltnings-ansvarlig
ITIL
• Hva er ITIL?
• ITIL og DevOps
UtfordringerKontinuerlig utrulling vs. bing-bang deployments
Skalering (organisatorisk)
Vedlikeholdskostnader
Konklusjon
Bygg for endring
Mikrotjenester tvinger frem gode arkitekturprinsipper
Mikrotjenester krever en form for DevOps og driftsnærhet
Mikrotjenester muliggjør kontinuerlig deployment
Fornøyde(?) utviklere i små team med utvidet ansvar
Veien videreForbedre, forbedre, forbedre
Nasjonal plattform?
Oppdeling - skalering
Cloud– Docker
20 CONFIDENTIAL AND PROPRIETARY I © 2015 Gartner, Inc. and/or its affiliates. All rights reserved.
Emerging Integration Infrastructure —Style No. 2 — API First ("No ESB?") Approach*
Public API
Consumer
B2B Private API
Consumer
Internal API
Consumer
Cloud Services
Service
Implementations
Lightweight Service
Containers
Service
Implementations
Other Containers
(E.g., ESB for Integration
Service
Implementations
Service Gateway
API API API
Keep IT Simple —Just Publish andManage Your APIs!
Policy Defined Interfaces
Hey!I'm Still Here!
*"Time to Get Off the Bus?" — Catalyst Pitch, Gary Olliffe
Lenker- http://martinfowler.com/articles/microservices.html
- http://martinfowler.com/bliki/MicroservicePrerequisites.html
- http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
Bilder:
* shutterstock.com
* Jenkins CI - http://jenkins-ci.org
Jan Henrik Gundelsby@janhenrik