SlideShare a Scribd company logo
Location : Bangalore
Date : 27th April, 2016
Name of the Speaker : Uchit Vyas
Company Name : Opex Software, Pune
IT Automation Summit 2016
http://www.unicomlearning.com/2016/IT_Automation_Summit/
Bangalore
27th April 2016
VCs on line 1
Scaling under pressure
with
Chef, Packer and Terraform
Who am I: Uchit Vyas
8+ years of exciting experience
Infrastructure automation domain
Leading Cloud Infrastructure
automation in Opex Software
Introduction
Single metric we measure: Speed with correctness
Mission: Automate IT. Create Time
Focus: SAAS applications
SAAS Startup Dream
Scaling with SPEED
How to make this happen, technically?
Images: 4actionmarketing.net, dreamstime.com, thenextweb.com
Pressure from investors
How to make this happen, technically?
Images: startupinitiative.com
SAAS is value: Step 1 of 3
Clear value is delivered
SAAS is value: Step 2 of 3
Clear value is delivered
Onboarding new customers rapidly
SAAS is value: Step 3 of 3
Clear value is delivered
Onboarding new customers rapidly
Upgrade fast, maintain lead,
make value irresistible
Mortality Rate
Images: jeepneymanilaph.files.wordpress.com
Execution Problems
All good
Execution Problems
All good
Harden the OS skill not available immediately
Automate app deploy/cfg after thought
Automate Testing fully after thought
Execution Problems
All good
Harden the OS skill not available immediately
Automate app deployment after thought
Automate app configuration after thought
Microservices independently upgradable?
Lead starting to lose speed, competition!
Images: avopress.com, animationmagazine.net, thenextweb.com
1412/05/15
DevOps + Strong Ops
Dev
Test
Ops
15
Transform test automation for DevOps
Test bed
Infrastructure
creation
Automation
Automated
Test Result
Analytics
Test
Automation
(Selenium,
QTP etc)
Strong Ops to scale
Helpdesk Monitoring
Configuration
Management
Auto-Self
healing
Synthetic
Monitoring
Log analytics
Good News
OS Hardening: Why is it imp?
protecting IP
unfair competition
cybersecurity
private data
direct or indirect
attacks via cloud
President Barack Obama delivers remarks at the Business Roundtable offices in Washington
September 16, 2015.
OS Hardening
Use Chef templates and Terraform
Include following in server configuration definition
Security Rules, Password policies,
Secure SSH, Compliance policy
Important agents (AV, monitoring)
Use “Chef-Vault” for storing secrets
Sample code: login definition
template '/etc/login.defs' do
source 'login.defs.erb'
mode '0444'
owner 'root'
group 'root'
variables(
additional_user_paths: node['env’] …
)
end
Sample code: erb file
'sample.erb'
<% if @port != 80 -%>
Listen <%= @port %>
<% end -%>
Two simple, but powerful concepts
a) Expression evaluation
b) Variable value replacement
Sample code: login definition
variables(
password_max_age: node['auth']['pw_max_age'],
password_min_age: node['auth']['pw_min_age'],
login_retries: node['auth']['retries'],
login_timeout: node['auth']['timeout'],
chfn_restrict: '', # "rwh"
allow_login_without_home:
node['auth']['allow_homeless'],
…
)
Quality gates: Serverspec
High speed lab creation
Terraform is parallelized
Auto-sequencing based on graphs
Terraform can integrate with any layer of the
stack
Lab setup on pre-existing servers, provisioning
servers from scratch - both are supported
Speed of provisioning
Why we chose terraform for high-speed scaling
Number of Machines Chef-metal Terraform
10 2.7 minutes 1.20 minutes
30 3.9 minutes 3.08 minutes
40 5.6 minutes 3.36 minutes
60 9.4 minutes 7.08 minutes
100 15.2 minutes 7.41 minutes
Distributing load elegantly
Next few slides explain the code.
Key highlighted portions are in a red rectangle
Use cases 1: Synthetic monitoring
Use case 2: Load balancing across all regions in a cloud
How to scale across AZs? How to scale across clouds?
.tf Provisioning (AWS multi AZs)
provider "aws" {
region = "us-west-2"
access_key = "XXXXXXX"
secret_key = "XXXXXXXXX"
}ia
variable "region"
{
default = "us-west-2"
}
variable "region_az" {
default = {
"us-east-1" = "us-east-1a,us-east-1c,us-east-1d,us-east-1e"
"us-west-1" = "us-west-1a,us-west-1b,us-west-1c"
"us-west-2" = "us-west-2a,us-west-2b,us-west-2c"
"eu-west-1" = "eu-west-1a,eu-west-1b,eu-west-1c"
"eu-central-1" = "eu-central-1a,eu-central-1b"
"ap-southeast-1" = "ap-southeast-1a,ap-southeast-1b"
"ap-northeast-1" = "ap-northeast-1a,ap-northeast-1b,ap-northeast-1c"
"ap-southeast-2" = "ap-southeast-2a,ap-southeast-2b"
"sa-east-1" = "sa-east-1a,sa-east-1b,sa-east-1c"
}
}
Variables for AZs and AMIs
Lets use this region to start
Region based AZ map
variable "region_az" {
default = {
"us-east-1" = "us-east-1a,us-east-1c,us-east-1d,us-east-1e"
"us-west-1" = "us-west-1a,us-west-1b,us-west-1c"
"us-west-2" = "us-west-2a,us-west-2b,us-west-2c"
"eu-west-1" = "eu-west-1a,eu-west-1b,eu-west-1c"
"eu-central-1" = "eu-central-1a,eu-central-1b"
"ap-southeast-1" = "ap-southeast-1a,ap-southeast-1b"
"ap-northeast-1" = "ap-northeast-1a,ap-northeast-1b,ap-northeast-1c"
"ap-southeast-2" = "ap-southeast-2a,ap-southeast-2b"
"sa-east-1" = "sa-east-1a,sa-east-1b,sa-east-1c"
}
}
variable "ami"
{
default = ...
used in lookup
variable "ami"
{
default =
{
"description" = "Ubuntu server 14.04 ami id"
"us-west-1" = "ami-df6a8b9b"
"us-west-2" = "ami-5189a661"
"us-east-1" = "ami-d05e75b8"
"eu-west-1" = "ami-47a23a30"
"eu-central-1" = "ami-accff2b1"
"ap-northeast-1" = "ami-936d9d93"
"ap-southeast-1" = "ami-96f1c1c4"
"ap-southeast-2" = "ami-69631053"
"sa-east-1" = "ami-4d883350"
}
}
Region based Ubuntu AMI map
resource "aws_instance" "web" {
ami = "${lookup(var.ami, var.region)}"
instance_type = "${var.instance_type}"
count = "${var.servers}"
availability_zone =
"${element(split(",",lookup(var.region_az,
var.region)),
count.index%length
(split(",",lookup(var.region_az,
var.region))
))}"
Resource declaration
resource "aws_instance" "web" {
ami = "${lookup(var.ami, var.region)}"
instance_type = "${var.instance_type}"
count = "${var.servers}"
availability_zone =
"${element(split(",",lookup(var.region_az,
var.region)),
count.index%length
(split(",",lookup(var.region_az,
var.region))
))}"
Scaling and iterating
Math library added from
terraform v0.4
Simulating iteration
Scaling to 100s of servers
Multi-cloud distribution
Step 1
Creating an image
for each cloud
Step 2
Using that image in
the code that we
just saw
Creating image using Packer
"provisioners": [{
"type": "shell",
"inline": [
"sleep 30",
"sudo apt-get update",
"sudo apt-get install -y redis-
server"
]
}] Provisioning Redis server
Strong Ops - Chef provisioner
"provisioners": [{
"type": "chef-client",
"server_url”: “https://mychefserver.com/”
}]
Cookbooks and Recipes:
Helpdesk, monitoring server, monitoring clients, antivirus
agents, auto-healing servers, analytics data couriers...
Using Chef client-server
App context: Data bags
Creating image using Packer
"builders": [{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "us-east-1",
"source_ami": "ami-de0d9eb7",
"instance_type": "t1.micro",
"ssh_username": "ubuntu",
"ami_name": "packer-example {{timestamp}}"
},
Build in Amazon Cloud
Same code for multi-cloud
"builders": [{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "us-east-1",
"source_ami": "ami-de0d9eb7",
"instance_type": "t1.micro",
"ssh_username": "ubuntu",
"ami_name": "packer-example {{timestamp}}"
},
{
"type": "digitalocean",
"api_token": "{{user `do_api_token`}}",
"image": "ubuntu-14-04-x64",
"region": "nyc3",
"size": "512mb"
}],
Build in Amazon Cloud Build in Digital Ocean Cloud
Beautiful multi-color output
amazon-ebs output will be in this color.
digitalocean output will be in this color.
==> digitalocean: Creating temporary ssh key for droplet...
==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Creating temporary keypair: packer 55f6c5e5-2b50-c8c3-5e37-7d246b6f0bca
==> amazon-ebs: Creating temporary security group for this instance...
==> amazon-ebs: Authorizing access to port 22 the temporary security group...
==> amazon-ebs: Launching a source AWS instance...
==> digitalocean: Creating droplet...
==> digitalocean: Waiting for droplet to become active...
Pilot of great idea - clear value delivered - all good
Onboarding new customers rapidly without sacrificing quality
Harden the OS - chef-templates, packer, Terraform
Automate app deployment - Terraform + Chef
Automate app configuration - Terraform + Chef + Data bags
Pivot fast, maintain the lead, make value irresistible
DevOps for building new features fast - Adopt DevOps early
Upgrade customers DevOps pipeline + Roles + Environments
Hope this helps!
The 4th question in daily agile scrums that was never asked
4th question: Are you blocking Ops?
Meaning:
a) Are there any new binaries created/deleted?
b) Are there any configuration files that changed?
c) Are there any configuration attributes that changed?
Why DevOps projects fail
Recap, takeaway
Easy to code infrastructure
Easy to replicate infrastructure
Easy to distribute infrastructure across AZs
Easy to balance infrastructure across regions
Easy to balance infrastructure across clouds, countries
Easy to integrate with other apps
The 4th scrum question
IT Automation Summit 2016
http://www.unicomlearning.com/2016/IT_Automation_Summit/
Speaker Name: Uchit Vyas
Email ID: uchit.vyas@opexsoftware.com
Organized by
UNICOM Trainings & Seminars Pvt. Ltd.
contact@unicomlearning.com
Opex Software Thanks You
AUTOMATE IT. CREATE TIME
Hybrid SAAS Apps
App is on AWS (DO, Azure, other clouds)
Appliance, Sync process is on-prem with the tenant
Upgrading customers: Env
knife environment create ClientSetOne
name "ClientSetOne"
description "The packages and configuration used by ClientSetOne"
cookbook_versions({
"nginx" => "<= 1.1.0",
"apt" => "= 0.0.1"
})
override_attributes ({
"nginx" => {
"listen" => [ "80", "443" ]
},
"mysql" => {
"root_pass" => "root"
}
})
Upgrading customers: Associate
Each node can be in exactly one environment
STEP1: knife node edit clientOneAppliance
STEP2: {
"name": "clientOneAppliance",
"chef_environment": "ClientSetOne",
"normal": {
"tags": [
]
},
"run_list": [
"role[web_server]"
]
}
Language Integration challenges
Source: http://sdtimes.com/poll-the-language-i-use-most-at-work-is/
Terraform JSON file which can be executed
by terraform
Java beans for the all available TF resources.
Opening TF to Java world
Terraform Resource
(Java)
Transpiler with
Notification Provisioner
Injection
Terraform Resource
(JSON)
Convert TF Java bean into TF JSON. Injects
echos using local_exec.
Terraform JSON
Resource
Terraform
Executor(Java)
Terraform Action
Handler
Notify Action Handlers for
1. Resource Created
2. Provisioner Execution Started
3. Provisioner Execution Done
Execute Terraform JSON File
Terraform Executor(Java)

More Related Content

What's hot

AWSug.nl Meetup @ New10 - SAM
AWSug.nl Meetup @ New10 - SAMAWSug.nl Meetup @ New10 - SAM
AWSug.nl Meetup @ New10 - SAM
Martijn van Dongen
 
Crossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end FrameworkCrossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end Framework
Daniel Spector
 
OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010
ikailan
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
Adin Ermie
 
Deploying SharePoint @ Cloud
Deploying SharePoint @ CloudDeploying SharePoint @ Cloud
Deploying SharePoint @ Cloud
Juan Andrés Valenzuela
 
A Little Backbone For Your App
A Little Backbone For Your AppA Little Backbone For Your App
A Little Backbone For Your App
Luca Mearelli
 
Deep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateDeep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & Fargate
Amazon Web Services
 
Introduction to windows power shell in sharepoint 2010
Introduction to windows power shell in sharepoint 2010Introduction to windows power shell in sharepoint 2010
Introduction to windows power shell in sharepoint 2010
Binh Nguyen
 
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
Amazon Web Services
 
Webinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in HeavenWebinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in Heaven
Sébastien Levert
 
(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI
Amazon Web Services
 
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Adin Ermie
 
Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013
Mohan Arumugam
 
Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)
Julien SIMON
 
Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...
Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...
Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...
Amazon Web Services
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
Javier Eguiluz
 
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
Amazon Web Services Korea
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
Antonio Peric-Mazar
 
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeServer Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
JAXLondon2014
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEM
AdobeMarketingCloud
 

