SlideShare a Scribd company logo
1 of 21
1Global Tech, Inc. 1
eCAP – EGlobaltech Cloud Automation Platform
Developer’s Walkthrough
Delivering Value, Achieving Results
© 2015 eGlobalTech. All rights reserved.
Table of Contents
• Overview
• Architecture
• First steps – a simple “Basket of Kittens”
• Deployment and Cleanup
• A more advanced “Basket of Kittens”
eCAP Overview
eCAP is a complete cloud deployment solution to
• Provision, orchestrate and manage complex
platforms and applications.
• Automate any arbitrarily complex application,
platform or combination on a wide range of
infrastructure targets
This presentation briefly covers core eCAP
architecture, utilities, capabilities, and usage for
platform and application developers
A brief business presentation is available:
• Remote Presentation
• Local File
eCAP Architecture by Layers
eCAP Interface:
• Available from nearly any
interface
• Most often accessed via Jenkins
or command line
• This developer presentation
focuses on command line access
eCAP Services:
• Utilities provide entry point
• Services provide orchestration,
monitoring, management
• Libraries called by both
• Four key areas of library
capability
Abstracted eCAP Services (1)
Provisioning Service
Configuration Service
Provisioning
abstraction currently
addresses the AWS
API
Future versions will
address Azure,
Google, OpenStack
Configuration
abstraction currently
addresses Chef
Future versions
possible for puppet,
ansible, salt…
Non-Abstracted eCAP Services (2)
Management Service
Orchestration Service
• Currently uses Nagios to provide continuous
monitoring
• Manages Nagios access from Master and agents
per node
Orchestration is a native ability of eCAP
• Momma-cat processes interact with deployed
artifacts through their lifecycle
• Including initial configuration
• Including scaling events
eCAP Architecture by Components
•Can support a CentOS or RedHat linux instance.
•Network connections to the target infrastructure
•Typically single eCAP Master in AWS VPC
Environment
•Build via install/setup_master.sh script on CentOS
•Deploys within the scope of the master server’s account.
eCAP Masters and Master VPCs
•Target deployments are managed by the deploying eCAP Master
•Extend master scope to multiple amazon accounts by cross-account role delegation
•Deploy to target AWS VPC (virtual private clouds) to better control access and security
•Communicate across VPC boundaries by means of VPC peering
•Can provision, configure and orchestrate wide range of artifacts in target VPCs
•Instances, instance pools, load balancers, databases, DNS records, security groups, and
virtually any resource the target environment supports by API
Target VPCs and Nodes
eCAP Deployment Patterns
Deployer accesses their eCAP server, in this case by means of a
Jenkins interface
Deployer issues a “cap-deploy …” command which references
a deployment descriptor file.
Deployment descriptor is called a “Basket of Kittens” or BOK,
named for the related artifacts it deploys.
BOK is maintained in a deployment source control repository,
typically Git.
eCAP master manages the relationship with the Git repository
through its utilities.
Deploy command creates a target VPC, provisions all
necessary artifacts including instances, server pools, machine
images, security groups, load balancers, etc.
Artifacts “call home” to an eCAP “Momma-Cat” service which
configures and orchestrates each artifact. The configuration
and orchestration is called “grooming”.
Artifacts continue to communicate with “Momma
Cat” for updates and notifications.
Deployment Descriptor Basics
“Basket of Kittens” or BOK declares:
– All components of a deployment
– Interrelationships and dependencies
– Encrypted credential locations.
• Expressed in JSON/YAML enhanced with ERUBIS
• ERUBIS allows for modular development and
invocation
• All but simplest BOKs involve a master BOK and
child BOKs, typically one BOK per class of service.
Deployment Descriptor Classes
• BOK Classes represent infrastructure artifacts to be
orchestrated
• Online documentation is available from any eCAP server
• Some top level classes:
– admins
– databases (RDS)
– servers (EC2)
– pools (autoscale groups)
– DNS records
– load balancers
– firewall (security groups)
A Very Simple BOK
1. Every BOK requires an appname, which drives all notifications, tags and other identifiers
2. Server array is often included rather than specified. Multiple classes of server can be specified
3. Here’s an illustration of an ERUBIS include defining a common AWS AMI
4. An optional stanza to create and attach a volume to the server.
5. Configuration information in the form of a Chef runlist. The recipes and roles in the runlist will be applied to
the server class to configure it by momma-cat.
6. Size of the instance, a valid AMI size
7. Some firewall rules for the server. Usually specified in a firewall-rules stanza instead
Simple BOK Deployment
Simple deploy without parameters:
Extensive log display:
• Each artifact is provisioned then configured for security
hardening and basic eCAP capabilities.
• Nodes “phone home” to momma-cat, who configures the
artifact in its final form, logging to the momma-cat log.
Administrative Access
• Access via ssh or
RDP
• Credentials created
by deploy, kept on
master
• Find node in
deploy result
• Access directly
from eCAP master
• Note address for
application access
as well
Find your node, then…
Deployment Cleanup
• Deployment creates many artifacts
– Firewall rules
– Nodes
– load balancers
– security roles, keys, etc.
– All artifacts are tagged, but removing them by hand
would be tedious and error prone.
• All deploy artifacts are tagged with a base
designation,
• Individual elements expand off the base.
• Complete teardown in a single command
A MORE ADVANCED “BASKET OF KITTENS”
• Creates a virtual private cloud in Amazon AWS
• Creates a bastion host to access private subnets
• Creates a load balancer
• Securely provides credentials
• Configures firewall rules and interconnection
• Creates an autoscale group and instance
Platform Repositories
Use a separate platform repository for
deployment code
• Applications folder contains deployment
descriptors and related artifacts
• Cookbooks folder contains third party
cookbooks required by the deployment
• Roles folder contains the chef roles used
in the deployment
• Site_cookbooks folder contains optional
additional deployment-specific
cookbooks
BOK Repository Structure
1. Overall platform
deployment repository
2. The applications folder,
containing BOKs for all
deployments in the
repository
3. A specific deployment of
interest, in this case
GeoShape.
4. Various included BOKs
that apply to more than
one deployment
Top Level
(master.json)
master BOKs shows the
overall structure of a
deployment, leaving details
to child BOKs.
 Require parameters and
