SlideShare a Scribd company logo
1 of 48
Download to read offline
Victoria Livschitz, CEO of Tonomi
@vlivschitz
Autonomic Management of Cloud
Applications
Autonomic Application Delivery
SVDevOps Meetup
Intuit, May 19 2015
About the speaker
Founder & CEO, Tonomi (formerly, Qubell)
First autonomic application delivery and
management platform for cloud applications
Founder & CEO, Grid Dynamics, 2006 - 2013
Pioneer of enterprise clouds; leading provider of open, scalable,
next-generation technology solutions for Tier 1 retailers
Principal Architect, Sun: 1997 - 20o6
Chief architect of GM; chief architect of financial services; senior
scientist in SunLabs; technical lead on SunGrid, world’s first
public cloud service.
“ ”
Everyday is a battle
to keep up with the pace of innovation
Automation is the Battlefield
Speed and
Self-service
Stability 

and Control
VS
Fujitsu Lettuce Farm
(in repurposed micro-chip factory)
Akisai: IoT, Big Data and Cloud in Action
Part of a Greater Vision of Sustaining Farming
Tonomi Vision: Agile Software Factory
Continuously develop,
test, rollout, measure,
analyze, experiment, tune,
scale, patch and upgrade
applications, 24 x 7“ ”
Tonomi Focus: Adaptive Control
Externalize configuration of everything affecting
application and its environment. Enable centralized
control over configurations from a cloud.
Continuously monitor health of running
applications. Track changes in their environment.
Identify triggers that require controlled response.
Adaptively change application configuration by
applying orchestrated workflows based on
policies. Log all changes for analysis and audit.
1.
2.
3.
Emerging Control Stack
IaaS
Infrastructure
management
vm
Container
management
Containers
vms
PaaS
Stacks
Micro-services Web Big Data CommercePatterns
Pipeline
Environment
management Self-service
Release
management
ConfigurationAutonomic
vmvmvm
IoTMobile Domains
More…
Self-Service
Search eCommerce Personalization
Payment Gateway
Search eCommerce Personalization
Payment Gateway
Search eCommerce Personalization
Update
Index Patch OS Upgrade
Schema
Payment Gateway
Make application configuration
“adaptive” to purpose and
environment
Configuration A
CentOS
CentOS
EC2
20Mb 

Data
WebLogic
Stub
API
Blueprint A
Testing
Automation via statically-defined configuration
Configuration A Configuration B
CentOS
CentOS
EC2
20Mb 

Data
WebLogic
Stub
API
Blueprint A Blueprint B
Testing
Production
RedHat
2Tb 

Data
WebLogic
API
WebLogic
RedHat
Static configurations, folked
Configuration A Configuration B
CentOS
CentOS
EC2
20Mb 

Data
WebLogic
Stub
API
2Tb 