What's hot (20)

AWSug.nl Meetup @ New10 - SAM
AWSug.nl Meetup @ New10 - SAMAWSug.nl Meetup @ New10 - SAM
AWSug.nl Meetup @ New10 - SAM
 
Crossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end FrameworkCrossing the Bridge: Connecting Rails and your Front-end Framework
Crossing the Bridge: Connecting Rails and your Front-end Framework
 
OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010OSCON Google App Engine Codelab - July 2010
OSCON Google App Engine Codelab - July 2010
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
 
Deploying SharePoint @ Cloud
Deploying SharePoint @ CloudDeploying SharePoint @ Cloud
Deploying SharePoint @ Cloud
 
A Little Backbone For Your App
A Little Backbone For Your AppA Little Backbone For Your App
A Little Backbone For Your App
 
Deep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateDeep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & Fargate
 
Introduction to windows power shell in sharepoint 2010
Introduction to windows power shell in sharepoint 2010Introduction to windows power shell in sharepoint 2010
Introduction to windows power shell in sharepoint 2010
 
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
ARC204 AWS Infrastructure Automation - AWS re: Invent 2012
 
Webinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in HeavenWebinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in Heaven
 
(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI(DEV301) Automating AWS with the AWS CLI
(DEV301) Automating AWS with the AWS CLI
 
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
 
Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013Power Shell and Sharepoint 2013
Power Shell and Sharepoint 2013
 
Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)Picking the right AWS backend for your application (September 2017)
Picking the right AWS backend for your application (September 2017)
 
Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...
Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...
Re:inventing EC2 Instance Launches with Launch Templates - SRV335 - Chicago A...
 
