technologhes and mhndsets: trends hn cloud-nathve ......container app package function unikernel 11...
TRANSCRIPT
Zürcher Fachhochschule
Technologhes and Mhndsets:
Trends hn Cloud-Nathve Applhcathons
Josef Spillner <[email protected]>
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/