SlideShare a Scribd company logo
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:
Ad

More Related Content

What's hot (13)

Aws elastic beanstalk
Aws elastic beanstalkAws elastic beanstalk
Aws elastic beanstalk
SusanAli16
 
Containers and security
Containers and securityContainers and security
Containers and security
sriram_rajan
 
Liberty management
Liberty managementLiberty management
Liberty management
WASdev Community
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
Vishal 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 Kubernetes
Will Hall
 
Deploying Kafka on DC/OS
Deploying Kafka on DC/OSDeploying Kafka on DC/OS
Deploying Kafka on DC/OS
Kaufman Ng
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-Hassan
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
DBInsight Pty Ltd
 
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
Michael Noel
 
6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day
Kimihiko Kitase
 
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 Foundry
rajdeep
 
Microservices deck
Microservices deckMicroservices deck
Microservices deck
Raja Chattopadhyay
 
Aws elastic beanstalk
Aws elastic beanstalkAws elastic beanstalk
Aws elastic beanstalk
SusanAli16
 
Containers and security
Containers and securityContainers and security
Containers and security
sriram_rajan
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
Vishal 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 Kubernetes
Will Hall
 
Deploying Kafka on DC/OS
Deploying Kafka on DC/OSDeploying Kafka on DC/OS
Deploying Kafka on DC/OS
Kaufman Ng
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-Hassan
Syed Murtaza Hassan
 
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
Michael Noel
 
6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day
Kimihiko Kitase
 
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 Foundry
rajdeep
 

Similar to eCAP Developer Walkthru (20)

DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
scolestock
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
Mason Mei
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
applausepoland
 
컴퓨팅 서비스 업데이트 - 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
Amazon 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 Federation
inwin stack
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)
sriram_rajan
 
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
Lightbend
 
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
 
Kubernetes on aws
Kubernetes on awsKubernetes on aws
Kubernetes on aws
Yousun Jeong
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Vishal 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 Platform
Dan Wendlandt
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
Alex Thissen
 
ECS and Docker at Okta
ECS and Docker at OktaECS and Docker at Okta
ECS and Docker at Okta
Jon Todd
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
Codefresh
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
Alessandro Pilotti
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
Juarez Junior
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
VSphere Integrated Containers v3.0
VSphere Integrated Containers v3.0VSphere Integrated Containers v3.0
VSphere Integrated Containers v3.0
The World Bank
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
scolestock
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
Mason Mei
 
컴퓨팅 서비스 업데이트 - 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
Amazon 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 Federation
inwin stack
 
Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)Elastic Kubernetes Services (EKS)
Elastic Kubernetes Services (EKS)
sriram_rajan
 
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
Lightbend
 
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
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
Vishal 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 Platform
Dan Wendlandt
 
ECS and Docker at Okta
ECS and Docker at OktaECS and Docker at Okta
ECS and Docker at Okta
Jon Todd
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay Rao
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
Codefresh
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
Juarez Junior
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
VSphere Integrated Containers v3.0
VSphere Integrated Containers v3.0VSphere Integrated Containers v3.0
VSphere Integrated Containers v3.0
The World Bank
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
Dongwon Kim
 
Ad

Recently uploaded (20)

Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Ad

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: