If you knew what I know or CloudWave - Improving services in the Cloud through collaborative adaptation Eliot Salant IBM Haifa Research CloudWave Project Coordinator
Where things are today Grid computing – resources allocated to nodes Cloud Computing Elasticity Scale up Scale out
So, what’s the problem? Hint…
Evolution of software delivery Runs cost money! Fail early, fail cheaply Extensive alpha and beta testing
Release times (wks) – Windows vs. app
The DevOps paradigm Development Operations “A large segment of DevOps tools delivers automation and configuration to relax stress on developers and operators during continuous delivery… but to support smooth operation data analytics will need to step up to the plate.”
How can the Cloud better support DevOps-style development AND adopt DevOps concepts itself?
The CloudWave idea Infrastructure behavior Application behavior
CloudWave overview 3 year project sponsored by the EU’s FP7 Just finished the first year 10 partner organizations 6.3 Meuro budget
Main project concepts Holistic Cloud events db Application monitoring Infrastructure monitoring Adaptation engine FDD
Some CloudWave Challenges Execution Analytics Effective monitoring of infrastructure Effective monitoring of applications Event filtering, consolidation Complex event processing Coordinated Adaptation Machine Learning techniques Modeling adaptation scenarios Feedback Driven Design Insights to aid developers Test plan evolution through analytics
Strategy Implementation Use cases Research
Functional Decomposition CW DevOp engineer Development Env Administration Env. Runtime Environment Feedback App changes Feedback Deployment Feedback Configuration CloudWave Admin Status visual. Administration Level 1 decomposition
Terminology OpenStack – Open Source cloud computing platform Heat – Orchestration tool for deployment on OpenStack cloud HOT – Heat Orchestration Template Ceilometer – OpenStack resource monitoring tool Enactment point – Sets the state of the application for adaptation
Concept Application and monitoring environment Monitoring collection and Analysis Coordinated Adaptation Monitoring data Enactment point definition Enactment trigger Living State Manager User input OpenStack action Application adaptation request Heat Engine FDD Physical machine Application and monitoring environment Cloud Stack Mgr
CW Monitoring Physical machine: Nova Compute Node CW.so library CW Pollister Pollster N Pollster 1… Application code Application logging tools Celiometer Agent CW probe VM OpenStack Controller Node CWE dispatcher Mongo db Celiometer Collector
Adding analytics OpenStack Controller Node CWE dispatcher Mongo db Celiometer Collector CelioEsper Esper Other CEP Engines To Living State Manager From monitoring
Living State Manager HOT++ Heat Engine Adaptation Engine CW Grunt From Ceiloesper
All together now
Coordinated Adaptation
Directions for Coordinated Adaptation Machine learning to react to enactment point triggers Adaptation of both infrastructure and application Determination of new enactment points
Some challenges Multiple layers for adaptation App Middleware Virtual machine Physical machine Data center Cloud Federated clouds
Coordinated adaptation challenges Ultimate effect of adaptation actions at different levels not always clear Sample set for machine learning Standardizing application adaptations …
Example of potential coordinated adaptation Computations on a mobile phone vs. in Cloud IoT devices – autonomy vs. centralized control
Feedback Drive Design Better monitoring information and analysis to help developers Analysis of Adaptation Engine efficiency Feedback driven testing –Evolution of testing Problem recreation
FDD Challenges Effective feedback visualization Intelligent hints to developers (analysis) What-if analysis
In summary…