Data
WebLogic
API
Tonomi Way: Adaptive Configuration
Environment BEnvironment A
WebLogic
Testing Production
RedHat
RedHat
Facilitate Release Pipeline
Commit UpgradeCI
Regression
Integration
Performance
User
Acceptance
Mobile
Staging
CI
Regression
Integration
Performance
User
Acceptance
Mobile
Staging
Dynamic Environments
Runtime Configuration (t) =
F (Application (t),
Environment (t),
Policy (t))
Adaptive Configuration vs. Deployment Automation
Automation without configuration
and adaptive change management
is not effective in a long run
Adaptive Configuration vs. Deployment Automation
Hadoop
Docker with Pet
Clinic
Broadleaf
Commerce
Oracle ATG
Commerce
Check out Tonomi Starter Kits:
Use Cases
Dynamic test
Environments
Configuration
management
Field installations and
Upgrades
1 2
3
Operational control’s
visibility & enforcement
4
2525
Developer (every day): new version of X is ready!
• How many live instances of X are affected? Where?
• How to deliver the change (Docker, Chef, etc.)?
• What related services might be affected?
• What to do about them, and their dependents?
• How to keep all systems are running while all this is
happening?
• Also…
• How do I know the change made had been authorized?
• How do I discover app’s actual configuration?
• How do I compare configs of different instances?
• Where do I find configuration change logs?
Ops:
Use case 1
Launch new environments on-demand, as developer self-
service
2727
Portal WISB
(what it should be)
WIRI
(what it really is)
Controller
Live
environment
1. Launch
new (A) {A, x, A->x, ….}
2828
Portal WISB
(what it should be)
WIRI
(what it really is)
Controller
Live
environment
1. Launch
new (A) {A, x, A->x, ….}
2929
Portal
3. Do this!
WISB
(what it should be)
WIRI
(what it really is)
Controller
Live
environment
1. Launch
new (A) {A, x, A->x, ….} {A1, ….}
2. Authorized?
3030
Portal
3. Do this!
WISB
(what it should be)
WIRI
(what it really is)
Controller
4. Make new application instance, A1
X.1
Live
environment
A1
1. Launch
new (A)
5. Use cloud API, PaaS, chef, docker, etc.
{A, x, A->x, ….} {A1, ….}
2. Authorized?
3131
Portal
3. Do this!
WISB
(what it should be)
WIRI
(what it really is)
Controller
4. Make new application instance, A1
X.1
Live
environment
A1
1. Launch
new (A)
6. Log existence of A1, and all of it’s
components, with their configurations
{A, x, A->x, ….} {A1, ….}
2. Authorized?
5. Use cloud API, PaaS, chef, docker, etc.
3232
Portal
3. Do this!
WISB
(what it should be)
WIRI
(what it really is)
Controller
4. Make new application instance, A1
X.1
Live
environment
A1
1. Launch
new (A)
6. Log existence of A1, and all of it’s
components, with their configurations
7. Update
8. Done!
{A, x, A->x, ….} {A1, ….}
2. Authorized?
5. Use cloud API, PaaS, chef, docker, etc.
Use case 2
Publish new version of a component…
… new environments are configured correctly with new
blueprint
3434
Portal
1. Publish
change X.2
3. Update
catalog
WISB
(what it should be)
WIRI
(what it really is)
Controller
4. Generate new
blueprint for A
X.1
Live
environment
A1
{A, x, A->x, ….} {A1, ….}
2. Authorized?
3535
Portal
3. Do this!
WISB
(what it should be)
WIRI
(what it really is)
Controller
4. Make new application instance, A2
X.1
Live
environment
A1
X.2
A2
1. Launch
new (A)
6. Log existence of A2, and all of it’s
components, with their configurations
7. Update
8. Done!
{A, x, A->x, ….} {A1, A2, ….}
2. Authorized?
5. Use cloud API, PaaS, chef, docker, etc.
Use case 3
Self-service upgrades
3737
Portal WISB
(what it should be)
WIRI
(what it really is)
Controller
X.1
Live
environment
A1
X.2
A2
{A, x, A->x, ….} {A1, A2, ….}
1. Upgrade
(A) to
latest
3838
Portal
3. Do this!
WISB
(what it should be)
WIRI
(what it really is)
Controller
X.2
Live
environment
A1
X.2
A2
6. Update state of A1, and all of it’s
components
7. Update
8. Done!
4. Reconfigure X.1 to X.2 (application specific: blue-
green, canary, with downtime, etc.)
Note: Use cloud API, PaaS, chef, puppet,
docker, LiveRebel, etc.
5. Check & fix
dependencies
{A, x, A->x, ….} {A1, A2, ….}
2. Authorized?
1. Upgrade
(A) to
latest
Use case 4
Autonomic patches, upgrades with Docker
4040
WISB
(what it should be)
WIRI
(what it really is)
Controller
X.2
Live
environment
A1
X.2
A2
{A, x, A->x, ….} {A1, A2, ….}
X -—-> image ID
x.1 —> image ID 1
x.2 —> image ID 2
x.3 —> image ID 3
Docker Hub
1. New (ID 3)
2. Detect,
trigger or
push
4141
WISB
(what it should be)
WIRI
(what it really is)
Controller
X.3
Live
environment
A1
X.3
A2
4. Update state of A1, A2, etc.
3. Upgrade all affected instances
{A, x, A->x, ….} {A1, A2, ….}
X -—-> image ID
x.1 —> image ID 1
x.2 —> image ID 2
x.3 —> image ID 3
Docker Hub
1. New (ID 3)
2. Detect,
trigger or
push
X.2 -> X.3
X.2 -> X.3
Use case 5
Policy-based configuration management
4343
WISB
(what it should be)
WIRI
(what it really is)
Controller
X.2
Live environment 1: test
A1
{A, x, A->x, ….} {A1, A2, ….}
Live environment 2: production
X.2
A2
Policy 1
Policy 2
Portal
4444
WISB
(what it should be)
WIRI
(what it really is)
Controller
X.2
Live environment 1: test
A1
{A, x, A->x, ….} {A1, A2, ….}
Live environment 2: production
X.2
A2
Policy 1
Policy 2
Portal
1. Launch
A in “test”
3. Do this!
4. Make new application instance, A1
based on Policy 1
2. Authorized?
Qubell is reactive
Changes propagate as signals to connected services who
can (a) respond to that change, and (b) relay signals
further
4646
WISB
(what it should be)
WIRI
(what it really is)
Controller
X.2
Live environment 1: test
A1
{A, x, A->x, ….} {A1, A2, ….}
Live environment 2: production
X.2
A2
Policy 1
Policy 2
Portal
Signals propagating through
the circuits of connected
application fabric
Triggers
Innovate Faster!!
Thank you.
Thank you
Victoria Livschitz
@vlivschitz

