Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige...

Post on 22-Aug-2020

1 views 0 download

Transcript of Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige...

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