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
Paracloud: Bringing Application Insight into Cloud Operations
Shripad J Nadgowda, Sahil Suneja, Canturk Isci
IBM T J Watson Research Center
IBMTJWatsonResearchCenter
AgendaIBMTJWatsonResearchCenter
• (Historical) Background• Motivation (for Change)• Paracloud Architecture (What,Why and How ?)• (Validation by) Evaluation• (Take away) Conclusion• (Open for) Discussion
Tale of Application developmentIBMTJWatsonResearchCenter
Application Development Application Deployments
Desktops/Servers
Applications were traditionally designed and developed to run on physical 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
Tale of Application developmentIBMTJWatsonResearchCenter
Application Development Application Deployments
Desktops/Servers
Applications on-boarded to PaaS clouds encapsulated in container images
IaaS Cloud
PaaS Cloud
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
IBMTJWatsonResearchCenter
Lets flip the coin…
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
…
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
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
…
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 !
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
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
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
IBMTJWatsonResearchCenter
Credit: Land! Boat! I'm Saved! By Sean Kleefeld
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
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
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
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%!
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
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
Q & A
IBMTJWatsonResearchCenter
Thank YouContact : [email protected]
IBMTJWatsonResearchCenter