More Related Content

What's hot

OpenStack at NTT Resonant: Lessons Learned in Web Infrastructure
OpenStack at NTT Resonant: Lessons Learned in Web InfrastructureOpenStack at NTT Resonant: Lessons Learned in Web Infrastructure
OpenStack at NTT Resonant: Lessons Learned in Web InfrastructureTomoya Hashimoto
 
Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)Eggy Cheng
 
Openstack architure part 1
Openstack architure part 1Openstack architure part 1
Openstack architure part 1Nhan Cao Thanh
 
Hybrid Cloud and Hyper Cloud
Hybrid Cloud and Hyper CloudHybrid Cloud and Hyper Cloud
Hybrid Cloud and Hyper CloudEshed Gal-Or
 
Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-managerKanagaraj M
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpen Stack
 
Watcher, a Resource Manager for OpenStack: Plans for the N-release and Beyond
Watcher, a Resource Manager for OpenStack: Plans for the N-release and BeyondWatcher, a Resource Manager for OpenStack: Plans for the N-release and Beyond
Watcher, a Resource Manager for OpenStack: Plans for the N-release and BeyondAntoine Cabot
 
MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleSudhir Tonse
 
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...Tobias Schneck
 
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...Tobias Schneck
 
How to use TripleO tools for your own project
How to use TripleO tools for your own projectHow to use TripleO tools for your own project
How to use TripleO tools for your own projectGonéri Le Bouder
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablobabycat_feifei
 
OpenStack Ottawa Meetup - March 29th 2017
OpenStack Ottawa Meetup - March 29th 2017OpenStack Ottawa Meetup - March 29th 2017
OpenStack Ottawa Meetup - March 29th 2017Stacy Véronneau
 
Architecture of massively scalable, distributed systems - InfoShare 2015
Architecture of massively scalable, distributed systems - InfoShare 2015Architecture of massively scalable, distributed systems - InfoShare 2015
Architecture of massively scalable, distributed systems - InfoShare 2015Tomasz Zen Napierala
 
OpenStack 101 Presentation
OpenStack 101 PresentationOpenStack 101 Presentation
OpenStack 101 PresentationEVault
 

What's hot (20)

OpenStack at NTT Resonant: Lessons Learned in Web Infrastructure
OpenStack at NTT Resonant: Lessons Learned in Web InfrastructureOpenStack at NTT Resonant: Lessons Learned in Web Infrastructure
OpenStack at NTT Resonant: Lessons Learned in Web Infrastructure
 
Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)Openstack Installation (ver. liberty)
Openstack Installation (ver. liberty)
 
Openstack architure part 1
Openstack architure part 1Openstack architure part 1
Openstack architure part 1
 
An Overview of Spinnaker
An Overview of SpinnakerAn Overview of Spinnaker
An Overview of Spinnaker
 
Hybrid Cloud and Hyper Cloud
Hybrid Cloud and Hyper CloudHybrid Cloud and Hyper Cloud
Hybrid Cloud and Hyper Cloud
 
OpenStack and Puppet
OpenStack and PuppetOpenStack and Puppet
OpenStack and Puppet
 
Namos openstack-manager
Namos openstack-managerNamos openstack-manager
Namos openstack-manager
 
OpenStack basics
OpenStack basicsOpenStack basics
OpenStack basics
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
Watcher, a Resource Manager for OpenStack: Plans for the N-release and Beyond
Watcher, a Resource Manager for OpenStack: Plans for the N-release and BeyondWatcher, a Resource Manager for OpenStack: Plans for the N-release and Beyond
Watcher, a Resource Manager for OpenStack: Plans for the N-release and Beyond
 
MicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scaleMicroServices at Netflix - challenges of scale
MicroServices at Netflix - challenges of scale
 
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
Kubermatic How to Migrate 100 Clusters from On-Prem to Google Cloud Without D...
 
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...Kubernetes Cluster API - managing the infrastructure of  multi clusters (k8s ...
Kubernetes Cluster API - managing the infrastructure of multi clusters (k8s ...
 
How to use TripleO tools for your own project
How to use TripleO tools for your own projectHow to use TripleO tools for your own project
How to use TripleO tools for your own project
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
OpenStack Ottawa Meetup - March 29th 2017
OpenStack Ottawa Meetup - March 29th 2017OpenStack Ottawa Meetup - March 29th 2017
OpenStack Ottawa Meetup - March 29th 2017
 
Triple o overview
Triple o overviewTriple o overview
Triple o overview
 
Architecture of massively scalable, distributed systems - InfoShare 2015
Architecture of massively scalable, distributed systems - InfoShare 2015Architecture of massively scalable, distributed systems - InfoShare 2015
Architecture of massively scalable, distributed systems - InfoShare 2015
 
OpenStack Heat
OpenStack HeatOpenStack Heat
OpenStack Heat
 
OpenStack 101 Presentation
OpenStack 101 PresentationOpenStack 101 Presentation
OpenStack 101 Presentation
 

Viewers also liked

Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Victoria Livschitz
 
Silabus osn geografi_2013
Silabus osn geografi_2013Silabus osn geografi_2013
Silabus osn geografi_2013melanisha
 
технология селективной изоляции водопритока
технология селективной изоляции водопритокатехнология селективной изоляции водопритока
технология селективной изоляции водопритокаgeoplast2007ru
 
طريقنا الى القلوب!
طريقنا الى القلوب!طريقنا الى القلوب!
طريقنا الى القلوب!Eslam Ashraf
 
Aleksander Królikowski
Aleksander KrólikowskiAleksander Królikowski
Aleksander KrólikowskiDysk
 
New zealand Tourism
New zealand TourismNew zealand Tourism
New zealand TourismShobha Verma
 
الأغراء الحقيقى
الأغراء الحقيقىالأغراء الحقيقى
الأغراء الحقيقىEslam Ashraf
 
Informal invitation
Informal invitationInformal invitation
Informal invitationmelanisha
 
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015Victoria Livschitz
 
презентация по технологии лпп
презентация по технологии лпппрезентация по технологии лпп
презентация по технологии лппgeoplast2007ru
 
Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...HEA_AH
 
Embedding modern languages across the disciplines - Catriona Cunningham
Embedding modern languages across the disciplines - Catriona CunninghamEmbedding modern languages across the disciplines - Catriona Cunningham
Embedding modern languages across the disciplines - Catriona CunninghamHEA_AH
 
Unifi securitybugs sep2013
Unifi securitybugs sep2013Unifi securitybugs sep2013
Unifi securitybugs sep2013testslidesha12
 
селективная обработка пласта пакер
селективная обработка пласта пакерселективная обработка пласта пакер
селективная обработка пласта пакерgeoplast2007ru
 
My perfect vacation
My perfect vacationMy perfect vacation
My perfect vacationAndy As
 
Enterprise in your degree - Neil Coles
Enterprise in your degree - Neil ColesEnterprise in your degree - Neil Coles
Enterprise in your degree - Neil ColesHEA_AH
 
High availability is not a luxury webcast
High availability is not a luxury webcastHigh availability is not a luxury webcast
High availability is not a luxury webcastGina Tragos
 

Viewers also liked (20)

Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)
 
Silabus osn geografi_2013
Silabus osn geografi_2013Silabus osn geografi_2013
Silabus osn geografi_2013
 
технология селективной изоляции водопритока
технология селективной изоляции водопритокатехнология селективной изоляции водопритока
технология селективной изоляции водопритока
 
طريقنا الى القلوب!
طريقنا الى القلوب!طريقنا الى القلوب!
طريقنا الى القلوب!
 
Aleksander Królikowski
Aleksander KrólikowskiAleksander Królikowski
Aleksander Królikowski
 
New zealand Tourism
New zealand TourismNew zealand Tourism
New zealand Tourism
 
الأغراء الحقيقى
الأغراء الحقيقىالأغراء الحقيقى
الأغراء الحقيقى
 
Informal invitation
Informal invitationInformal invitation
Informal invitation
 
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
Autonomic Management of Cloud Applications with Tonomi, Gluecon Keynote, 2015
 
презентация по технологии лпп
презентация по технологии лпппрезентация по технологии лпп
презентация по технологии лпп
 
Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...Enhancing employability through enterprise education: BSc Business Enterprise...
Enhancing employability through enterprise education: BSc Business Enterprise...
 
Embedding modern languages across the disciplines - Catriona Cunningham
Embedding modern languages across the disciplines - Catriona CunninghamEmbedding modern languages across the disciplines - Catriona Cunningham
Embedding modern languages across the disciplines - Catriona Cunningham
 
Unifi securitybugs sep2013
Unifi securitybugs sep2013Unifi securitybugs sep2013
Unifi securitybugs sep2013
 
One pagepdf
One pagepdfOne pagepdf
One pagepdf
 
селективная обработка пласта пакер
селективная обработка пласта пакерселективная обработка пласта пакер
селективная обработка пласта пакер
 
INTERNET PROTOCOL
INTERNET PROTOCOLINTERNET PROTOCOL
INTERNET PROTOCOL
 
My perfect vacation
My perfect vacationMy perfect vacation
My perfect vacation
 
Enterprise in your degree - Neil Coles
Enterprise in your degree - Neil ColesEnterprise in your degree - Neil Coles
Enterprise in your degree - Neil Coles
 
High availability is not a luxury webcast
High availability is not a luxury webcastHigh availability is not a luxury webcast
High availability is not a luxury webcast
 
Sli027
Sli027Sli027
Sli027
 

Similar to Autonomic Application Delivery with Tonomi

Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with DockerPatrick Chanezon
 
A Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsA Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsSander van der Burg
 
Amis Query (02-09-2008): Reports From Oracle Open World - Database
Amis Query (02-09-2008): Reports From Oracle Open World - DatabaseAmis Query (02-09-2008): Reports From Oracle Open World - Database
Amis Query (02-09-2008): Reports From Oracle Open World - DatabaseMarco Gralike
 
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDocker, Inc.
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...Lightbend
 
Continous delivery at docker age
Continous delivery at docker ageContinous delivery at docker age
Continous delivery at docker ageAdrien Blind
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016Docker, Inc.
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconMario-Leander Reimer
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-AsibleTommy Lee
 
A GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSA GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSWeaveworks
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesJakarta_EE
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)VirtualTech Japan Inc.
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 

