Computer Networks GroupUniversität Paderborn
A new view on distributed applications: System, network, application code
Holger Karl Paderborn University
Claims
• Developing and deploying applications: Together
• Deploying: Applications and infrastructure
• Education issues
2HNI-Symposium 2016
Key ingredients
3
Applications
Distributed Cloud
Computing
Network Function
Virtualization?
HNI-Symposium 2016
Developing old school
• Monolithic IDEs producing monolithic code
4
CodeHNI-Symposium 2016
Deploying?
5
Code ???
HNI-Symposium 2016
Deploying, old school
• Great for single application, single machine
6HNI-Symposium 2016
Developing, ca. 2016
• Own code, plus tons of modules, libraries, microservices, …
7
Code Code CodeCode
HNI-Symposium 2016
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
HNI-Symposium 2016
Setup after deployment
9
VM
Code
DNS
HNI-Symposium 2016
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 accepts:
IP, ports, keys, …
HNI-Symposium 2016
Setup after deployment
11
VMFront-end
DNS
VMBackend
HNI-Symposium 2016
Scaling out?
• Load increases: need another frontend
12
Start secondfrontend
Integrate itwith backend
HNI-Symposium 2016
Scaling out?
• But wait, there’s more:
• Becoming not so great
13
Distribute traffic totwo frontends: Loadbalancer
needed
Firewalls needsto be told toallow traffic
DNS shouldpoint to
loadbalancer
HNI-Symposium 2016
Setup after deployment
14
VMFront-end1
DNS
VMBackend
VMFront-end2
VMLoad-
balancer
HNI-Symposium 2016
Frontends at different sites?
• Wouldn't this make more sense?
15
VMFront-end1
DNS
VMBackend
VMFront-end2
HNI-Symposium 2016
Deploying frontends at remote sites
• Definitely not great!
16HNI-Symposium 2016
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
17HNI-Symposium 2016
Issues
18
Describe Deploy Configure
Front-end
Back-end
HNI-Symposium 2016
Describing complex applications – Templates
• Templates describe components in an application • Needs
• Which components • How interconnected • How to scale • Where to place
19HNI-Symposium 2016
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• By and large similar to HOT
20HNI-Symposium 2016
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
HNI-Symposium 2016
Templates, as they should be
• Quantitative annotations• Scaling• …
22
Front-end
Back-end
Fire-wall
Load-balancer
Data-base
1000 200
5000
HNI-Symposium 2016
Mid-term goal: Merge NFV and DCC
23
DCC
NFV
HNI-Symposium 2016
Example template: Quantitative scaling
HNI-Symposium 2016 24
M. Keller, C. Robberts, H. Karl: Template Embedding: Using Application Architecture to Allocate Resources in Distributed Clouds, UCC 2014
Example template: Reordering
HNI-Symposium 2016 25
S. Mehraghdam, M. Keller, H. Karl: Specifying and Placing Chains of Virtual Network Functions, CloudNet 2014
f1 f2 LB
f3
f3
f3
LB
f3
f3
f3
f1 f2
f1 f2
f1 f2
Developer knows best!
HNI-Symposium 2016 26
Issues
27
Describe Deploy Configure
Front-end
Back-end
Fire-wall
Load-balancer
Data-base
1000 200
5000
Fire-wall
Fire-wall
Front-end
Back-end
Load-balancer
Data-baseFront-
end
Front-end
HNI-Symposium 2016
Deploying?
• Scaling? • Placement? • Lifecylce
management?
HNI-Symposium 2016 28
• Where to put which component?
• Virtual network embedding – NP-hard
• Embedding scalabletemplates: generalization• Still solvable with good
heuristics
• When to start, stop, migrate state of a component
Developer knows best!
• Application = Orchestration + actual application + networking• UNIFY, SONATA, ...
HNI-Symposium 2016 29
Fire-wall
Load-balancer
Back-end
Front-end
Place-ment
Life-cycle
ApplicationBespoke
orchestration!
SONATA: Architecture overview
HNI-Symposium 2016 30
InfrastructureInfrastructure
SSM
1
SSM
2
MANOFrameworkGa
tekeep
er
MessageBroker
ExecutiveMessageBroker
ServiceDecision
ServiceExecution M
onito
ringp
rocessorplugin
ExecutiveMessageBroker
InfrastructureAdaptor
Conflictresolution
SSM
1
SSM
2
SSM
n
SSM
n
Pluginmanagement
InfrastructureAbstraction
Or-Gk
Or-Rep
Infrastructure VNF
VNF
VNF
Repo
sitories
Monito
ring
Service
SSM
NFInfra
str.
SONATAServicePlatformPlatform
Catalogue
s
Gk-Cat
SSM
1
SSM
2
ExecutiveMessageBroker
VNFDecision VNFExecution
ExecutiveMessageBroker
SSM
1
SSM
2
SSM
n
SSM
n
ResourceMan
agem
ent
Slice
Man
agem
ent
NFVO VNFM
VNFAdaptor
VIMVIMVIM
Reality check: Orchestration
• Run third-party code inside an operator’s orchestration platform?
• Challenge: Present abstract view, restrict actions
HNI-Symposium 2016 31
Reality check: Networking
• Networking: SDN controller applications • Create network topology for application • Developer support? Legacy?
HNI-Symposium 2016 32
Fire-wall
Load-balancer
Back-end
Front-end
Place-ment
Life-cycle
Application
Bespoke networking!
Reality check: Developer
Developer knows best?
HNI-Symposium 2016 33
Developing, ca. 2016
• Own code, plus tons of modules, libraries, microservices…
34
Code Code CodeCode
HNI-Symposium 2016
Developer knows best?
HNI-Symposium 2016 35
Fire-wall
Load-balancer
Back-end
Front-end
Place-ment
Life-cycle
Application
NetIDE: Bring SDN closer to developers
• Supporting legacy applications on controller frameworks
HNI-Symposium 2016 36
P. A. Aranda Gutiérrez et al., NetIDE: All-in-one framework for nextgeneration, composed SDN applications, NetSoft Demo, 2016
NetIDE: Bring SDN closer to developers
• Easing developer tasks
HNI-Symposium 2016 37
P. A. Aranda Gutiérrez et al., NetIDE: All-in-one framework for nextgeneration, composed SDN applications, NetSoft Demo, 2016
Example issue: Crossing from VNFs to SDN?
• Example: Load balancer • Given as a VNF• Or as SDN rules
• Decide which one? • Automatically convert?
• Open!
HNI-Symposium 2016 38
Reality check: Templates
• Ideal developer writes perfect templates • Real developer?
• Option: semi-automatic generation?• Based on semantic understanding of components
• Option: Education!
HNI-Symposium 2016 39
Buzzwords
• This talk so far: Participation
• Down the road: Anticipation
HNI-Symposium 2016 40
Challenge: Education!
• Teaching curricula: Integrate networking, distributed systems, virtualization
• Continuous education
HNI-Symposium 2016 41
Conclusion
• NFV and DCC need to merge
• Developers need to understand that
• Research & education task
HNI-Symposium 2016 42