Distributed applications: A challenge for systems, …...Computer Networks Group Universität...

46
Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application development Holger Karl Paderborn University

Transcript of Distributed applications: A challenge for systems, …...Computer Networks Group Universität...

Page 1: Distributed applications: A challenge for systems, …...Computer Networks Group Universität Paderborn Distributed applications: A challenge for systems, networks, and application

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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