Similar to Autonomic Application Delivery with Tonomi (20)

Programming the world with Docker
Programming the world with DockerProgramming the world with Docker
Programming the world with Docker
 
A Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented SystemsA Self-Adaptive Deployment Framework for Service-Oriented Systems
A Self-Adaptive Deployment Framework for Service-Oriented Systems
 
Amis Query (02-09-2008): Reports From Oracle Open World - Database
Amis Query (02-09-2008): Reports From Oracle Open World - DatabaseAmis Query (02-09-2008): Reports From Oracle Open World - Database
Amis Query (02-09-2008): Reports From Oracle Open World - Database
 
DockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon HykesDockerCon 2017 - General Session Day 1 - Solomon Hykes
DockerCon 2017 - General Session Day 1 - Solomon Hykes
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
Continous delivery at docker age
Continous delivery at docker ageContinous delivery at docker age
Continous delivery at docker age
 
Introduction to FIWARE Open Ecosystem
Introduction to FIWARE Open EcosystemIntroduction to FIWARE Open Ecosystem
Introduction to FIWARE Open Ecosystem
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
 
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
제4회 한국IBM과 함께하는 난공불락 오픈소스 인프라 세미나-Asible
 
A GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSA GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKS
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
Introduction of private cloud in LINE - OpenStack最新情報セミナー(2019年2月)
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
A Xen Case Study
A Xen Case StudyA Xen Case Study
A Xen Case Study
 
citus™ iot ecosystem
citus™ iot ecosystemcitus™ iot ecosystem
citus™ iot ecosystem
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 

