distributed applications: a challenge for systems, …...computer networks group universität...
TRANSCRIPT
![Page 1: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/1.jpg)
Computer Networks Group Universität Paderborn
Distributed applications: A challenge for systems, networks, and application development
Holger Karl Paderborn University
![Page 2: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/2.jpg)
Claims
• Developing and deploying applications: Together
• Buzzword: Continuous software engineering, CI/CD
• Deploying: Applications and infrastructure
• Buzzword: Infrastructure as code
• Education issues
CleanSky 2017, Göttingen 2
![Page 3: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/3.jpg)
Key ingredients
3
Applications
Distributed Cloud
Computing
Network Function
Virtualization ?
CleanSky 2017, Göttingen
Software-defined networking
![Page 4: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/4.jpg)
Developing old school
• Monolithic IDEs producing monolithic code
4
Code
CleanSky 2017, Göttingen
![Page 5: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/5.jpg)
Deploying?
5
Code ???
CleanSky 2017, Göttingen
![Page 6: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/6.jpg)
Deploying, old school
• Great for single application, single machine
6 CleanSky 2017, Göttingen
![Page 7: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/7.jpg)
Developing, ca. 2017
• Own code, plus tons of modules, libraries, microservices, …
7
Code Code Code Code
CleanSky 2017, Göttingen
![Page 8: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/8.jpg)
Deploying using virtual machines
• Great for simple applications • Even inside, e.g., VMWare clusters
8
Customize a ready-made image to local needs
E.g., network addresses
CleanSky 2017, Göttingen
![Page 9: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/9.jpg)
Setup after deployment
9
VM
Code
DNS
CleanSky 2017, Göttingen
![Page 10: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/10.jpg)
Deploying complex applications – Manually
• Getting slightly less great
10
• Anything real will need multiple machines
Tell frontend how to talk to backend: IP, ports, keys, …
Tell backend which frontend to accept: IP, ports, keys, …
CleanSky 2017, Göttingen
![Page 11: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/11.jpg)
Setup after deployment
11
VM Front- end
DNS
VM Back end
CleanSky 2017, Göttingen
![Page 12: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/12.jpg)
Scaling out?
• Load increases: need another frontend
12
Start second frontend
Integrate it with backend
CleanSky 2017, Göttingen
![Page 13: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/13.jpg)
Scaling out?
• But wait, there’s more:
• Becoming not so great
13
Distribute traffic to two frontends: Loadbalancer
needed
Firewall needs to be told to allow traffic
DNS should point to
loadbalancer
CleanSky 2017, Göttingen
![Page 14: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/14.jpg)
Setup after deployment
14
VM Front- end1
DNS
VM Back end
VM Front- end2
VM Load-
balancer
CleanSky 2017, Göttingen
![Page 15: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/15.jpg)
Frontends at different sites?
• Wouldn't this make more sense?
15
VM Front- end1
DNS
VM Back end
VM Front- end2
CleanSky 2017, Göttingen
![Page 16: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/16.jpg)
Deploying frontends at remote sites
• Definitely not great!
16 CleanSky 2017, Göttingen
![Page 17: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/17.jpg)
What do we need?
• Get rid of manual configuration via console
• Describing configuration of a composed application • Its actual application-oriented components • Support components like firewalls, … • Scaling properties
• Deploying such a composed application • Configuring underlying infrastructure
17 CleanSky 2017, Göttingen
![Page 18: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/18.jpg)
Issues
18
Describe Deploy Configure
Front- end
Back-end
CleanSky 2017, Göttingen
![Page 19: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/19.jpg)
Describing complex applications – Templates
• Templates describe components in an application • Needs
• Which components • How interconnected • How to scale • Where to place
19 CleanSky 2017, Göttingen
![Page 20: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/20.jpg)
Template examples
• OpenStack: HEAT Orchestration Template (HOT) • HEAT: OpenStack’s orchestration plugin • Composition, interconnected, limited scaling properties, single site
• Docker Swarm • Container-based (instead of VMs) • Relatively simple setup, easy generation
• Google Kubernetes
20 CleanSky 2017, Göttingen
![Page 21: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/21.jpg)
Docker/Kubernetes example: Guestbook application
21
https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/guestbook/all-in-one/guestbook-all-in-one.yaml
CleanSky 2017, Göttingen
![Page 22: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/22.jpg)
Templates, as they should be
• Quantitative annotations • From profiling
• Scaling options • …
22
Front- end
Back-end
Fire-wall
Load-balancer
Data-base
1000 200
5000
CleanSky 2017, Göttingen
![Page 23: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/23.jpg)
Services?
• “Ordinary” application boxes?
• “Network” functions?
• What’s the key, pivotal difference?
CleanSky 2017, Göttingen 23
Fire-wall
Load-balancer
Front- end
Back-end
Data-base
![Page 24: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/24.jpg)
Claim: None!
• There is no inherent difference between
• microservices • network functions
• Differences are a historical, ecosystem-based coincidence • E.g., separate orchestrators, …
CleanSky 2017, Göttingen 24
![Page 25: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/25.jpg)
Mid-term goal: Merge NFV and (D)CC
25
DCC
NFV
CleanSky 2017, Göttingen
![Page 26: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/26.jpg)
Crossing from VNFs to SDN?
• Example: Load balancer • Given as a VNF • Or as SDN rules
• Decide which one? • Automatically convert?
• Open!
CleanSky 2017, Göttingen 26
![Page 27: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/27.jpg)
Mid-term goal: Merge NFV, DCC, SDN
27
DCC
NFV
LANMAN 2016
SDN
![Page 28: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/28.jpg)
Applications become more complex
• Application = Actual application + networking
CleanSky 2017, Göttingen 28
Fire-wall
Load-balancer
Back-end
Front- end
Application Application
components/ microservices
Networking components
(SDN or NFV)
Quantitative templates
![Page 29: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/29.jpg)
Remember
Developer knows best!
CleanSky 2017, Göttingen 29
![Page 30: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/30.jpg)
Example template: Quantitative scaling
CleanSky 2017, Göttingen 30
M. Keller, C. Robberts, H. Karl: Template Embedding: Using Application Architecture to Allocate Resources in Distributed Clouds, UCC 2014
![Page 31: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/31.jpg)
Example template: Reordering
CleanSky 2017, Göttingen 31
S. Mehraghdam, M. Keller, H. Karl: Specifying and Placing Chains of Virtual Network Functions, CloudNet 2014
![Page 32: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/32.jpg)
Issues
32
Describe Deploy Configure
Fire-wall
Fire-wall
Front- end
Back-end
Load-balancer
Data-base Front-
end
Front- end
CleanSky 2017, Göttingen
![Page 33: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/33.jpg)
Deploying?
• Scaling? • Placement? • Lifecycle
management?
CleanSky 2017, Göttingen 33
• Where to put which component?
• Virtual network embedding
– NP-hard
• Embedding scalable templates: generalization • Still solvable with good
heuristics
• When to start, stop, migrate state of a component
![Page 34: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/34.jpg)
One-size-fits-all solution?
• Use a single, “perfect” deployment scheme? • Independent of application?
• Remember: Developer knows best! • SotA: Some parameterization exists, but limited in flexibility
• E.g., Kubernetes
• No! Need bespoke deployment, orchestration schemes!
CleanSky 2017, Göttingen 34
![Page 35: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/35.jpg)
Developer knows best!
• Application = Orchestration + actual application + networking • UNIFY, SONATA, ...
CleanSky 2017, Göttingen 35
Fire-wall
Load-balancer
Back-end
Front- end
Place-ment
Life- cycle
Application Bespoke
orchestration!
![Page 36: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/36.jpg)
Reality check: Networking
• Networking: SDN controller applications • Create network topology for application • Developer support? Legacy?
CleanSky 2017, Göttingen 36
Fire-wall
Load-balancer
Back-end
Front- end
Place-ment
Life- cycle
Application
Bespoke networking!
![Page 37: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/37.jpg)
SDN controller
High-level architecture
CleanSky 2017, Göttingen 37
Application Orchestrator
Front- end
NFV orchestrator
Cloud orchestrator
Fire-wall
Load-balancer
Back-end
Front- end
Place-ment
Life- cycle
![Page 38: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/38.jpg)
Reality check: Developer
Developer knows best?
CleanSky 2017, Göttingen 38
![Page 39: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/39.jpg)
Developer knows best?
CleanSky 2017, Göttingen 39
Fire-wall
Load-balancer
Back-end
Front- end
Place-ment
Life- cycle
Application
![Page 40: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/40.jpg)
Reality check: Develop SDN network applications
• NetIDE: Bring SDN closer to developers • Supporting legacy applications on controller frameworks
CleanSky 2017, Göttingen 40
P. A. Aranda Gutiérrez et al., NetIDE: All-in-one framework for next
generation, composed SDN applications, NetSoft Demo, 2016
http://www.netide.eu
![Page 41: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/41.jpg)
NetIDE: Ease developer’s tasks by SDK
CleanSky 2017, Göttingen 41
P. A. Aranda Gutiérrez et al., NetIDE: All-in-one framework for next
generation, composed SDN applications, NetSoft Demo, 2016
![Page 42: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/42.jpg)
Reality check: Templates
• Ideal developer writes perfect templates • Real developer?
• Option: semi-automatic generation?
• Based on semantic understanding of components
CleanSky 2017, Göttingen 42
https://sfb901.uni-paderborn.de
![Page 43: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/43.jpg)
Reality check: Orchestration with 3rd party modules?
• Run code from outside application inside an orchestration platform? • Security, isolation, conflicts, …?
• Sure – as microservices! • SONATA (5G PPP): microservices-based orchestration
CleanSky 2017, Göttingen 43
http://sonata-nfv.eu
![Page 44: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/44.jpg)
SONATA: Architecture overview
CleanSky 2017, Göttingen 44
![Page 45: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/45.jpg)
Challenge: Education!
• Teaching curricula: Integrate networking, distributed systems, virtualization
• Continuous education
CleanSky 2017, Göttingen 45
![Page 46: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application](https://reader034.vdocuments.site/reader034/viewer/2022042320/5f0a8d037e708231d42c300c/html5/thumbnails/46.jpg)
Conclusion
• NFV and (D)CC need to merge; SDN integrated
• Developers and Ops need to understand that • DevOps for complex, distributed applications
• Research & education task
CleanSky 2017, Göttingen 46