Top Banner
Paracloud: Bringing Application Insight into Cloud Operations Shripad J Nadgowda, Sahil Suneja, Canturk Isci IBM T J Watson Research Center IBM T J Watson ResearchCenter
23

Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Mar 27, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Paracloud: Bringing Application Insight into Cloud Operations

Shripad J Nadgowda, Sahil Suneja, Canturk Isci

IBM T J Watson Research Center

IBMTJWatsonResearchCenter

Page 2: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

AgendaIBMTJWatsonResearchCenter

• (Historical) Background• Motivation (for Change)• Paracloud Architecture (What,Why and How ?)• (Validation by) Evaluation• (Take away) Conclusion• (Open for) Discussion

Page 3: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application developmentIBMTJWatsonResearchCenter

Application Development Application Deployments

Desktops/Servers

Applications were traditionally designed and developed to run on physical servers

Page 4: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application developmentIBMTJWatsonResearchCenter

Application Development Application Deployments

Desktops/Servers

IaaS Cloud

Applications on-boarded to IaaS Clouds in VMs and remained un-modified

Page 5: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application developmentIBMTJWatsonResearchCenter

Application Development Application Deployments

Desktops/Servers

Applications on-boarded to PaaS clouds encapsulated in container images

IaaS Cloud

PaaS Cloud

Page 6: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application developmentIBMTJWatsonResearchCenter

Application Development Application Deployments

Desktops/Servers

IaaS Cloud

PaaS Cloud

1. Created 1:N relationship between application developments and their deployment types

2. Applications have been oblivious to their actual runtimes

Page 7: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

IBMTJWatsonResearchCenter

Lets flip the coin…

Page 8: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

A single generic operating runtime to host different kinds of applications

Apps

Physical server runtime

fadvisemadvisedirectIO

Page 9: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

A single generic hypervisor to host different kinds of application VMs

Apps

Physical server runtime

fadvisemadvisedirectIO

Virtual server runtime

CPU Memory IO

HW

Hypervisor

Host OS

Apps

VM

Page 10: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

Apps

Physical server runtime

fadvisemadvisedirectIO

Virtual server runtime

CPU Memory IO

HW

Hypervisor

Host OS

Apps

VM

PVD

virtIOguesttools

Page 11: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

Apps

Physical server runtime

fadvisemadvisedirectIO

Virtual server runtime

CPU Memory IO

HW

Hypervisor

Host OS

Apps

VM

PVD

virtIOguesttools

Applications know best !

Page 12: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

A single generic cloud platform to host different kinds of application containers

CPU Memory IO

HW

Host OS

Migration Auto-scaling Load-BalancingKubernetes

Container

Apps

Container Cloud Platform

Container

Apps

Page 13: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

A single generic cloud platform to host different kinds of application containers

CPU Memory IO

HW

Host OS

Migration Auto-scaling Load-BalancingKubernetes

Container

Apps

Container Cloud Platform

Container

Apps

Page 14: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Tale of Application runtimesIBMTJWatsonResearchCenter

CPU Memory IO

HW

Host OS

PaCI: Paracloud Interaface for modular Cloud operations

CPU Memory IO

HW

Host OS

Migration Auto-scaling Load-BalancingKubernetes

Container

Apps

Container Cloud Platform

Container

Apps

PaCI PaCI

Page 15: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

IBMTJWatsonResearchCenter

Credit: Land! Boat! I'm Saved! By Sean Kleefeld

Page 16: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Paracloud: What ?IBMTJWatsonResearchCenter

• Applications are run directly on top-of cloud platforms• Paracloud is a framework in which a bi-directionalcontrol channel (PaCI) is available betweenapplications and cloud substrate

• PaCIs aremodular extensions to the cloudmanagement functions like migration, auto-scaling,load-balancing etc.

• Currently, PaCIs are designed and being implementedfor Kubernetes

Page 17: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Paracloud: Why?IBMTJWatsonResearchCenter

Migration• Ensure consistency across in-

memory state and persistent state• Reduce memory pressure during

migration Load-Balancing• Ability to co-operatively load-

balanced across different kindsof services

• Build a semantically equivalent to linux’s yield for cloudAuto-scaling

• Eliminate false-positive scaling triggers

• Ability to select the right scaling methods

Page 18: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Paracloud: How?IBMTJWatsonResearchCenter

Image Credits: dramaworkhouse.org.uk

Cloud Platform: Kubernetes• Most popular container cloud substrate• Supports container hooks and Downward APIs• Vision for cluster-native applications

PaCI Delivery GauranteepreMigrate At-most-once

postRestore At-most-once

reqYield At-least-once

appYield -

chkAutoscale At-least-once

hotScale -

PaCI implemented as container hooks implemented as extension to K8S APIs

EnforcementSide-car containers w/o application change

Page 19: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Paracloud: EvaluationIBMTJWatsonResearchCenter

HotScale: To be or not to be !

0

0.5

1

1.5

2

2.5

3

05.4

10.8

16.2

21.6 27

32.4

37.8

43.2

48.6 54

59.4

64.8

70.2

75.6 81

86.4

Latency(m

s)

Time(sec)

baseline coldscale hotscale

Zipfian Access Workload

0

0.5

1

1.5

2

2.5

3

06.5 13

19.5 26

32.5 39

45.5 52

58.5 65

71.5 78

84.5 91

97.5

104

Latency(m

s)

Time(sec)

baseline coldscale hotscale

0102030405060708090

00.51

1.52

2.53

3.54

0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48

mem

oryused(%

)

Pruning(K/sec)

Time(sec)

UniformWorkload ZipfianWorkload

MemoryUsed

Uniform AccessWorkloadMemory characteristics

Applications-assisted auto-scaling improves performance by ~20%!

Page 20: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

ConclusionIBMTJWatsonResearchCenter

• Applications have been oblivious to their cloudruntimes

• Container cloud poses an opportunity to makeapplications cloud-aware

• Paracloud is a framework that enables such cloud-awareness for apps and app-awareness for clouds

• PaCIs currently defines bi-directional control interfacefor migration, auto-scaling and load-balancing

Page 21: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

DiscussionIBMTJWatsonResearchCenter

Are these PaCIs secure?• Currently, they are not security-profiled• Adoptable for single-tenant cloud

How disruptive is it ?• It’s a controlled oneJ

Whom does it matters the most ?• Its a win-win for both application

developer and cloud provider

Open Questions• Should PaCI be vendor-agnostic, perhaps via a signal-and-syscall

implementation?• What are the minimum viable number of PaCIs to covermajority of cloud use-

cases ?• Whether PaCIs are applicable for non-containerized deployments

Page 22: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Q & A

IBMTJWatsonResearchCenter

Page 23: Paracloud: Bringing Application Insight into Cloud Operations · Tale ofApplication development IBM T J Watson Research Center Application Development Application Deployments Desktops/Servers

Thank YouContact : [email protected]

IBMTJWatsonResearchCenter