38
Hvordan

Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Hvordan

Page 2: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Historikk og bakgrunn

Applikasjonsdrift

Mikrotjenester

Kontinuerlige leveranser/deployment

DevOps

Utfordringer og veien videre

Agenda

Page 3: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

4 utviklingsteam

~200 mikrotjenester

~5 M kodelinjer

2015

Page 4: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

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)

Page 5: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester
Page 6: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

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

Page 7: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Application Server

WebLogic Server

Skjema-

rammeverk

Ruting/

TransformeringFagsystemJMS

JVM

JRockit

JMS

Page 8: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester
Page 9: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Porting (2010)...

• Fri programvare (og åpen kildekode)

• Ikke noe nytt produkt

• Ikke brenne broer for fremtidig satsning

Page 10: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Applikasjonsdrift

Page 11: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

• Applikasjoner

• Tjenestebuss

• Offentlige grensesnitt

• Batch

• Infrastruktur

Page 12: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Mikrotjenester ogOslo kommune

2014

2010

Fowler

James Lewis et.al.

2012

2008

Johannes

Brodwall (BBS)

Page 13: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

puppet nagios

test1

test2

systest1

systest2

prod1

prod2

Page 14: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

How the web works?

Page 15: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Heterogenitet

Page 16: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Nettverk

Page 17: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Utviklerhverdag

Page 18: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

IDE

• Ingen begrensninger

Page 19: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

• Siden 2012

• Pull requests

Page 20: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

• Siden 2011

• Pull requests

• Code review

• Diskusjoner rundt kode

Page 21: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Test

Page 22: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Leveranser

• Kontinuerlige leveranser

• I snitt 5 om dagen (2013)

Page 23: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

i deploy

1.Autentisering

LB

1

2

Page 24: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

i deploy

1.Autentisering

2.Konfigurere lastbalansere

LB

1

2

Page 25: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

i deploy

1.Autentisering

2.Konfigurere lastbalansere

3.Kopiering til servere

LB

1

2

Page 26: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

i deploy

1.Autentisering

2.Konfigurere lastbalansere

3.Kopiering til servere

4.Ettersyn

1. Versjon

Page 27: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

i deploy

1.Autentisering

2.Konfigurere lastbalansere

3.Kopiering til servere

4.Ettersyn

1. Versjon

2. E-post

Page 28: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

i deploy

1.Autentisering

2.Konfigurere lastbalansere

3.Kopiering til servere

4.Ettersyn

1. Versjon

2. E-post

3. Leveranselogg (Wiki)

Page 29: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

DevOps

Page 30: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Forvaltnings-ansvarlig

Page 31: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

ITIL

• Hva er ITIL?

• ITIL og DevOps

Page 32: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

UtfordringerKontinuerlig utrulling vs. bing-bang deployments

Skalering (organisatorisk)

Vedlikeholdskostnader

Page 33: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

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

Page 34: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Veien videreForbedre, forbedre, forbedre

Nasjonal plattform?

Oppdeling - skalering

Cloud– Docker

Page 35: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester
Page 36: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

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

Page 37: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

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

Page 38: Erfaringer fra 150 mikrotjenester fordeler og ulemper · 2020. 1. 2. · Kontinuerlige leveranser/deployment DevOps Utfordringer og veien videre Agenda. 4 utviklingsteam ~200 mikrotjenester

Jan Henrik Gundelsby@janhenrik