Symfony tips and tricks
Symfony tips and tricksSymfony tips and tricks
Symfony tips and tricks
 
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
 
Building Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJSBuilding Single Page Application (SPA) with Symfony2 and AngularJS
Building Single Page Application (SPA) with Symfony2 and AngularJS
 
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeServer Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEM
 

Viewers also liked

13th August 2016 - Priorities for our Relationships
13th August 2016 - Priorities for our Relationships13th August 2016 - Priorities for our Relationships
13th August 2016 - Priorities for our Relationships
Thorn Group Pvt Ltd
 
Ensayo
EnsayoEnsayo
Ensayo
JeimyNieto
 
UNIT 2
UNIT 2UNIT 2
Simple Db &amp; Dynamo Db
Simple Db &amp; Dynamo DbSimple Db &amp; Dynamo Db
Simple Db &amp; Dynamo Db
Uchit Vyas ☁
 
Avoliobio2016
Avoliobio2016Avoliobio2016
Avoliobio2016
Bruce Avolio
 
Mindmap Jung
Mindmap JungMindmap Jung
Mindmap Jung
Sherlyn Sense
 
Michael Maher 4 Simple LifeHacks of SuperProducers
Michael Maher 4 Simple LifeHacks of SuperProducersMichael Maher 4 Simple LifeHacks of SuperProducers
Michael Maher 4 Simple LifeHacks of SuperProducers
HomesPro from Homes.com
 
Poster :: ITS: Predictive Vehicular Networking (1)
Poster :: ITS: Predictive Vehicular Networking (1)Poster :: ITS: Predictive Vehicular Networking (1)
Poster :: ITS: Predictive Vehicular Networking (1)
Joarder Kamal
 
Getting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB Day
Getting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB DayGetting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB Day
Getting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB Day
Amazon Web Services Korea
 
Mindmap Bandura
Mindmap BanduraMindmap Bandura
Mindmap Bandura
Sherlyn Sense
 
Pulse polio immunization campaign
Pulse polio immunization campaignPulse polio immunization campaign
Pulse polio immunization campaign
Shanmukha Akinapelli
 
Brand Best Practices
Brand Best PracticesBrand Best Practices
Brand Best Practices
Mahmoodul Sameer
 
Gymnastics For Demonstration teaching by Edgardo Paule
Gymnastics For Demonstration teaching by Edgardo PauleGymnastics For Demonstration teaching by Edgardo Paule
Gymnastics For Demonstration teaching by Edgardo Paule
edgardoseda
 
Disrupting Documentary: Ecstatic Truth & Elusive Fiction
Disrupting Documentary: Ecstatic Truth & Elusive FictionDisrupting Documentary: Ecstatic Truth & Elusive Fiction
Disrupting Documentary: Ecstatic Truth & Elusive Fiction
Shannon Walsh
 
360 video
360 video360 video
360 video
Shannon Walsh
 
Aljaska-geografija 7. razred
Aljaska-geografija 7. razredAljaska-geografija 7. razred
Aljaska-geografija 7. razred
Tamara Radičev
 
A Plan to Help a Friend
A Plan to Help a FriendA Plan to Help a Friend
A Plan to Help a Friend
MyWonderStudio
 
Final Roundtable Discussion
Final Roundtable DiscussionFinal Roundtable Discussion
Final Roundtable Discussion
Stephanie Wells, BPR, MSc
 

Viewers also liked (18)

13th August 2016 - Priorities for our Relationships
13th August 2016 - Priorities for our Relationships13th August 2016 - Priorities for our Relationships
13th August 2016 - Priorities for our Relationships
 