Autonomic Application Delivery with Tonomi

  • 1. Victoria Livschitz, CEO of Tonomi @vlivschitz Autonomic Management of Cloud Applications Autonomic Application Delivery SVDevOps Meetup Intuit, May 19 2015
  • 2. About the speaker Founder & CEO, Tonomi (formerly, Qubell) First autonomic application delivery and management platform for cloud applications Founder & CEO, Grid Dynamics, 2006 - 2013 Pioneer of enterprise clouds; leading provider of open, scalable, next-generation technology solutions for Tier 1 retailers Principal Architect, Sun: 1997 - 20o6 Chief architect of GM; chief architect of financial services; senior scientist in SunLabs; technical lead on SunGrid, world’s first public cloud service.
  • 3. “ ” Everyday is a battle to keep up with the pace of innovation
  • 4. Automation is the Battlefield Speed and Self-service Stability 
 and Control VS
  • 5. Fujitsu Lettuce Farm (in repurposed micro-chip factory)
  • 6. Akisai: IoT, Big Data and Cloud in Action
  • 7. Part of a Greater Vision of Sustaining Farming
  • 8. Tonomi Vision: Agile Software Factory Continuously develop, test, rollout, measure, analyze, experiment, tune, scale, patch and upgrade applications, 24 x 7“ ”
  • 9. Tonomi Focus: Adaptive Control Externalize configuration of everything affecting application and its environment. Enable centralized control over configurations from a cloud. Continuously monitor health of running applications. Track changes in their environment. Identify triggers that require controlled response. Adaptively change application configuration by applying orchestrated workflows based on policies. Log all changes for analysis and audit. 1. 2. 3.
  • 10. Emerging Control Stack IaaS Infrastructure management vm Container management Containers vms PaaS Stacks Micro-services Web Big Data CommercePatterns Pipeline Environment management Self-service Release management ConfigurationAutonomic vmvmvm IoTMobile Domains More…
  • 14. Search eCommerce Personalization Update Index Patch OS Upgrade Schema Payment Gateway
  • 15. Make application configuration “adaptive” to purpose and environment
  • 16. Configuration A CentOS CentOS EC2 20Mb 
 Data WebLogic Stub API Blueprint A Testing Automation via statically-defined configuration
  • 17. Configuration A Configuration B CentOS CentOS EC2 20Mb 
 Data WebLogic Stub API Blueprint A Blueprint B Testing Production RedHat 2Tb 
 Data WebLogic API WebLogic RedHat Static configurations, folked
  • 18. Configuration A Configuration B CentOS CentOS EC2 20Mb 
 Data WebLogic Stub API 2Tb 
 Data WebLogic API Tonomi Way: Adaptive Configuration Environment BEnvironment A WebLogic Testing Production RedHat RedHat
  • 19. Facilitate Release Pipeline Commit UpgradeCI Regression Integration Performance User Acceptance Mobile Staging CI Regression Integration Performance User Acceptance Mobile Staging Dynamic Environments
  • 20. Runtime Configuration (t) = F (Application (t), Environment (t), Policy (t))
  • 21. Adaptive Configuration vs. Deployment Automation
  • 22. Automation without configuration and adaptive change management is not effective in a long run Adaptive Configuration vs. Deployment Automation
  • 23. Hadoop Docker with Pet Clinic Broadleaf Commerce Oracle ATG Commerce Check out Tonomi Starter Kits:
  • 24. Use Cases Dynamic test Environments Configuration management Field installations and Upgrades 1 2 3 Operational control’s visibility & enforcement 4
  • 25. 2525 Developer (every day): new version of X is ready! • How many live instances of X are affected? Where? • How to deliver the change (Docker, Chef, etc.)? • What related services might be affected? • What to do about them, and their dependents? • How to keep all systems are running while all this is happening? • Also… • How do I know the change made had been authorized? • How do I discover app’s actual configuration? • How do I compare configs of different instances? • Where do I find configuration change logs? Ops:
  • 26. Use case 1 Launch new environments on-demand, as developer self- service
  • 27. 2727 Portal WISB (what it should be) WIRI (what it really is) Controller Live environment 1. Launch new (A) {A, x, A->x, ….}
  • 28. 2828 Portal WISB (what it should be) WIRI (what it really is) Controller Live environment 1. Launch new (A) {A, x, A->x, ….}
  • 29. 2929 Portal 3. Do this! WISB (what it should be) WIRI (what it really is) Controller Live environment 1. Launch new (A) {A, x, A->x, ….} {A1, ….} 2. Authorized?
  • 30. 3030 Portal 3. Do this! WISB (what it should be) WIRI (what it really is) Controller 4. Make new application instance, A1 X.1 Live environment A1 1. Launch new (A) 5. Use cloud API, PaaS, chef, docker, etc. {A, x, A->x, ….} {A1, ….} 2. Authorized?
  • 31. 3131 Portal 3. Do this! WISB (what it should be) WIRI (what it really is) Controller 4. Make new application instance, A1 X.1 Live environment A1 1. Launch new (A) 6. Log existence of A1, and all of it’s components, with their configurations {A, x, A->x, ….} {A1, ….} 2. Authorized? 5. Use cloud API, PaaS, chef, docker, etc.
  • 32. 3232 Portal 3. Do this! WISB (what it should be) WIRI (what it really is) Controller 4. Make new application instance, A1 X.1 Live environment A1 1. Launch new (A) 6. Log existence of A1, and all of it’s components, with their configurations 7. Update 8. Done! {A, x, A->x, ….} {A1, ….} 2. Authorized? 5. Use cloud API, PaaS, chef, docker, etc.
  • 33. Use case 2 Publish new version of a component… … new environments are configured correctly with new blueprint
  • 34. 3434 Portal 1. Publish change X.2 3. Update catalog WISB (what it should be) WIRI (what it really is) Controller 4. Generate new blueprint for A X.1 Live environment A1 {A, x, A->x, ….} {A1, ….} 2. Authorized?
  • 35. 3535 Portal 3. Do this! WISB (what it should be) WIRI (what it really is) Controller 4. Make new application instance, A2 X.1 Live environment A1 X.2 A2 1. Launch new (A) 6. Log existence of A2, and all of it’s components, with their configurations 7. Update 8. Done! {A, x, A->x, ….} {A1, A2, ….} 2. Authorized? 5. Use cloud API, PaaS, chef, docker, etc.
  • 37. 3737 Portal WISB (what it should be) WIRI (what it really is) Controller X.1 Live environment A1 X.2 A2 {A, x, A->x, ….} {A1, A2, ….} 1. Upgrade (A) to latest
  • 38. 3838 Portal 3. Do this! WISB (what it should be) WIRI (what it really is) Controller X.2 Live environment A1 X.2 A2 6. Update state of A1, and all of it’s components 7. Update 8. Done! 4. Reconfigure X.1 to X.2 (application specific: blue- green, canary, with downtime, etc.) Note: Use cloud API, PaaS, chef, puppet, docker, LiveRebel, etc. 5. Check & fix dependencies {A, x, A->x, ….} {A1, A2, ….} 2. Authorized? 1. Upgrade (A) to latest
  • 39. Use case 4 Autonomic patches, upgrades with Docker
  • 40. 4040 WISB (what it should be) WIRI (what it really is) Controller X.2 Live environment A1 X.2 A2 {A, x, A->x, ….} {A1, A2, ….} X -—-> image ID x.1 —> image ID 1 x.2 —> image ID 2 x.3 —> image ID 3 Docker Hub 1. New (ID 3) 2. Detect, trigger or push
  • 41. 4141 WISB (what it should be) WIRI (what it really is) Controller X.3 Live environment A1 X.3 A2 4. Update state of A1, A2, etc. 3. Upgrade all affected instances {A, x, A->x, ….} {A1, A2, ….} X -—-> image ID x.1 —> image ID 1 x.2 —> image ID 2 x.3 —> image ID 3 Docker Hub 1. New (ID 3) 2. Detect, trigger or push X.2 -> X.3 X.2 -> X.3
  • 42. Use case 5 Policy-based configuration management
  • 43. 4343 WISB (what it should be) WIRI (what it really is) Controller X.2 Live environment 1: test A1 {A, x, A->x, ….} {A1, A2, ….} Live environment 2: production X.2 A2 Policy 1 Policy 2 Portal
  • 44. 4444 WISB (what it should be) WIRI (what it really is) Controller X.2 Live environment 1: test A1 {A, x, A->x, ….} {A1, A2, ….} Live environment 2: production X.2 A2 Policy 1 Policy 2 Portal 1. Launch A in “test” 3. Do this! 4. Make new application instance, A1 based on Policy 1 2. Authorized?
  • 45. Qubell is reactive Changes propagate as signals to connected services who can (a) respond to that change, and (b) relay signals further
  • 46. 4646 WISB (what it should be) WIRI (what it really is) Controller X.2 Live environment 1: test A1 {A, x, A->x, ….} {A1, A2, ….} Live environment 2: production X.2 A2 Policy 1 Policy 2 Portal Signals propagating through the circuits of connected application fabric Triggers