SlideShare a Scribd company logo
1 of 31
Moving up the stack with
Stacktician
Amogh Vasekar
Agenda
• Introduction
• History
• Architecture and Implementation
• Current State
• Enhancements
Agenda
• Introduction
• History
• Architecture and Implementation
• Current State
• Enhancements
Introduction
What is Amazon CloudFormation?
•Create and manage collection of related AWS resources
•Typically, the resources will form your whole application
“stack”
In essence, “Infrastructure-as-code”
•JSON file
•Describe resources
•Describe dependencies
•Readable, reusable, reviewable
Sample JSON template
Usefulness
• Single click application deployment for multiple users
• Transparent, reusable
• Ease of resource management and dependencies
• Atomic deployments
• Thus, migrate new business applications to “cloud”
Simply put, CloudFormation for CloudStack 
Web interface for template and stack management
Agenda
• Introduction
• History
• Architecture and Implementation
• Current State
• Enhancements
History
• Started by @chiradeep
• Introduced at CCC-13 as a prototype
• Execute AWS CloudFormation templates on CloudStack
*AS IS*
• Problem – low fidelity between AWS and
CloudStack resource types (more on this later)
Agenda
• Introduction
• History
• Architecture and
Implementation
• Current State
• Enhancements
Architecture
Two components
StackMate
•Execution engine for running the templates and interfacing with CloudStack
Stacktician
•Web interface
•Embeds StackMate underneath
StackMate in 2 mins
• Treat template = stack definition as workflow
• Execute workflow by making appropriate CloudStack API
calls
• Core engine for executing templates, does the heavy lifting
• Command line tool
Stacktician in 2 mins
• Web UI for StackMate
• Backed by database for persistence
• Uses Ruby meta-programming to interface with StackMate
Where we were last
time…
• Resolve complex resource dependencies
• Intrinsic functions
• Wait Conditions
• Create simple resources like AWS::Instance and
AWS::SecurityGroup using StackMate
AWS templates on
CloudStack• Simple resources work well
• Too many differences in more complex resources like VPC and networks
 No route tables
• Semantic differences between APIs for same resources
 Different types of values for parameters
• Dependency resolution for CloudStack using AWS templates became too
complex
 Sometimes, two AWS APIs act as a single one in CloudStack
 CloudStack networking renders AWS options like DhcpOptions
unnecessary
 Too many NoOp resources used as work-around for above
CloudStack Namespace
• Instead create CloudStack specific namespace!
• No more mapping of resources from AWS namespace to
CloudStack space
• Adds the ability to validate API parameters
• Every CloudStack resource becomes a “participant” in the
workflow execution
• Essentially need to call create and delete APIs
CloudStack Namespace
• Problems
 New resources added frequently (e.g tags, UCS, Nicira)
 APIs evolve to support new parameters etc.
 Too many CloudStack resources to maintain (~51)
• Solution
 Use API discovery
 Auto generate code
 Use API information to validate all required parameters exist / format
of parameters
StackMate participants
• Bootstrap StackMate
• Publish CloudStack version specific gem
Errors and rollback
• Want stack creation to be atomic
• But, provide an option to user to disable rollback (e.g. for
debugging)
 Catch resource creation errors, and initiate rollback
 Execute deletion in reverse order of dependencies
 Skip any resources not yet created
 If error while deleting, notify user (log for StackMate, UI status for
Stacktician)
 Stacktician injects additional code in StackMate for DB management
Metadata server
• Resources, like VMs, can launch additional initialization scripts upon
configuration
 E.g. – Launch a script via “userdata” parameter
• Typically, script needs additional metadata to work with
• Metadata is specific to a resource
Request metadata
Metadata server
And expose retrieval as API
Metadata Server
• StackMate
In memory metadata, embeds a Sinatra server for
waitcondition and metadata
• Stacktician
Rails serves metadata, persisted in DB
(Special thanks to Simon Waterhouse for integrating cfn-init scripts and creating scripts for
Windows)
Stacktician Scaling
Improvements• Ruby MRI has global interpreter lock. Eventually, allowed for
only one stack execution thread to run at a time
 Use JRuby container, run in JRuby compatible server
• Async wait for stack : one thread per stack launch would
overwhelm server
 GetBack gem for managing thread pool
Delete Stack
Stacktician
•Resource IDs in database
•Execute delete APIs in reverse order of dependency creation
•Not fully tested yet
StackMate
•No DB, no IDs
•Use resource tags to figure out resources, and delete
•In progress
Improvements
StackMate
•Better logging, log level control
•Light-weight CloudStack client for making API calls
Stacktician
•Supports REST-based API for stack operations, querying and manipulation
•Command line tools for all the above operations
•sm-create-stack, sm-create-template etc
Agenda
• Introduction
• History
• Architecture and Implementation
• Current State
• Enhancements
Demo
Agenda
• Introduction
• History
• Architecture and Implementation
• Current State
• Enhancements
Future enhancements
Better plugin architecture
•Allow creation of custom type of resources
•Interface with other types of Clouds – GCE, AWS etc.
•Allow for scenarios like resource A on CloudStack, B on AWS within single
stack
•Currently only in StackMate, and very rudimentary. Enforces some basic
constraints, uses tag “stackmate_participant = true” for discovery
 Bad plugins rejected at run-time
•Needs more work to make robust
Future enhancements
• Nested stacks
 Treat stack as first class object. Template can contain another stack
definition as a resource
 Works in StackMate, disabled for lack of good implementation
• Support conditional functions in template (e.g Fn:And, Fn:Or,
Fn:If)
• Support update stack
 Semantics to be well defined
Q & A
Questions? Thoughts? Comments? Suggestions?
https://github.com/stackmate
Feel free to log issues – more the better!
Big thanks to Chiradeep for all the help

More Related Content

What's hot

Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanCliff Chao-kuan Lu
 
Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Kornel Lugosi
 
Batch Processing with Amazon EC2 Container Service
Batch Processing with Amazon EC2 Container ServiceBatch Processing with Amazon EC2 Container Service
Batch Processing with Amazon EC2 Container ServiceAmazon Web Services
 
Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)Meni Lubetkin
 
Utah Codecamp Cloud Computing
Utah Codecamp Cloud ComputingUtah Codecamp Cloud Computing
Utah Codecamp Cloud ComputingTom Creighton
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Laurent Bernaille
 
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AwsReinventSlides
 
Serverless Framework Intro
Serverless Framework IntroServerless Framework Intro
Serverless Framework IntroNikolaus Graf
 
Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSAWS Vietnam Community
 
Serverless Framework (2018)
Serverless Framework (2018)Serverless Framework (2018)
Serverless Framework (2018)Rowell Belen
 
Running High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSRunning High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSAcquia
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureAWS Vietnam Community
 
Aws atlanta march_2015
Aws atlanta march_2015Aws atlanta march_2015
Aws atlanta march_2015Adam Book
 
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...HostedbyConfluent
 
StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)Simba Khadder
 

What's hot (20)

Intro to Serverless
Intro to ServerlessIntro to Serverless
Intro to Serverless
 
Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
 
[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop
 
Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2
 
Batch Processing with Amazon EC2 Container Service
Batch Processing with Amazon EC2 Container ServiceBatch Processing with Amazon EC2 Container Service
Batch Processing with Amazon EC2 Container Service
 
104 meets cloud
104 meets cloud104 meets cloud
104 meets cloud
 
Grails in the Cloud (2013)
Grails in the Cloud (2013)Grails in the Cloud (2013)
Grails in the Cloud (2013)
 
Utah Codecamp Cloud Computing
Utah Codecamp Cloud ComputingUtah Codecamp Cloud Computing
Utah Codecamp Cloud Computing
 
Serverless Patterns
Serverless PatternsServerless Patterns
Serverless Patterns
 
Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016Feedback on AWS re:invent 2016
Feedback on AWS re:invent 2016
 
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
AWS re:Invent 2016: Content and Data Platforms at Vevo: Rebuilding and Scalin...
 
Wikipedia Cloud Search Webinar
Wikipedia Cloud Search WebinarWikipedia Cloud Search Webinar
Wikipedia Cloud Search Webinar
 
Serverless Framework Intro
Serverless Framework IntroServerless Framework Intro
Serverless Framework Intro
 
Meetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWSMeetup #3: Migrate a fast scale system to AWS
Meetup #3: Migrate a fast scale system to AWS
 
Serverless Framework (2018)
Serverless Framework (2018)Serverless Framework (2018)
Serverless Framework (2018)
 
Running High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSRunning High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWS
 
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless ArchitectureCloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: Getting Started with Severless Architecture
 
Aws atlanta march_2015
Aws atlanta march_2015Aws atlanta march_2015
Aws atlanta march_2015
 
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
 
StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)StreamSQL Feature Store (Apache Pulsar Summit)
StreamSQL Feature Store (Apache Pulsar Summit)
 

Viewers also liked

In this inquiry we introduce Denmark 10
In this inquiry we introduce Denmark 10In this inquiry we introduce Denmark 10
In this inquiry we introduce Denmark 10Bill Berg
 
Towards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab ConferenceTowards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab Conferenceamoghvk
 
Real Time Realitites
Real Time RealititesReal Time Realitites
Real Time Realititesmarkisuak
 
Stay healthy, stay fresh in nature
Stay healthy, stay fresh in natureStay healthy, stay fresh in nature
Stay healthy, stay fresh in natureShima Samuel
 
Meetup - DevCloud and CloudStack 4.2
Meetup - DevCloud and CloudStack 4.2Meetup - DevCloud and CloudStack 4.2
Meetup - DevCloud and CloudStack 4.2amoghvk
 

Viewers also liked (6)

In this inquiry we introduce Denmark 10
In this inquiry we introduce Denmark 10In this inquiry we introduce Denmark 10
In this inquiry we introduce Denmark 10
 
Towards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab ConferenceTowards automated testing - CloudStack Collab Conference
Towards automated testing - CloudStack Collab Conference
 
Courier website
Courier websiteCourier website
Courier website
 
Real Time Realitites
Real Time RealititesReal Time Realitites
Real Time Realitites
 
Stay healthy, stay fresh in nature
Stay healthy, stay fresh in natureStay healthy, stay fresh in nature
Stay healthy, stay fresh in nature
 
Meetup - DevCloud and CloudStack 4.2
Meetup - DevCloud and CloudStack 4.2Meetup - DevCloud and CloudStack 4.2
Meetup - DevCloud and CloudStack 4.2
 

Similar to Stacktician - CloudStack Collab Conference 2014

StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackChiradeep Vittal
 
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxBetter, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxJohn Burwell
 
Sebastien goasguen cloud stack the next year
Sebastien goasguen   cloud stack the next yearSebastien goasguen   cloud stack the next year
Sebastien goasguen cloud stack the next yearShapeBlue
 
Streaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
Streaming with Spring Cloud Stream and Apache Kafka - Soby ChackoStreaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
Streaming with Spring Cloud Stream and Apache Kafka - Soby ChackoVMware Tanzu
 
NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013aspyker
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCkscaldef
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWSTom Laszewski
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
How IT at Getty Images Brokers Cloud Services
How IT at Getty Images Brokers Cloud ServicesHow IT at Getty Images Brokers Cloud Services
How IT at Getty Images Brokers Cloud ServicesRightScale
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesSascha Möllering
 
Deep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech TalksDeep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech TalksAmazon Web Services
 
Container Orchestration
Container OrchestrationContainer Orchestration
Container Orchestrationdfilppi
 
