“skyen-først arkitektur” (cna)...hva er det og hvorfor bry seg? av olve s. hansen 2 sensing as...

1

Upload: others

Post on 28-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

1

“Skyen-først arkitektur” (CNA)

Hva er det og hvorfor bry seg?

av Olve S. Hansen

Page 3: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Sensing As a Service

3Public

Page 4: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

4Public

Page 5: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Def: Software architecture

“Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization.

Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”

Booch et al

5Public

Page 6: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Def: Software architecture

“Software architecture encompasses the set of significant decisions about the organization of a software system including the selection of the structural elements and their interfaces by which the system is composed; behavior as specified in collaboration among those elements; composition of these structural and behavioral elements into larger subsystems; and an architectural style that guides this organization.

Software architecture also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”

Booch et al

6Public

Page 7: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Def: Software architecture

“The highest-level breakdown of a system into its parts; the decisions that are hard to change; there are multiple architectures in a system; what is architecturally significant can change over a system's lifetime; and, in the end, architecture boils down to whatever the important stuff is.”

Martin Fowler

7Public

Page 8: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Def: Software architecture

“The highest-level breakdown of a system into its parts; the decisions that are hard to change; there are multiple architectures in a system; what is architecturally significant can change over a system's lifetime; and, in the end, architecture boils down to whatever the important stuff is.”

Martin Fowler

8Public

Page 9: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

9Public

Hva er egentlig “skyen”?

ComputeEngine

AppEngine

KubernetesEngine

CloudFunctions

Container-Optimized OS

Page 10: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

10

Public

Har vi en delt forståelse for hva en “nettsky” er?

Image: Sticker Mule

Page 11: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

I skyen så...

● er vi ikke i komplett kontroll over miljøet vi kjører i

● har ting en tendens til å endre seg når vi ikke vil at de skal det

● ting oppfører seg annerledes enn “det vi var vant til”

11Public

Image: Sticker Mule

Page 12: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

En tjeneste for å sette opp og fjerne, elastisk og på forespørsel:

12Public

● datakraft● lagring● nettverk

Page 13: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

13

Det finnes måter å bygge software på som tar store fordeler av egenskapene fra en sky-plattform

Page 14: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Samtidig er det lett å bygge software som kaster bort disse egenskapene samt, tid og masse penger

14Public

Page 15: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

15

Page 16: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Tradisjonell vs Sky-først arkitektur

16Public

Page 17: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

17Public

Følger et rammeverk eller en kontrakt (f.eks. 12factor app)

➔ Maksimer robusthet gjennom forutsigbar oppførsel

Svært høy grad av automasjon

Øker byggetiden

Skalerer gradvis (manuelt)

Manuelle prosesser

Store releases

Page 18: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Observerbarhet

18

Page 19: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Observerbarhet

19

Page 20: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

20

Observerbarhet

Page 21: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

I. Codebase One codebase tracked in VCS, many deploys

VII. Port binding Export services via port binding

II. Dependencies Explicitly declare and isolate dependencies

VIII. Concurrency Scale out via the process model

III. ConfigStore config in the environment

IX. DisposabilityMaximize robustness with fast startup and graceful shutdown

IV. Backing servicesTreat backing services as attached resources

X. Dev/prod parityKeep development, staging, and production as similar as possible

V. Build, release, runStrictly separate build and run stages

XI. LogsTreat logs as event streams

VI. ProcessesExecute the app as one or more stateless processes

XII. Admin processesRun admin/management tasks as one-off processes

12factor app - a quick recap

21

Page 22: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

https://flic.kr/p/Y8hVDJ CC BY-SA 2.0

Modularitet

22

Page 23: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

23Public

http://usblogs.pwc.com/emerging-technology/agile-coding-in-enterprise-it-code-small-and-local/

Page 24: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Deployerbar

24Photo: WFP/Peter Smerdon

Page 25: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Kastbart /Byttbart

25

By Carlos Delgado, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=19747330

Page 26: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Public26

Page 27: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

27Public

Page 28: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

28

Page 29: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

29Public

https://en.wikipedia.org/wiki/File:Agile-vs-iterative-flow.jpg

Page 30: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Forretningsdrivere for en Sky-Først Arkitektur- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

30

Page 31: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Public

Forretningssmidighet

31

Page 32: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Forretningssmidighet

32Public

Optimere “fra Konsept til Kontanter syklusen”● Respondere til endringer i forr. område● Være driver for endringer i forr. området

Page 33: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Forretningssmidighet

33Public

Optimere “fra Konsept til Kontanter syklusen”● Respondere til endringer i forr. område● Være driver for endringer i forr. området

Page 34: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Forretningssmidighet

34Public

En typisk metode for å unngå feil:● legg til mer testing● mer release engineering● flere kode gjennomganger● flere sjekklister● flere godkjennelser

https://xkcd.com/1428/

Page 35: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Forretningssmidighet

35Public

Omfavn forsømmelser og mistak=> Lær av de=> lag feiltolerant software

Målet er å løpe raskt uten å ødelegge ting!

https://xkcd.com/1428/

Page 36: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

Public

DevOps+CD+Skyplattform => CNA

36

Skyplattform ● Kastbart● Utbyttbart

Kontinuerlige Leveranser (CD)

● Deployerbart● Testbart

DevOps● Modulært● Observerbart

Page 37: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

37Public

Page 38: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

38

Page 39: “Skyen-først arkitektur” (CNA)...Hva er det og hvorfor bry seg? av Olve S. Hansen 2 Sensing As a Service 3 Public 4 Public Def: Software architecture “Software architecture

39

Graphical Assets

Real time awarenesson a global scale