Ensayo
EnsayoEnsayo
Ensayo
 
UNIT 2
UNIT 2UNIT 2
UNIT 2
 
Simple Db &amp; Dynamo Db
Simple Db &amp; Dynamo DbSimple Db &amp; Dynamo Db
Simple Db &amp; Dynamo Db
 
Avoliobio2016
Avoliobio2016Avoliobio2016
Avoliobio2016
 
Mindmap Jung
Mindmap JungMindmap Jung
Mindmap Jung
 
Michael Maher 4 Simple LifeHacks of SuperProducers
Michael Maher 4 Simple LifeHacks of SuperProducersMichael Maher 4 Simple LifeHacks of SuperProducers
Michael Maher 4 Simple LifeHacks of SuperProducers
 
Poster :: ITS: Predictive Vehicular Networking (1)
Poster :: ITS: Predictive Vehicular Networking (1)Poster :: ITS: Predictive Vehicular Networking (1)
Poster :: ITS: Predictive Vehicular Networking (1)
 
Getting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB Day
Getting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB DayGetting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB Day
Getting Strated with Amazon Dynamo DB (Jim Scharf) - AWS DB Day
 
Mindmap Bandura
Mindmap BanduraMindmap Bandura
Mindmap Bandura
 
Pulse polio immunization campaign
Pulse polio immunization campaignPulse polio immunization campaign
Pulse polio immunization campaign
 
Brand Best Practices
Brand Best PracticesBrand Best Practices
Brand Best Practices
 
Gymnastics For Demonstration teaching by Edgardo Paule
Gymnastics For Demonstration teaching by Edgardo PauleGymnastics For Demonstration teaching by Edgardo Paule
Gymnastics For Demonstration teaching by Edgardo Paule
 
Disrupting Documentary: Ecstatic Truth & Elusive Fiction
Disrupting Documentary: Ecstatic Truth & Elusive FictionDisrupting Documentary: Ecstatic Truth & Elusive Fiction
Disrupting Documentary: Ecstatic Truth & Elusive Fiction
 
360 video
360 video360 video
360 video
 
Aljaska-geografija 7. razred
Aljaska-geografija 7. razredAljaska-geografija 7. razred
Aljaska-geografija 7. razred
 
A Plan to Help a Friend
A Plan to Help a FriendA Plan to Help a Friend
A Plan to Help a Friend
 
Final Roundtable Discussion
Final Roundtable DiscussionFinal Roundtable Discussion
Final Roundtable Discussion
 

Similar to Scaling with Automation

Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure Provisioning
Uchit Vyas ☁
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
Wesley Beary
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
Yan Cui
 
Serverless in-action
Serverless in-actionServerless in-action
Serverless in-action
Assaf Gannon
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
Wesley Beary
 
Cloud patterns applied
Cloud patterns appliedCloud patterns applied
Cloud patterns applied
Lars Fronius
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Rackspace Academy
 
Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)
Yan Cui
 
Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015
Pavel Chunyayev
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
Amazon Web Services
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
Engine Yard
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltStack
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
stevemock
 
php & performance
 php & performance php & performance
php & performance
simon8410
 
SEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOpsSEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOps
Amazon Web Services
 
SEC303 Automating Security in Cloud Workloads with DevSecOps
SEC303 Automating Security in Cloud Workloads with DevSecOpsSEC303 Automating Security in Cloud Workloads with DevSecOps
SEC303 Automating Security in Cloud Workloads with DevSecOps
Amazon Web Services
 
Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOps Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOps
Kristana Kane
 
Design Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John HardyDesign Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John Hardy
ManageIQ
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Scott Miao
 
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
Amazon Web Services
 

Similar to Scaling with Automation (20)

Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure Provisioning
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
 
Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)Serverless in production, an experience report (London DevOps)
Serverless in production, an experience report (London DevOps)
 
Serverless in-action
Serverless in-actionServerless in-action
Serverless in-action
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
 
Cloud patterns applied
Cloud patterns appliedCloud patterns applied
Cloud patterns applied
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
 
Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)Serverless in production, an experience report (linuxing in london)
Serverless in production, an experience report (linuxing in london)
 
Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015
 
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
(APP307) Leverage the Cloud with a Blue/Green Deployment Architecture | AWS r...
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
 
php & performance
 php & performance php & performance
php & performance
 
SEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOpsSEC303 Automating Security in cloud Workloads with DevSecOps
SEC303 Automating Security in cloud Workloads with DevSecOps
 
SEC303 Automating Security in Cloud Workloads with DevSecOps
SEC303 Automating Security in Cloud Workloads with DevSecOpsSEC303 Automating Security in Cloud Workloads with DevSecOps
SEC303 Automating Security in Cloud Workloads with DevSecOps
 
Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOps Automating Security in Cloud Workloads with DevSecOps
Automating Security in Cloud Workloads with DevSecOps
 
Design Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John HardyDesign Summit - RESTful API Overview - John Hardy
Design Summit - RESTful API Overview - John Hardy
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
(BDT402) Performance Profiling in Production: Analyzing Web Requests at Scale...
 

More from Uchit Vyas ☁

Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaboration
Uchit Vyas ☁
 
API Design Collaboration
API Design CollaborationAPI Design Collaboration
API Design Collaboration
Uchit Vyas ☁
 
Defining DevSecOps
Defining DevSecOpsDefining DevSecOps
Defining DevSecOps
Uchit Vyas ☁
 
Let’s Democratize Deployments
Let’s Democratize DeploymentsLet’s Democratize Deployments
Let’s Democratize Deployments
Uchit Vyas ☁
 
Hashicorp Products Overview
Hashicorp Products OverviewHashicorp Products Overview
Hashicorp Products Overview
Uchit Vyas ☁
 
Deployment using aws
Deployment using awsDeployment using aws
Deployment using aws
Uchit Vyas ☁
 
Cloud
CloudCloud

More from Uchit Vyas ☁ (7)

Service api design validation & collaboration
Service api design validation & collaborationService api design validation & collaboration
Service api design validation & collaboration
 
API Design Collaboration
API Design CollaborationAPI Design Collaboration
API Design Collaboration
 
Defining DevSecOps
Defining DevSecOpsDefining DevSecOps
Defining DevSecOps
 
Let’s Democratize Deployments
Let’s Democratize DeploymentsLet’s Democratize Deployments
Let’s Democratize Deployments
 
Hashicorp Products Overview
Hashicorp Products OverviewHashicorp Products Overview
Hashicorp Products Overview
 
Deployment using aws
Deployment using awsDeployment using aws
Deployment using aws
 
Cloud
CloudCloud
Cloud
 

Recently uploaded

Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

Scaling with Automation

  • 1. Location : Bangalore Date : 27th April, 2016 Name of the Speaker : Uchit Vyas Company Name : Opex Software, Pune IT Automation Summit 2016 http://www.unicomlearning.com/2016/IT_Automation_Summit/ Bangalore 27th April 2016
  • 2. VCs on line 1 Scaling under pressure with Chef, Packer and Terraform
  • 3. Who am I: Uchit Vyas 8+ years of exciting experience Infrastructure automation domain Leading Cloud Infrastructure automation in Opex Software
  • 4. Introduction Single metric we measure: Speed with correctness Mission: Automate IT. Create Time Focus: SAAS applications
  • 5. SAAS Startup Dream Scaling with SPEED How to make this happen, technically? Images: 4actionmarketing.net, dreamstime.com, thenextweb.com
  • 6. Pressure from investors How to make this happen, technically? Images: startupinitiative.com
  • 7. SAAS is value: Step 1 of 3 Clear value is delivered
  • 8. SAAS is value: Step 2 of 3 Clear value is delivered Onboarding new customers rapidly
  • 9. SAAS is value: Step 3 of 3 Clear value is delivered Onboarding new customers rapidly Upgrade fast, maintain lead, make value irresistible
  • 12. Execution Problems All good Harden the OS skill not available immediately Automate app deploy/cfg after thought Automate Testing fully after thought
  • 13. Execution Problems All good Harden the OS skill not available immediately Automate app deployment after thought Automate app configuration after thought Microservices independently upgradable? Lead starting to lose speed, competition! Images: avopress.com, animationmagazine.net, thenextweb.com
  • 14. 1412/05/15 DevOps + Strong Ops Dev Test Ops
  • 15. 15 Transform test automation for DevOps Test bed Infrastructure creation Automation Automated Test Result Analytics Test Automation (Selenium, QTP etc)
  • 16. Strong Ops to scale Helpdesk Monitoring Configuration Management Auto-Self healing Synthetic Monitoring Log analytics
  • 18. OS Hardening: Why is it imp? protecting IP unfair competition cybersecurity private data direct or indirect attacks via cloud President Barack Obama delivers remarks at the Business Roundtable offices in Washington September 16, 2015.
  • 19. OS Hardening Use Chef templates and Terraform Include following in server configuration definition Security Rules, Password policies, Secure SSH, Compliance policy Important agents (AV, monitoring) Use “Chef-Vault” for storing secrets
  • 20. Sample code: login definition template '/etc/login.defs' do source 'login.defs.erb' mode '0444' owner 'root' group 'root' variables( additional_user_paths: node['env’] … ) end
  • 21. Sample code: erb file 'sample.erb' <% if @port != 80 -%> Listen <%= @port %> <% end -%> Two simple, but powerful concepts a) Expression evaluation b) Variable value replacement
  • 22. Sample code: login definition variables( password_max_age: node['auth']['pw_max_age'], password_min_age: node['auth']['pw_min_age'], login_retries: node['auth']['retries'], login_timeout: node['auth']['timeout'], chfn_restrict: '', # "rwh" allow_login_without_home: node['auth']['allow_homeless'], … )
  • 24. High speed lab creation Terraform is parallelized Auto-sequencing based on graphs Terraform can integrate with any layer of the stack Lab setup on pre-existing servers, provisioning servers from scratch - both are supported
  • 25. Speed of provisioning Why we chose terraform for high-speed scaling Number of Machines Chef-metal Terraform 10 2.7 minutes 1.20 minutes 30 3.9 minutes 3.08 minutes 40 5.6 minutes 3.36 minutes 60 9.4 minutes 7.08 minutes 100 15.2 minutes 7.41 minutes
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Distributing load elegantly Next few slides explain the code. Key highlighted portions are in a red rectangle Use cases 1: Synthetic monitoring Use case 2: Load balancing across all regions in a cloud How to scale across AZs? How to scale across clouds?
  • 31. .tf Provisioning (AWS multi AZs) provider "aws" { region = "us-west-2" access_key = "XXXXXXX" secret_key = "XXXXXXXXX" }ia
  • 32. variable "region" { default = "us-west-2" } variable "region_az" { default = { "us-east-1" = "us-east-1a,us-east-1c,us-east-1d,us-east-1e" "us-west-1" = "us-west-1a,us-west-1b,us-west-1c" "us-west-2" = "us-west-2a,us-west-2b,us-west-2c" "eu-west-1" = "eu-west-1a,eu-west-1b,eu-west-1c" "eu-central-1" = "eu-central-1a,eu-central-1b" "ap-southeast-1" = "ap-southeast-1a,ap-southeast-1b" "ap-northeast-1" = "ap-northeast-1a,ap-northeast-1b,ap-northeast-1c" "ap-southeast-2" = "ap-southeast-2a,ap-southeast-2b" "sa-east-1" = "sa-east-1a,sa-east-1b,sa-east-1c" } } Variables for AZs and AMIs Lets use this region to start
  • 33. Region based AZ map variable "region_az" { default = { "us-east-1" = "us-east-1a,us-east-1c,us-east-1d,us-east-1e" "us-west-1" = "us-west-1a,us-west-1b,us-west-1c" "us-west-2" = "us-west-2a,us-west-2b,us-west-2c" "eu-west-1" = "eu-west-1a,eu-west-1b,eu-west-1c" "eu-central-1" = "eu-central-1a,eu-central-1b" "ap-southeast-1" = "ap-southeast-1a,ap-southeast-1b" "ap-northeast-1" = "ap-northeast-1a,ap-northeast-1b,ap-northeast-1c" "ap-southeast-2" = "ap-southeast-2a,ap-southeast-2b" "sa-east-1" = "sa-east-1a,sa-east-1b,sa-east-1c" } } variable "ami" { default = ... used in lookup
  • 34. variable "ami" { default = { "description" = "Ubuntu server 14.04 ami id" "us-west-1" = "ami-df6a8b9b" "us-west-2" = "ami-5189a661" "us-east-1" = "ami-d05e75b8" "eu-west-1" = "ami-47a23a30" "eu-central-1" = "ami-accff2b1" "ap-northeast-1" = "ami-936d9d93" "ap-southeast-1" = "ami-96f1c1c4" "ap-southeast-2" = "ami-69631053" "sa-east-1" = "ami-4d883350" } } Region based Ubuntu AMI map
  • 35. resource "aws_instance" "web" { ami = "${lookup(var.ami, var.region)}" instance_type = "${var.instance_type}" count = "${var.servers}" availability_zone = "${element(split(",",lookup(var.region_az, var.region)), count.index%length (split(",",lookup(var.region_az, var.region)) ))}" Resource declaration
  • 36. resource "aws_instance" "web" { ami = "${lookup(var.ami, var.region)}" instance_type = "${var.instance_type}" count = "${var.servers}" availability_zone = "${element(split(",",lookup(var.region_az, var.region)), count.index%length (split(",",lookup(var.region_az, var.region)) ))}" Scaling and iterating Math library added from terraform v0.4 Simulating iteration Scaling to 100s of servers
  • 37. Multi-cloud distribution Step 1 Creating an image for each cloud Step 2 Using that image in the code that we just saw
  • 38. Creating image using Packer "provisioners": [{ "type": "shell", "inline": [ "sleep 30", "sudo apt-get update", "sudo apt-get install -y redis- server" ] }] Provisioning Redis server
  • 39. Strong Ops - Chef provisioner "provisioners": [{ "type": "chef-client", "server_url”: “https://mychefserver.com/” }] Cookbooks and Recipes: Helpdesk, monitoring server, monitoring clients, antivirus agents, auto-healing servers, analytics data couriers... Using Chef client-server
  • 41. Creating image using Packer "builders": [{ "type": "amazon-ebs", "access_key": "{{user `aws_access_key`}}", "secret_key": "{{user `aws_secret_key`}}", "region": "us-east-1", "source_ami": "ami-de0d9eb7", "instance_type": "t1.micro", "ssh_username": "ubuntu", "ami_name": "packer-example {{timestamp}}" }, Build in Amazon Cloud
  • 42. Same code for multi-cloud "builders": [{ "type": "amazon-ebs", "access_key": "{{user `aws_access_key`}}", "secret_key": "{{user `aws_secret_key`}}", "region": "us-east-1", "source_ami": "ami-de0d9eb7", "instance_type": "t1.micro", "ssh_username": "ubuntu", "ami_name": "packer-example {{timestamp}}" }, { "type": "digitalocean", "api_token": "{{user `do_api_token`}}", "image": "ubuntu-14-04-x64", "region": "nyc3", "size": "512mb" }], Build in Amazon Cloud Build in Digital Ocean Cloud
  • 43. Beautiful multi-color output amazon-ebs output will be in this color. digitalocean output will be in this color. ==> digitalocean: Creating temporary ssh key for droplet... ==> amazon-ebs: Prevalidating AMI Name... ==> amazon-ebs: Inspecting the source AMI... ==> amazon-ebs: Creating temporary keypair: packer 55f6c5e5-2b50-c8c3-5e37-7d246b6f0bca ==> amazon-ebs: Creating temporary security group for this instance... ==> amazon-ebs: Authorizing access to port 22 the temporary security group... ==> amazon-ebs: Launching a source AWS instance... ==> digitalocean: Creating droplet... ==> digitalocean: Waiting for droplet to become active...
  • 44. Pilot of great idea - clear value delivered - all good Onboarding new customers rapidly without sacrificing quality Harden the OS - chef-templates, packer, Terraform Automate app deployment - Terraform + Chef Automate app configuration - Terraform + Chef + Data bags Pivot fast, maintain the lead, make value irresistible DevOps for building new features fast - Adopt DevOps early Upgrade customers DevOps pipeline + Roles + Environments Hope this helps!
  • 45. The 4th question in daily agile scrums that was never asked 4th question: Are you blocking Ops? Meaning: a) Are there any new binaries created/deleted? b) Are there any configuration files that changed? c) Are there any configuration attributes that changed? Why DevOps projects fail
  • 46. Recap, takeaway Easy to code infrastructure Easy to replicate infrastructure Easy to distribute infrastructure across AZs Easy to balance infrastructure across regions Easy to balance infrastructure across clouds, countries Easy to integrate with other apps The 4th scrum question
  • 47. IT Automation Summit 2016 http://www.unicomlearning.com/2016/IT_Automation_Summit/ Speaker Name: Uchit Vyas Email ID: uchit.vyas@opexsoftware.com Organized by UNICOM Trainings & Seminars Pvt. Ltd. contact@unicomlearning.com
  • 48. Opex Software Thanks You AUTOMATE IT. CREATE TIME
  • 49. Hybrid SAAS Apps App is on AWS (DO, Azure, other clouds) Appliance, Sync process is on-prem with the tenant
  • 50. Upgrading customers: Env knife environment create ClientSetOne name "ClientSetOne" description "The packages and configuration used by ClientSetOne" cookbook_versions({ "nginx" => "<= 1.1.0", "apt" => "= 0.0.1" }) override_attributes ({ "nginx" => { "listen" => [ "80", "443" ] }, "mysql" => { "root_pass" => "root" } })
  • 51. Upgrading customers: Associate Each node can be in exactly one environment STEP1: knife node edit clientOneAppliance STEP2: { "name": "clientOneAppliance", "chef_environment": "ClientSetOne", "normal": { "tags": [ ] }, "run_list": [ "role[web_server]" ] }
  • 52. Language Integration challenges Source: http://sdtimes.com/poll-the-language-i-use-most-at-work-is/
  • 53. Terraform JSON file which can be executed by terraform Java beans for the all available TF resources. Opening TF to Java world Terraform Resource (Java) Transpiler with Notification Provisioner Injection Terraform Resource (JSON) Convert TF Java bean into TF JSON. Injects echos using local_exec.
  • 54. Terraform JSON Resource Terraform Executor(Java) Terraform Action Handler Notify Action Handlers for 1. Resource Created 2. Provisioner Execution Started 3. Provisioner Execution Done Execute Terraform JSON File Terraform Executor(Java)