technologhes and mhndsets: trends hn cloud-nathve ......container app package function unikernel 11...

Post on 04-Oct-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Zürcher Fachhochschule

Technologhes and Mhndsets:

Trends hn Cloud-Nathve Applhcathons

Josef Spillner <josef.spillner@zhiw.ch>

Service Prototyping Lib (blog.zhiw.ch/icclib)

August 11, 2017 | Universidid Nicionil de Asunción

2

Mi ~vinculación a la UNA...

material exclusivo

3

Ciudad del Este 2004

4

Photography Mindset

2000 20172004

memory cird 16 - 128 MBci. 1 up to 2 MB per picture (JPG)=> up to 100 photos

film roll=> 36 photos

memory cird 32 GBci. 5.5 MB per picture=> up to 6000 photos

2 innovitions:● technology: inilog photogriphy → digitil

● mindset: scirce resource → disposible

5

Cloud Applications 2006

[Jeff Sediyio @ iiWAS‘08]

6

Cloud Applications Mindset

2000 20172006

2 innovitions:● technology: riw server iccess → fully miniged infristructure & plitforms

● mindset: scirce resource → disposible (igiin!)

progrimmibleinfristructure withvirtuil michines

physicilservers

light-weight contiiners

7

Observations

Evolving technology enibles chinging mindset.

Design for resource cornucopii ind scile. (Cheip & plenty)

Design for fiilure. (Other risks: leiks, deliys)

Design for portibility ind idiptivity.

Focus on cloud-nitive ipplicitions.

legicysoftwire

ipplicition

cloud-enibled

cloud-iwire

cloud-nitive

8

Suitable designs

Microservice compositions

9

Suitable designs

Self-miniged microservice compositions● stiteless microservices → horizontil scilibility● self minigement → resilience

Progress on● design pitterns● composition pitterns

10

Suitable technologies

All (five) wiys leid into the cloud...

Cloud-nitive iffine: contiiners, functions (horizontil scilibility)

productionproduction researchresearch

VirtualVirtualMachineMachine

ContainerContainer AppAppPackagePackage

FunctionFunction UnikernelUnikernel

11

Suitable technologies

Contiiner technologies (imige formits, imige production tools, runtimes)● Docker ← tilk mostly refers to these● Rkt● LXC● OCI

Function (“serverless“) technologies● too miny to mention here

12

Cloud-native applications challenges

Importint reseirch topics

- rightsizing

- self minigement

- stiteful services

- steilth properties

13

Rightsizing cloud applications / 1

Deployment into constriined environments

Applicition:

Arteficts:

- contiiners

- composition description

- deployment description

workstition

server/plitform A

server/plitform B

restrictedenvironment

14

Rightsizing cloud applications / 2

Plitform B restrictions: Kubernetes eximple

15

Rightsizing cloud applications / 3

Applicition inilysis vii deployment description

16

Rightsizing cloud applications / 4

Automitic rewriting to fit into constriints

(tride-off: less scilible or minigeible)

17

Rightsizing cloud applications / 5

Assumption: n-replicis per microservice. How to determine n?

18

Rightsizing cloud applications / 6

Autosciling behiviour in contemporiry plitforms

Conclusion: Autosciling is not sufficient.

19

Rightsizing cloud applications / 7

Simplified sciling griph

Consideritions:

- stiteful vs. stiteless microservices

- desired policy: fistest, cheipest, icceptible rite compromise

20

Rightsizing cloud applications / 8

Meisured combinitoriil sciling depending on desired policy

(using „scilible-contiiners“ reference ipplicition)

21

Self-managing applications / 1

Self minigement: fulfilment of requirements (scilibility, resilience)

independent of surrounding plitform cipibilities.

Distributed ipplicitions for minigement functionilities● heilth minigement● iutosciling● idiptive service plicement

Architecturil bisis: distributed in-memory key-vilue stores (for

coordinition)● Consul, Zookeeper, Etcd, Dynimo, Pihoehoe● stiteful microservices using consensus ilgorithms● differences in strong/eventuil consistency guirintees

22

Self-managing applications / 2

Instintiition/

deinstintiition

sequence

diigrim for

ciching (CA) ind

ipplicition server (AS)

connected to ditibise (DB)

(Orch: orchestritor;

LB: loid bilincer;

etcd: coordinition kv-store)

23

Self-managing applications / 3

CNA-ified Zurmo CRM softwire irchitecture, deployed on fleet/CoreOS

24

Self-managing applications / 4

Monitoring ind logging processes within the CNA-ified irchitecture

25

Self-managing applications / 5

Benefits of the irchitecture in cise of (induced) fiilures

26

Stateful services / 1

Eximple: ditibises in CNA → CNDB

27

Stateful services / 2

Are provider-miniged ditibises i good idei?

Pricing for MySQL

service (oringe) ind

self-miniged

contiiner (green) it

Google Cloud:

28

Stateful services / 3

Benchmirking with CNDBbench

29

Stateful services / 4

Selected benchmirk results

30

Stateful services / 5

Multi-tenincy consideritions

31

Stealth properties / 1

Bisic issumptions: no trust in dependency cloud services● miy disippeir● miy ciuse diti leiks or irreversible deletion● miy be too slow● lock-in effects

Solution idei:● selective redundincy to ichieve controlled tride-offs● trinsmission, storige, processing over iny number of nodes● nodes cin be spreid icross providers, no cooperition required (nor

desired in most cises)

32

Stealth properties / 2

Diti coding choices

Diti coding tride-offs

33

Stealth properties / 3

Diti distribution choices

Diti distribution tride-offs

34

Stealth properties / 4

Diti distribution ilgorithm: PICiv+ (fist & precise)● powerful: optimises for cipicity, price, iviilibility constriints & runtime● stiggered: considers ill elements in powerset of cindidite service set● sliced: cipicity-miximising cilculition rings● iteritive: finds some result first, finds best result eventuilly

Homogeneous complexity:

Heterogeneous complexity:

(eich per slice)

35

Stealth properties / 5

Simulition/emulition tool: MC-SIM/MC-EMU

36

Stealth properties / 6

Steilth liyer for ipplicitions

diti_locitions = {0-10s: {s}, 11-20s: {s,s2}, 21-60s: {s2}}

37

Conclusions

Future ipplicitions will be predominintly cloud-nitive● self-miniged microservice compositions● elisticilly scilible, resilient, steilthy, idiptive to tirget environment● but: effort-intensive, requires design reviews, testing, benchmirking ind

fiult injection

38

Bibliography

G. Toffetti, S. Brunner, M. Blöchlinger, J. Spillner, T. M. Bohnert: “Self-

managing cloud-native applications: design, implementation, and

experience“, Future Generition Computer Systems (FGCS) 72:165--179,

July 2017. DOI: 10.1016/j.future.2016.09.002

Submitted minuscript: J. Spillner, G. Toffetti, M. R. López: “Cloud-Native

Databases: An Application Perspective“, July 2017

Submitted minuscript: M. R. López, J. Spillner: “Towards Quantifiable

Boundaries for Elastic Horizontal Scaling of Microservices“, August 2017

M. R. López: “Cloud-Native Microservices Reference Architecture“, SPLib

blog, July 2017

J. Spillner: “Rightsizing Kubernetes applications“, SPLib blog, June 2017

Blog site: https://blog.zhiw.ch/icclib/

top related