abort or warn in their
absence
 Declare global variables
for use in child BOKs
 Required identifiers and
admins
 Optional and mandatory
parameters
 “Includes” for child BOKs
Example of BOK Programming
A previous ERUBIS call dynamically retrieved all Availability Zones, then:
Configuring Pools of Servers
Pool defines a group of
scaling servers
Basis provides key parameters
for the servers in the pool
themselves, including the
AMI, credentials, volumes,
etc.
Final: Look at Credential Exchange
• Credentials
offered in
BOK:
• Credentials
Retrieved in
Recipe:

More Related Content

What's hot

Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkDistribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkAmazon Web Services LATAM
 
Aws elastic beanstalk
Aws elastic beanstalkAws elastic beanstalk
Aws elastic beanstalkSusanAli16
 
Containers and security
Containers and securityContainers and security
Containers and securitysriram_rajan
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesVishal Biyani
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesWill Hall
 
Deploying Kafka on DC/OS
Deploying Kafka on DC/OSDeploying Kafka on DC/OS
Deploying Kafka on DC/OSKaufman Ng
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSAmazon Web Services
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanSyed Murtaza Hassan
 
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS Amazon Web Services
 
Migration of Microsoft Workloads
Migration of Microsoft WorkloadsMigration of Microsoft Workloads
Migration of Microsoft WorkloadsAmazon Web Services
 
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014Michael Noel
 
6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer DayKimihiko Kitase
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)Amazon Web Services
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...Lucas Jellema
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundryrajdeep
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)Amazon Web Services
 

What's hot (20)

Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalkDistribua, gerencie e escale suas aplicações com o aws elastic beanstalk
Distribua, gerencie e escale suas aplicações com o aws elastic beanstalk
 
Best Practices with Azure & Kubernetes
Best Practices with Azure & KubernetesBest Practices with Azure & Kubernetes
Best Practices with Azure & Kubernetes
 
Aws elastic beanstalk
Aws elastic beanstalkAws elastic beanstalk
Aws elastic beanstalk
 
Containers and security
Containers and securityContainers and security
Containers and security
 
Liberty management
Liberty managementLiberty management
Liberty management
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 
Deploying Kafka on DC/OS
Deploying Kafka on DC/OSDeploying Kafka on DC/OS
Deploying Kafka on DC/OS
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-Hassan
 
SQL Server in the AWS Cloud
SQL Server in the AWS CloudSQL Server in the AWS Cloud
SQL Server in the AWS Cloud
 
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
AWS Webcast - Implementing Windows and SQL Server for High Availability on AWS
 
Migration of Microsoft Workloads
Migration of Microsoft WorkloadsMigration of Microsoft Workloads
Migration of Microsoft Workloads
 
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
 
6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
 
Introduction to Docker on AWS
Introduction to Docker on AWSIntroduction to Docker on AWS
Introduction to Docker on AWS
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
 
Play Support in Cloud Foundry
Play Support in Cloud FoundryPlay Support in Cloud Foundry
Play Support in Cloud Foundry
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 