Serverless Web Apps using API Gateway, Lambda and DynamoDB
Serverless Web Apps using API Gateway, Lambda and DynamoDBServerless Web Apps using API Gateway, Lambda and DynamoDB
Serverless Web Apps using API Gateway, Lambda and DynamoDBAmazon Web Services
 
Cloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: OpenstackCloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: OpenstackMicrosoft
 
Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructureharendra_pathak
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudMark Voelker
 
Velocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ NetflixVelocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ Netflixaspyker
 

Similar to Stacktician - CloudStack Collab Conference 2014 (20)

StackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStackStackMate - CloudFormation for CloudStack
StackMate - CloudFormation for CloudStack
 
Cloud Formation
Cloud FormationCloud Formation
Cloud Formation
 
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs reduxBetter, faster, cheaper infrastructure with apache cloud stack and riak cs redux
Better, faster, cheaper infrastructure with apache cloud stack and riak cs redux
 
Sebastien goasguen cloud stack the next year
Sebastien goasguen   cloud stack the next yearSebastien goasguen   cloud stack the next year
Sebastien goasguen cloud stack the next year
 
Streaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
Streaming with Spring Cloud Stream and Apache Kafka - Soby ChackoStreaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
Streaming with Spring Cloud Stream and Apache Kafka - Soby Chacko
 
NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
How IT at Getty Images Brokers Cloud Services
How IT at Getty Images Brokers Cloud ServicesHow IT at Getty Images Brokers Cloud Services
How IT at Getty Images Brokers Cloud Services
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best Practices
 
Deep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech TalksDeep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
 
Container Orchestration
Container OrchestrationContainer Orchestration
Container Orchestration
 
Serverless Web Apps using API Gateway, Lambda and DynamoDB
Serverless Web Apps using API Gateway, Lambda and DynamoDBServerless Web Apps using API Gateway, Lambda and DynamoDB
Serverless Web Apps using API Gateway, Lambda and DynamoDB
 
Cloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: OpenstackCloud Architect Alliance #15: Openstack
Cloud Architect Alliance #15: Openstack
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 
Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructure
 
OpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient CloudOpenStack: Toward a More Resilient Cloud
OpenStack: Toward a More Resilient Cloud
 
Velocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ NetflixVelocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ Netflix
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 

Recently uploaded

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

Stacktician - CloudStack Collab Conference 2014

  • 1. Moving up the stack with Stacktician Amogh Vasekar
  • 2. Agenda • Introduction • History • Architecture and Implementation • Current State • Enhancements
  • 3. Agenda • Introduction • History • Architecture and Implementation • Current State • Enhancements
  • 4. Introduction What is Amazon CloudFormation? •Create and manage collection of related AWS resources •Typically, the resources will form your whole application “stack” In essence, “Infrastructure-as-code” •JSON file •Describe resources •Describe dependencies •Readable, reusable, reviewable
  • 6. Usefulness • Single click application deployment for multiple users • Transparent, reusable • Ease of resource management and dependencies • Atomic deployments • Thus, migrate new business applications to “cloud”
  • 7. Simply put, CloudFormation for CloudStack  Web interface for template and stack management
  • 8. Agenda • Introduction • History • Architecture and Implementation • Current State • Enhancements
  • 9. History • Started by @chiradeep • Introduced at CCC-13 as a prototype • Execute AWS CloudFormation templates on CloudStack *AS IS* • Problem – low fidelity between AWS and CloudStack resource types (more on this later)
  • 10. Agenda • Introduction • History • Architecture and Implementation • Current State • Enhancements
  • 11. Architecture Two components StackMate •Execution engine for running the templates and interfacing with CloudStack Stacktician •Web interface •Embeds StackMate underneath
  • 12. StackMate in 2 mins • Treat template = stack definition as workflow • Execute workflow by making appropriate CloudStack API calls • Core engine for executing templates, does the heavy lifting • Command line tool
  • 13. Stacktician in 2 mins • Web UI for StackMate • Backed by database for persistence • Uses Ruby meta-programming to interface with StackMate
  • 14. Where we were last time… • Resolve complex resource dependencies • Intrinsic functions • Wait Conditions • Create simple resources like AWS::Instance and AWS::SecurityGroup using StackMate
  • 15. AWS templates on CloudStack• Simple resources work well • Too many differences in more complex resources like VPC and networks  No route tables • Semantic differences between APIs for same resources  Different types of values for parameters • Dependency resolution for CloudStack using AWS templates became too complex  Sometimes, two AWS APIs act as a single one in CloudStack  CloudStack networking renders AWS options like DhcpOptions unnecessary  Too many NoOp resources used as work-around for above
  • 16. CloudStack Namespace • Instead create CloudStack specific namespace! • No more mapping of resources from AWS namespace to CloudStack space • Adds the ability to validate API parameters • Every CloudStack resource becomes a “participant” in the workflow execution • Essentially need to call create and delete APIs
  • 17. CloudStack Namespace • Problems  New resources added frequently (e.g tags, UCS, Nicira)  APIs evolve to support new parameters etc.  Too many CloudStack resources to maintain (~51) • Solution  Use API discovery  Auto generate code  Use API information to validate all required parameters exist / format of parameters
  • 18. StackMate participants • Bootstrap StackMate • Publish CloudStack version specific gem
  • 19. Errors and rollback • Want stack creation to be atomic • But, provide an option to user to disable rollback (e.g. for debugging)  Catch resource creation errors, and initiate rollback  Execute deletion in reverse order of dependencies  Skip any resources not yet created  If error while deleting, notify user (log for StackMate, UI status for Stacktician)  Stacktician injects additional code in StackMate for DB management
  • 20. Metadata server • Resources, like VMs, can launch additional initialization scripts upon configuration  E.g. – Launch a script via “userdata” parameter • Typically, script needs additional metadata to work with • Metadata is specific to a resource Request metadata
  • 21. Metadata server And expose retrieval as API
  • 22. Metadata Server • StackMate In memory metadata, embeds a Sinatra server for waitcondition and metadata • Stacktician Rails serves metadata, persisted in DB (Special thanks to Simon Waterhouse for integrating cfn-init scripts and creating scripts for Windows)
  • 23. Stacktician Scaling Improvements• Ruby MRI has global interpreter lock. Eventually, allowed for only one stack execution thread to run at a time  Use JRuby container, run in JRuby compatible server • Async wait for stack : one thread per stack launch would overwhelm server  GetBack gem for managing thread pool
  • 24. Delete Stack Stacktician •Resource IDs in database •Execute delete APIs in reverse order of dependency creation •Not fully tested yet StackMate •No DB, no IDs •Use resource tags to figure out resources, and delete •In progress
  • 25. Improvements StackMate •Better logging, log level control •Light-weight CloudStack client for making API calls Stacktician •Supports REST-based API for stack operations, querying and manipulation •Command line tools for all the above operations •sm-create-stack, sm-create-template etc
  • 26. Agenda • Introduction • History • Architecture and Implementation • Current State • Enhancements
  • 27. Demo
  • 28. Agenda • Introduction • History • Architecture and Implementation • Current State • Enhancements
  • 29. Future enhancements Better plugin architecture •Allow creation of custom type of resources •Interface with other types of Clouds – GCE, AWS etc. •Allow for scenarios like resource A on CloudStack, B on AWS within single stack •Currently only in StackMate, and very rudimentary. Enforces some basic constraints, uses tag “stackmate_participant = true” for discovery  Bad plugins rejected at run-time •Needs more work to make robust
  • 30. Future enhancements • Nested stacks  Treat stack as first class object. Template can contain another stack definition as a resource  Works in StackMate, disabled for lack of good implementation • Support conditional functions in template (e.g Fn:And, Fn:Or, Fn:If) • Support update stack  Semantics to be well defined
  • 31. Q & A Questions? Thoughts? Comments? Suggestions? https://github.com/stackmate Feel free to log issues – more the better! Big thanks to Chiradeep for all the help