Similar to eCAP Developer Walkthru

AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...Amazon Web Services
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014scolestock
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻Mason Mei
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...Amazon Web Services
 
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015Amazon Web Services Korea
 
Setup Hybrid Clusters Using Kubernetes Federation
Setup Hybrid Clusters Using Kubernetes FederationSetup Hybrid Clusters Using Kubernetes Federation
Setup Hybrid Clusters Using Kubernetes Federationinwin stack
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)sriram_rajan
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...Amazon Web Services
 
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018Amazon Web Services
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationAmazon Web Services
 
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic BeanstalkDeploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic BeanstalkAmazon Web Services
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSLightbend
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...David vonThenen
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfIntroduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfAmazon Web Services
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
A First Look at vSphere Integrated Containers and Photon Platform
A First Look at vSphere Integrated Containers and Photon PlatformA First Look at vSphere Integrated Containers and Photon Platform
A First Look at vSphere Integrated Containers and Photon PlatformDan Wendlandt
 

Similar to eCAP Developer Walkthru (20)

AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
AWS Elastic Beanstalk: Running Multi-Container Docker Applications - DevDay L...
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
 
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
AWS re:Invent 2016: Infrastructure Continuous Delivery Using AWS CloudFormati...
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
컴퓨팅 서비스 업데이트 - EC2, ECS, Lambda (김상필) :: re:Invent re:Cap Webinar 2015
 
Setup Hybrid Clusters Using Kubernetes Federation
Setup Hybrid Clusters Using Kubernetes FederationSetup Hybrid Clusters Using Kubernetes Federation
Setup Hybrid Clusters Using Kubernetes Federation
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)
 
Deep Dive into AWS Fargate
Deep Dive into AWS FargateDeep Dive into AWS Fargate
Deep Dive into AWS Fargate
 
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
AWS re:Invent 2016: How to Launch a 100K-User Corporate Back Office with Micr...
 
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
How To Run Your Containers on AWS with ECS & Fargate: Collision 2018
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormation
 
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic BeanstalkDeploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
Deploy, Manage, and Scale your Apps with AWS Elastic Beanstalk
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
 
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Introduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdfIntroduction to Containers - AWS Startup Day Johannesburg.pdf
Introduction to Containers - AWS Startup Day Johannesburg.pdf
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
A First Look at vSphere Integrated Containers and Photon Platform
A First Look at vSphere Integrated Containers and Photon PlatformA First Look at vSphere Integrated Containers and Photon Platform
A First Look at vSphere Integrated Containers and Photon Platform
 

Recently uploaded

WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 

Recently uploaded (20)

WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 

eCAP Developer Walkthru

  • 1. 1Global Tech, Inc. 1 eCAP – EGlobaltech Cloud Automation Platform Developer’s Walkthrough Delivering Value, Achieving Results © 2015 eGlobalTech. All rights reserved.
  • 2. Table of Contents • Overview • Architecture • First steps – a simple “Basket of Kittens” • Deployment and Cleanup • A more advanced “Basket of Kittens”
  • 3. eCAP Overview eCAP is a complete cloud deployment solution to • Provision, orchestrate and manage complex platforms and applications. • Automate any arbitrarily complex application, platform or combination on a wide range of infrastructure targets This presentation briefly covers core eCAP architecture, utilities, capabilities, and usage for platform and application developers A brief business presentation is available: • Remote Presentation • Local File
  • 4. eCAP Architecture by Layers eCAP Interface: • Available from nearly any interface • Most often accessed via Jenkins or command line • This developer presentation focuses on command line access eCAP Services: • Utilities provide entry point • Services provide orchestration, monitoring, management • Libraries called by both • Four key areas of library capability
  • 5. Abstracted eCAP Services (1) Provisioning Service Configuration Service Provisioning abstraction currently addresses the AWS API Future versions will address Azure, Google, OpenStack Configuration abstraction currently addresses Chef Future versions possible for puppet, ansible, salt…
  • 6. Non-Abstracted eCAP Services (2) Management Service Orchestration Service • Currently uses Nagios to provide continuous monitoring • Manages Nagios access from Master and agents per node Orchestration is a native ability of eCAP • Momma-cat processes interact with deployed artifacts through their lifecycle • Including initial configuration • Including scaling events
  • 7. eCAP Architecture by Components •Can support a CentOS or RedHat linux instance. •Network connections to the target infrastructure •Typically single eCAP Master in AWS VPC Environment •Build via install/setup_master.sh script on CentOS •Deploys within the scope of the master server’s account. eCAP Masters and Master VPCs •Target deployments are managed by the deploying eCAP Master •Extend master scope to multiple amazon accounts by cross-account role delegation •Deploy to target AWS VPC (virtual private clouds) to better control access and security •Communicate across VPC boundaries by means of VPC peering •Can provision, configure and orchestrate wide range of artifacts in target VPCs •Instances, instance pools, load balancers, databases, DNS records, security groups, and virtually any resource the target environment supports by API Target VPCs and Nodes
  • 8. eCAP Deployment Patterns Deployer accesses their eCAP server, in this case by means of a Jenkins interface Deployer issues a “cap-deploy …” command which references a deployment descriptor file. Deployment descriptor is called a “Basket of Kittens” or BOK, named for the related artifacts it deploys. BOK is maintained in a deployment source control repository, typically Git. eCAP master manages the relationship with the Git repository through its utilities. Deploy command creates a target VPC, provisions all necessary artifacts including instances, server pools, machine images, security groups, load balancers, etc. Artifacts “call home” to an eCAP “Momma-Cat” service which configures and orchestrates each artifact. The configuration and orchestration is called “grooming”. Artifacts continue to communicate with “Momma Cat” for updates and notifications.
  • 9. Deployment Descriptor Basics “Basket of Kittens” or BOK declares: – All components of a deployment – Interrelationships and dependencies – Encrypted credential locations. • Expressed in JSON/YAML enhanced with ERUBIS • ERUBIS allows for modular development and invocation • All but simplest BOKs involve a master BOK and child BOKs, typically one BOK per class of service.
  • 10. Deployment Descriptor Classes • BOK Classes represent infrastructure artifacts to be orchestrated • Online documentation is available from any eCAP server • Some top level classes: – admins – databases (RDS) – servers (EC2) – pools (autoscale groups) – DNS records – load balancers – firewall (security groups)
  • 11. A Very Simple BOK 1. Every BOK requires an appname, which drives all notifications, tags and other identifiers 2. Server array is often included rather than specified. Multiple classes of server can be specified 3. Here’s an illustration of an ERUBIS include defining a common AWS AMI 4. An optional stanza to create and attach a volume to the server. 5. Configuration information in the form of a Chef runlist. The recipes and roles in the runlist will be applied to the server class to configure it by momma-cat. 6. Size of the instance, a valid AMI size 7. Some firewall rules for the server. Usually specified in a firewall-rules stanza instead
  • 12. Simple BOK Deployment Simple deploy without parameters: Extensive log display: • Each artifact is provisioned then configured for security hardening and basic eCAP capabilities. • Nodes “phone home” to momma-cat, who configures the artifact in its final form, logging to the momma-cat log.
  • 13. Administrative Access • Access via ssh or RDP • Credentials created by deploy, kept on master • Find node in deploy result • Access directly from eCAP master • Note address for application access as well Find your node, then…
  • 14. Deployment Cleanup • Deployment creates many artifacts – Firewall rules – Nodes – load balancers – security roles, keys, etc. – All artifacts are tagged, but removing them by hand would be tedious and error prone. • All deploy artifacts are tagged with a base designation, • Individual elements expand off the base. • Complete teardown in a single command
  • 15. A MORE ADVANCED “BASKET OF KITTENS” • Creates a virtual private cloud in Amazon AWS • Creates a bastion host to access private subnets • Creates a load balancer • Securely provides credentials • Configures firewall rules and interconnection • Creates an autoscale group and instance
  • 16. Platform Repositories Use a separate platform repository for deployment code • Applications folder contains deployment descriptors and related artifacts • Cookbooks folder contains third party cookbooks required by the deployment • Roles folder contains the chef roles used in the deployment • Site_cookbooks folder contains optional additional deployment-specific cookbooks
  • 17. BOK Repository Structure 1. Overall platform deployment repository 2. The applications folder, containing BOKs for all deployments in the repository 3. A specific deployment of interest, in this case GeoShape. 4. Various included BOKs that apply to more than one deployment
  • 18. Top Level (master.json) master BOKs shows the overall structure of a deployment, leaving details to child BOKs.  Require parameters and abort or warn in their absence  Declare global variables for use in child BOKs  Required identifiers and admins  Optional and mandatory parameters  “Includes” for child BOKs
  • 19. Example of BOK Programming A previous ERUBIS call dynamically retrieved all Availability Zones, then:
  • 20. Configuring Pools of Servers Pool defines a group of scaling servers Basis provides key parameters for the servers in the pool themselves, including the AMI, credentials, volumes, etc.
  • 21. Final: Look at Credential Exchange • Credentials offered in BOK: • Credentials Retrieved in Recipe: