SlideShare una empresa de Scribd logo
1 de 43
Automating the application lifecycle
19 mars 2015 . #TIAD . @tiadparis
# TIAD@ tiadparis
Who am I?
2
Laurent Bernaille @d2si
• Linux background
• Cloud enthousiast
• Opensource advocate
• Love discovering, building (and breaking…) new things
• Passionate about the ongoing IT transformations
@lbernail
# TIAD@ tiadparis
Story behind this talk/demo
3
A classic company with a « standard » on-premise IT
New business objectives in a competitive space: IOT
Creation of small, independant start-up teams
Use of Amazon Web Services for agility and scalability
An opportunity to use a new application delivery process
# TIAD@ tiadparis
Automating the application lifecyle: Objectives
4
Integrate a new application in hours instead of days
Create a new environment in minutes instead of month
Deploy a new version of the application in minutes instead of hours
# TIAD@ tiadparis
What it was (is?) like
5
DEV
Version
Control
System Continuous
Integration
Analyse code
Build Repository
Push code to VCS
Traditional Continuous integration
• Build a binary application artifact
• WAR, JAR, RPM, DEB, ZIP
Artifact
Traditional Deployment
• Build environments
• Deploy the artifact in environments
OPS
Configured server(s)
Staging
Configured server(s)
Production
We can do better!
# TIAD@ tiadparis
Demo outline
6
1. Infrastructure build
1. Creation of application back-ends
2. Deployment of the application
3. New release
# TIAD@ tiadparis
Step 1: Build infrastructure automatically
7
Build a full environment from scratch
• Subnets
• Routing tables
• Technical services
# TIAD@ tiadparis
Step 1: Build infrastructure automatically
7
CloudFormation
Build a full environment from scratch
• Subnets
• Routing tables
• Technical services
Cloudformation
• Describe infrastructure components
• Build them
• « puppet » for infrastructure
• AWS only: see also Terraform / Heat
# TIAD@ tiadparis
Step 1: Build infrastructure automatically
7
CloudFormation
Build a full environment from scratch
• Subnets
• Routing tables
• Technical services
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
Cloudformation
• Describe infrastructure components
• Build them
• « puppet » for infrastructure
• AWS only: see also Terraform / Heat
# TIAD@ tiadparis
Step 1: Build infrastructure automatically
7
CloudFormation
NAT NATBastion
Build a full environment from scratch
• Subnets
• Routing tables
• Technical services
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
Cloudformation
• Describe infrastructure components
• Build them
• « puppet » for infrastructure
• AWS only: see also Terraform / Heat
# TIAD@ tiadparis
Step 1: Build infrastructure automatically
7
CloudFormation
NAT NATBastion
Build a full environment from scratch
• Subnets
• Routing tables
• Technical services
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
Why automate these rare actions?
• Avoid errors
• Create identical environments (Production, Staging) easily
• Ability to deploy somewhere else very quickly
• Not so rare
• Easier to update
Cloudformation
• Describe infrastructure components
• Build them
• « puppet » for infrastructure
• AWS only: see also Terraform / Heat
# TIAD@ tiadparis
Under the hood
8
NAT NATBastion
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
"VPC" : {
"Type" : "AWS::EC2::VPC",
"Properties" : {
"CidrBlock" : "10.100.0.0/16"
}
”PublicSubnet1" : {
"Type" : "AWS::EC2::Subnet",
"Properties" : {
"VpcId" : { "Ref" : "VPC" },
"AvailabilityZone" : "eu-west-1a"
"CidrBlock” : "10.100.1.0/25”
}
}
"NatInstance1" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : "ami-6e7bd919",
"InstanceType" : "t2.micro"
"SourceDestCheck" : "False",
"UserData” :
{ "Fn::Base64" : { "Fn::Join" : [”n", [
"#!/bin/bash",
"echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf",
"sysctl -p,
"iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE",
"iptables-save > /etc/sysconfig/iptables"
]]}}
}
}
# TIAD@ tiadparis
Step 2: Build application components
9
Build all the backends
• Databases
• Buckets
• Cache servers
• Queues & Topics
NAT NATBastion
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
# TIAD@ tiadparis
Step 2: Build application components
9
CloudFormation
Build all the backends
• Databases
• Buckets
• Cache servers
• Queues & Topics
NAT NATBastion
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
DynamoDB
DynamoDB
• AWS NoSQL database
• « Cassandra as a service »
# TIAD@ tiadparis
Step 2: Build application components
9
CloudFormation
Build all the backends
• Databases
• Buckets
• Cache servers
• Queues & Topics
NAT NATBastion
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
Why separate from servers where the application run?
• Different lifecycle
• Can be shared between releases
DynamoDB
DynamoDB
• AWS NoSQL database
• « Cassandra as a service »
# TIAD@ tiadparis
Difficulty: managing variables
10
VPC Addresses
Subnets
Instance types
Infra template
# TIAD@ tiadparis
Difficulty: managing variables
10
VPC Addresses
Subnets
Instance types
Infra template
Parameters
# TIAD@ tiadparis
Difficulty: managing variables
10
VPC Addresses
Subnets
Instance types
Infra template
Parameters
Backend template
VPC Id
Subnet Ids
DB Name
# TIAD@ tiadparis
Difficulty: managing variables
10
VPC Addresses
Subnets
Instance types
Infra template
Parameters
Backend template
VPC Id
Subnet Ids
DB Name
# TIAD@ tiadparis
Difficulty: managing variables
10
VPC Addresses
Subnets
Instance types
Infra template
Parameters
Backend template
VPC Id
Subnet Ids
DB Name
?
?
# TIAD@ tiadparis
Difficulty: managing variables
10
VPC Addresses
Subnets
Instance types
Infra template
Parameters
Backend template
VPC Id
Subnet Ids
DB Name
?
?
Wrapper to manage inputs/outputs
Outputs
# TIAD@ tiadparis
Step 3: Deploy application
11
Deploy application
• Load-balancers
• Servers
• DNS Alias
NAT NATBastion
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
DynamoDB
# TIAD@ tiadparis
Step 3: Deploy application
11
CloudFormation
Deploy application
• Load-balancers
• Servers
• DNS Alias
NAT NATBastion
eu-west-1a
Public subnets
Private subnets
eu-west-1b
Public subnets
Private subnets
DynamoDB
WEB WEB
Load-balancer included to allow deployment of several versions
Web server is built from an image with application pre-installed
# TIAD@ tiadparis
Difficulty: managing variables, again
12
VPC Addresses
Subnets
Instance types
Infra template Backend template
VPC Id
Subnet Ids
DB Name
Outputs
Application template
Instance Types
DB Name
# TIAD@ tiadparis
Difficulty: managing variables, again
12
VPC Addresses
Subnets
Instance types
Infra template Backend template
VPC Id
Subnet Ids
DB Name
Outputs
Application template
Instance Types
DB Name
WEB
DynamoDB
?
# TIAD@ tiadparis
Difficulty: managing variables, again
12
VPC Addresses
Subnets
Instance types
Infra template Backend template
VPC Id
Subnet Ids
DB Name
Outputs
Application template
Instance Types
DB Name
WEB
DynamoDB
?
"UserData” :
{ "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bashn",
"echo ", { "Ref" : "Properties" } ," >> /var/www/html/application.propertiesn”
]]}}
Properties
Properties
# TIAD@ tiadparis
Updating the application: the old-fashion way
13
DEV
Version
Control
System Continuous
Integration
Analyse code
Build Repository
Push code to VCS
Traditional Continuous integration
• Build a binary application artifact
• WAR, JAR, RPM, DEB, ZIP
Artifact
Traditional Deployment
• Use previously built environments
• Deploy the artifact
OPS
Configured server(s)
Staging
Configured server(s)
Production
Environments will drift
# TIAD@ tiadparis
Updating the application: with config management
14
Environments can still drift
Not suited for autoscaling
DEV
Version
Control
System Continuous
Integration
Analyse code
Build Repository
Push code to VCS
Traditional Continuous integration
• Build a binary application artifact
• WAR, JAR, RPM, DEB, ZIP
Artifact
Use config management tools
• Same recipes across environments
• Same artefact across environments
• Manual application deployment
OPS
Configured server(s)
Staging
Configured server(s)
Production
# TIAD@ tiadparis
Updating the application: in the cloud
15
Building can take a while
Some drift still possible
DEV
Version
Control
System Continuous
Integration
Analyse code
Build Repository
Push code to VCS
Traditional Continuous integration
• Build a binary application artifact
• WAR, JAR, RPM, DEB, ZIP
Artifact
Use config management tools
• Same recipes across environments
• Same artefact across environments
• Deploy application at server start
OPS
Configured server(s)
Staging
Configured server(s)
Production
# TIAD@ tiadparis
Updating the application
16
DEV
Version
Control
System Continuous
Integration
Analyse code
Build
Repository
Push code to VCS
New Continuous integration
• Build an application artifact
• Build a server image
Artifact
OPS
Staging Production
# TIAD@ tiadparis
Updating the application
16
DEV
Version
Control
System Continuous
Integration
Analyse code
Build
Repository
Push code to VCS
New Continuous integration
• Build an application artifact
• Build a server image
Artifact
OPS
Staging Production
Provision,
Config, deploy
Reference
templatesBuild
Application
templates
# TIAD@ tiadparis
Updating the application
16
DEV
Version
Control
System Continuous
Integration
Analyse code
Build
Repository
Push code to VCS
New Continuous integration
• Build an application artifact
• Build a server image
Artifact
OPS
Configured server(s)
Staging
Configured server(s)
Production
Provision,
Config, deploy
Reference
templatesBuild
Application
templates
# TIAD@ tiadparis
Demo
17
Push code
Integration
AWS images
AWS
Application
templates
Web hook
Packer
• Automate the creation of templates
• Developped by @mitchellh / @hashicorp
# TIAD@ tiadparis
Demo
17
Push code
Integration
AWS images
AWS
Application
templates
Web hook
Build
WEB WEB
Packer
• Automate the creation of templates
• Developped by @mitchellh / @hashicorp
# TIAD@ tiadparis
Packer
18
"builders": [{
"type": "amazon-ebs",
"region": ”eu-west-1",
"source_ami": "ami-f0b11187",
"instance_type": "t2.small",
"ssh_username": "ubuntu",
"ami_name": "demo-{{isotime "2006-01-02T15-04-05"}}"
}],
"provisioners": [
{
"type": "file",
"source": "/jenkins_workspace/site",
"destination": "/tmp/www"
},
{
"type": "shell",
"inline": [
"sudo apt-get update",
"sudo apt-get install -y apache2 php5 libapache2-mod-php5 php5-curl php5-mysql",
"sudo rm /var/www/html/*",
"sudo mv /tmp/www/* /var/www/html",
"sudo service apache2 restart"
]
}]
# TIAD@ tiadparis 19
Push code
Continuous
Integration
Application
templates
IntegrationPerspectives
# TIAD@ tiadparis 19
Production
Push code
Continuous
Integration
Application
templates
Integration
Prod DNS
Perspectives
# TIAD@ tiadparis 19
Production
Push code
Continuous
Integration
Application
templates
Integration
Prod DNS
Perspectives
# TIAD@ tiadparis 19
Production
Test
Push code
Continuous
Integration
Application
templates
Integration
Prod DNS
Perspectives
# TIAD@ tiadparis 19
Production
Test
Push code
Continuous
Integration
Application
templates
Integration
Prod DNS
Perspectives
# TIAD@ tiadparis 19
Production
Test
Push code
Continuous
Integration
Application
templates
Integration
Prod DNS
Perspectives
# TIAD@ tiadparis
Key take-aways
20
Everything can be automated
Very important change: Immutable servers
• New application artifact: Images / Containers
• Very challenging for organizations
# TIAD@ tiadparis
Thank you
@lbernail
Fork the code of this demo on github
https://github.com/lbernail/demo

Más contenido relacionado

La actualidad más candente

Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Sadique Puthen
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless PipelineJulien SIMON
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with AnsibleMartin Etmajer
 
Hashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsHashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsRamit Surana
 
Container Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in productionContainer Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in productionMike Splain
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
 
Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)Richard Donkin
 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)Amazon Web Services
 
Case Study: Using Terraform and Packer to deploy go applications to AWS
Case Study: Using Terraform and Packer to deploy go applications to AWSCase Study: Using Terraform and Packer to deploy go applications to AWS
Case Study: Using Terraform and Packer to deploy go applications to AWSPatrick Bolduan
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServiceJosh Padnick
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackBobby DeVeaux, DevOps Consultant
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with ChefMatt Ray
 
OpenStack Summit Vancouver: Lessons learned on upgrades
OpenStack Summit Vancouver:  Lessons learned on upgradesOpenStack Summit Vancouver:  Lessons learned on upgrades
OpenStack Summit Vancouver: Lessons learned on upgradesFrédéric Lepied
 
Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformAvi Networks
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedDataStax Academy
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1Jinho Shin
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansiblefmaccioni
 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Amazon Web Services
 
Ansible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationAnsible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationCumulus Networks
 

La actualidad más candente (20)

Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless Pipeline
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
Hashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsHashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOps
 
Container Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in productionContainer Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in production
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)Go Faster with Ansible (PHP meetup)
Go Faster with Ansible (PHP meetup)
 
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
AWS re:Invent 2016: Amazon ECR Deep Dive on Image Optimization (CON401)
 
Case Study: Using Terraform and Packer to deploy go applications to AWS
Case Study: Using Terraform and Packer to deploy go applications to AWSCase Study: Using Terraform and Packer to deploy go applications to AWS
Case Study: Using Terraform and Packer to deploy go applications to AWS
 
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container ServicePlay Framework + Docker + CircleCI + AWS + EC2 Container Service
Play Framework + Docker + CircleCI + AWS + EC2 Container Service
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with Chef
 
OpenStack Summit Vancouver: Lessons learned on upgrades
OpenStack Summit Vancouver:  Lessons learned on upgradesOpenStack Summit Vancouver:  Lessons learned on upgrades
OpenStack Summit Vancouver: Lessons learned on upgrades
 
Zero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and TerraformZero Code Multi-Cloud Automation with Ansible and Terraform
Zero Code Multi-Cloud Automation with Ansible and Terraform
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansible
 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
 
Ansible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network AutomationAnsible & Cumulus Networks - Simplify Network Automation
Ansible & Cumulus Networks - Simplify Network Automation
 

Destacado

Mardi Gras 'Intégration Continue'
Mardi Gras 'Intégration Continue'Mardi Gras 'Intégration Continue'
Mardi Gras 'Intégration Continue'Xavier Bourguignon
 
L’intégration continue chez AXA France
L’intégration continue chez AXA FranceL’intégration continue chez AXA France
L’intégration continue chez AXA FranceMicrosoft
 
Etat de l art business intelligence
Etat de l art business intelligenceEtat de l art business intelligence
Etat de l art business intelligenceJoseph Glorieux
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
Integration of automation framework with ci tools
Integration of automation framework with ci toolsIntegration of automation framework with ci tools
Integration of automation framework with ci toolsvodQA
 
02 continuous integration
02 continuous integration02 continuous integration
02 continuous integrationOlivier Locard
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?rfelden
 
Le cloud computing : de la location d’applications au run à la consommation
Le cloud computing :  de la location d’applications  au run à la consommationLe cloud computing :  de la location d’applications  au run à la consommation
Le cloud computing : de la location d’applications au run à la consommationXWiki
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDiego Lemos
 
Comparatif et superlatif
Comparatif et superlatifComparatif et superlatif
Comparatif et superlatifantjosegarcia
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 

Destacado (14)

TIAD : Full stack automation
TIAD : Full stack automationTIAD : Full stack automation
TIAD : Full stack automation
 
Mardi Gras 'Intégration Continue'
Mardi Gras 'Intégration Continue'Mardi Gras 'Intégration Continue'
Mardi Gras 'Intégration Continue'
 
L’intégration continue chez AXA France
L’intégration continue chez AXA FranceL’intégration continue chez AXA France
L’intégration continue chez AXA France
 
Présentation kanban
Présentation kanbanPrésentation kanban
Présentation kanban
 
Etat de l art business intelligence
Etat de l art business intelligenceEtat de l art business intelligence
Etat de l art business intelligence
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Integration of automation framework with ci tools
Integration of automation framework with ci toolsIntegration of automation framework with ci tools
Integration of automation framework with ci tools
 
02 continuous integration
02 continuous integration02 continuous integration
02 continuous integration
 
DevOps : mission [im]possible ?
DevOps : mission [im]possible ?DevOps : mission [im]possible ?
DevOps : mission [im]possible ?
 
Le cloud computing : de la location d’applications au run à la consommation
Le cloud computing :  de la location d’applications  au run à la consommationLe cloud computing :  de la location d’applications  au run à la consommation
Le cloud computing : de la location d’applications au run à la consommation
 
Devoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous DeliveryDevoxx 2016 - L'odyssée du Continuous Delivery
Devoxx 2016 - L'odyssée du Continuous Delivery
 
Comparatif et superlatif
Comparatif et superlatifComparatif et superlatif
Comparatif et superlatif
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 

Similar a TIAD : Automating the aplication lifecycle

321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewboxLino Telera
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to DeploymentAerospike, Inc.
 
Delivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDBDelivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDBJohn Bennett
 
Getting started with MariaDB with Docker
Getting started with MariaDB with DockerGetting started with MariaDB with Docker
Getting started with MariaDB with DockerMariaDB plc
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with DockerMariaDB plc
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)DOCOMO Innovations, Inc.
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1makker_nl
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)Simon Haslam
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewboxLino Telera
 
20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at Tempus20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at TempusDevOps Chicago
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
MariaDB on Docker
MariaDB on DockerMariaDB on Docker
MariaDB on DockerMariaDB plc
 

Similar a TIAD : Automating the aplication lifecycle (20)

321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Using Databases and Containers From Development to Deployment
Using Databases and Containers  From Development to DeploymentUsing Databases and Containers  From Development to Deployment
Using Databases and Containers From Development to Deployment
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Delivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDBDelivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDB
 
Getting started with MariaDB with Docker
Getting started with MariaDB with DockerGetting started with MariaDB with Docker
Getting started with MariaDB with Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
spring-cloud.pptx
spring-cloud.pptxspring-cloud.pptx
spring-cloud.pptx
 
20191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 120191201 kubernetes managed weblogic revival - part 1
20191201 kubernetes managed weblogic revival - part 1
 
The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)The Kubernetes WebLogic revival (part 1)
The Kubernetes WebLogic revival (part 1)
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
 
20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at Tempus20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at Tempus
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
MariaDB on Docker
MariaDB on DockerMariaDB on Docker
MariaDB on Docker
 

Más de The Incredible Automation Day

A smooth migration to Docker focusing on build pipelines - TIAD Camp Docker
A smooth migration to Docker focusing on build pipelines - TIAD Camp DockerA smooth migration to Docker focusing on build pipelines - TIAD Camp Docker
A smooth migration to Docker focusing on build pipelines - TIAD Camp DockerThe Incredible Automation Day
 
Docker in real life and in the Cloud - TIAD Camp Docker
Docker in real life and in the Cloud - TIAD Camp DockerDocker in real life and in the Cloud - TIAD Camp Docker
Docker in real life and in the Cloud - TIAD Camp DockerThe Incredible Automation Day
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerThe Incredible Automation Day
 
Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...The Incredible Automation Day
 
Opening Keynote - TIAD Camp Microsoft Cloud Readiness
Opening Keynote - TIAD Camp Microsoft Cloud ReadinessOpening Keynote - TIAD Camp Microsoft Cloud Readiness
Opening Keynote - TIAD Camp Microsoft Cloud ReadinessThe Incredible Automation Day
 
GitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
GitLab CI Packer - TIAD Camp Microsoft Cloud ReadinessGitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
GitLab CI Packer - TIAD Camp Microsoft Cloud ReadinessThe Incredible Automation Day
 
Active Directory - TIAD Camp Microsoft Cloud Readiness
Active Directory - TIAD Camp Microsoft Cloud ReadinessActive Directory - TIAD Camp Microsoft Cloud Readiness
Active Directory - TIAD Camp Microsoft Cloud ReadinessThe Incredible Automation Day
 
Application Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud ReadinessApplication Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud ReadinessThe Incredible Automation Day
 
Serverless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonServerless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonThe Incredible Automation Day
 
Operationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent BernailleOperationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent BernailleThe Incredible Automation Day
 
Build chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functionsBuild chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functionsThe Incredible Automation Day
 

Más de The Incredible Automation Day (20)

A smooth migration to Docker focusing on build pipelines - TIAD Camp Docker
A smooth migration to Docker focusing on build pipelines - TIAD Camp DockerA smooth migration to Docker focusing on build pipelines - TIAD Camp Docker
A smooth migration to Docker focusing on build pipelines - TIAD Camp Docker
 
Docker in real life and in the Cloud - TIAD Camp Docker
Docker in real life and in the Cloud - TIAD Camp DockerDocker in real life and in the Cloud - TIAD Camp Docker
Docker in real life and in the Cloud - TIAD Camp Docker
 
Orchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp DockerOrchestrating Docker in production - TIAD Camp Docker
Orchestrating Docker in production - TIAD Camp Docker
 
Monitoring in 2017 - TIAD Camp Docker
Monitoring in 2017 - TIAD Camp DockerMonitoring in 2017 - TIAD Camp Docker
Monitoring in 2017 - TIAD Camp Docker
 
Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...Strategy, planning and governance for enterprise deployments of containers - ...
Strategy, planning and governance for enterprise deployments of containers - ...
 
Cluster SQL - TIAD Camp Microsoft Cloud Readiness
Cluster SQL - TIAD Camp Microsoft Cloud ReadinessCluster SQL - TIAD Camp Microsoft Cloud Readiness
Cluster SQL - TIAD Camp Microsoft Cloud Readiness
 
Build the VPC - TIAD Camp Microsoft Cloud Readiness
Build the VPC - TIAD Camp Microsoft Cloud ReadinessBuild the VPC - TIAD Camp Microsoft Cloud Readiness
Build the VPC - TIAD Camp Microsoft Cloud Readiness
 
Opening Keynote - TIAD Camp Microsoft Cloud Readiness
Opening Keynote - TIAD Camp Microsoft Cloud ReadinessOpening Keynote - TIAD Camp Microsoft Cloud Readiness
Opening Keynote - TIAD Camp Microsoft Cloud Readiness
 
Replatforming - TIAD Camp Microsoft Cloud Readiness
Replatforming - TIAD Camp Microsoft Cloud ReadinessReplatforming - TIAD Camp Microsoft Cloud Readiness
Replatforming - TIAD Camp Microsoft Cloud Readiness
 
GitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
GitLab CI Packer - TIAD Camp Microsoft Cloud ReadinessGitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
GitLab CI Packer - TIAD Camp Microsoft Cloud Readiness
 
Active Directory - TIAD Camp Microsoft Cloud Readiness
Active Directory - TIAD Camp Microsoft Cloud ReadinessActive Directory - TIAD Camp Microsoft Cloud Readiness
Active Directory - TIAD Camp Microsoft Cloud Readiness
 
Application Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud ReadinessApplication Stack - TIAD Camp Microsoft Cloud Readiness
Application Stack - TIAD Camp Microsoft Cloud Readiness
 
Keynote TIAD Camp Serverless
Keynote TIAD Camp ServerlessKeynote TIAD Camp Serverless
Keynote TIAD Camp Serverless
 
From AIX to Zero-ops by Pierre Baillet
From AIX to Zero-ops by Pierre BailletFrom AIX to Zero-ops by Pierre Baillet
From AIX to Zero-ops by Pierre Baillet
 
Serverless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonServerless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric Guigon
 
Operationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent BernailleOperationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent Bernaille
 
Build chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functionsBuild chatbots with api.ai and Google cloud functions
Build chatbots with api.ai and Google cloud functions
 
Real time serverless data pipelines on AWS
Real time serverless data pipelines on AWSReal time serverless data pipelines on AWS
Real time serverless data pipelines on AWS
 
Azure functions
Azure functionsAzure functions
Azure functions
 
TIAD 2016 - Beyond windowsautomation
TIAD 2016 - Beyond windowsautomation TIAD 2016 - Beyond windowsautomation
TIAD 2016 - Beyond windowsautomation
 

Último

GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024GESCO SE
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...漢銘 謝
 
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptxerickamwana1
 
Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck.  .pptxChizaram's Women Tech Makers Deck.  .pptx
Chizaram's Women Tech Makers Deck. .pptxogubuikealex
 
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRRINDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRRsarwankumar4524
 
Engaging Eid Ul Fitr Presentation for Kindergartners.pptx
Engaging Eid Ul Fitr Presentation for Kindergartners.pptxEngaging Eid Ul Fitr Presentation for Kindergartners.pptx
Engaging Eid Ul Fitr Presentation for Kindergartners.pptxAsifArshad8
 
A Guide to Choosing the Ideal Air Cooler
A Guide to Choosing the Ideal Air CoolerA Guide to Choosing the Ideal Air Cooler
A Guide to Choosing the Ideal Air Coolerenquirieskenstar
 
proposal kumeneger edited.docx A kumeeger
proposal kumeneger edited.docx A kumeegerproposal kumeneger edited.docx A kumeeger
proposal kumeneger edited.docx A kumeegerkumenegertelayegrama
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...Sebastiano Panichella
 
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATIONRACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATIONRachelAnnTenibroAmaz
 
Internship Presentation | PPT | CSE | SE
Internship Presentation | PPT | CSE | SEInternship Presentation | PPT | CSE | SE
Internship Presentation | PPT | CSE | SESaleh Ibne Omar
 
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunityDon't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunityApp Ethena
 
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for  RA (1ST SEMQuality by design.. ppt for  RA (1ST SEM
Quality by design.. ppt for RA (1ST SEMCharmi13
 
cse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber securitycse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber securitysandeepnani2260
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Sebastiano Panichella
 
General Elections Final Press Noteas per M
General Elections Final Press Noteas per MGeneral Elections Final Press Noteas per M
General Elections Final Press Noteas per MVidyaAdsule1
 
Application of GIS in Landslide Disaster Response.pptx
Application of GIS in Landslide Disaster Response.pptxApplication of GIS in Landslide Disaster Response.pptx
Application of GIS in Landslide Disaster Response.pptxRoquia Salam
 

Último (17)

GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024GESCO SE Press and Analyst Conference on Financial Results 2024
GESCO SE Press and Analyst Conference on Financial Results 2024
 
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
 
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
05.02 MMC - Assignment 4 - Image Attribution Lovepreet.pptx
 
Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck.  .pptxChizaram's Women Tech Makers Deck.  .pptx
Chizaram's Women Tech Makers Deck. .pptx
 
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRRINDIAN GCP GUIDELINE. for Regulatory  affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
 
Engaging Eid Ul Fitr Presentation for Kindergartners.pptx
Engaging Eid Ul Fitr Presentation for Kindergartners.pptxEngaging Eid Ul Fitr Presentation for Kindergartners.pptx
Engaging Eid Ul Fitr Presentation for Kindergartners.pptx
 
A Guide to Choosing the Ideal Air Cooler
A Guide to Choosing the Ideal Air CoolerA Guide to Choosing the Ideal Air Cooler
A Guide to Choosing the Ideal Air Cooler
 
proposal kumeneger edited.docx A kumeeger
proposal kumeneger edited.docx A kumeegerproposal kumeneger edited.docx A kumeeger
proposal kumeneger edited.docx A kumeeger
 
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...Testing with Fewer Resources:  Toward Adaptive Approaches for Cost-effective ...
Testing with Fewer Resources: Toward Adaptive Approaches for Cost-effective ...
 
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATIONRACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
 
Internship Presentation | PPT | CSE | SE
Internship Presentation | PPT | CSE | SEInternship Presentation | PPT | CSE | SE
Internship Presentation | PPT | CSE | SE
 
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunityDon't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
Don't Miss Out: Strategies for Making the Most of the Ethena DigitalOpportunity
 
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for  RA (1ST SEMQuality by design.. ppt for  RA (1ST SEM
Quality by design.. ppt for RA (1ST SEM
 
cse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber securitycse-csp batch4 review-1.1.pptx cyber security
cse-csp batch4 review-1.1.pptx cyber security
 
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
Testing and Development Challenges for Complex Cyber-Physical Systems: Insigh...
 
General Elections Final Press Noteas per M
General Elections Final Press Noteas per MGeneral Elections Final Press Noteas per M
General Elections Final Press Noteas per M
 
Application of GIS in Landslide Disaster Response.pptx
Application of GIS in Landslide Disaster Response.pptxApplication of GIS in Landslide Disaster Response.pptx
Application of GIS in Landslide Disaster Response.pptx
 

TIAD : Automating the aplication lifecycle

  • 1. Automating the application lifecycle 19 mars 2015 . #TIAD . @tiadparis
  • 2. # TIAD@ tiadparis Who am I? 2 Laurent Bernaille @d2si • Linux background • Cloud enthousiast • Opensource advocate • Love discovering, building (and breaking…) new things • Passionate about the ongoing IT transformations @lbernail
  • 3. # TIAD@ tiadparis Story behind this talk/demo 3 A classic company with a « standard » on-premise IT New business objectives in a competitive space: IOT Creation of small, independant start-up teams Use of Amazon Web Services for agility and scalability An opportunity to use a new application delivery process
  • 4. # TIAD@ tiadparis Automating the application lifecyle: Objectives 4 Integrate a new application in hours instead of days Create a new environment in minutes instead of month Deploy a new version of the application in minutes instead of hours
  • 5. # TIAD@ tiadparis What it was (is?) like 5 DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS Traditional Continuous integration • Build a binary application artifact • WAR, JAR, RPM, DEB, ZIP Artifact Traditional Deployment • Build environments • Deploy the artifact in environments OPS Configured server(s) Staging Configured server(s) Production We can do better!
  • 6. # TIAD@ tiadparis Demo outline 6 1. Infrastructure build 1. Creation of application back-ends 2. Deployment of the application 3. New release
  • 7. # TIAD@ tiadparis Step 1: Build infrastructure automatically 7 Build a full environment from scratch • Subnets • Routing tables • Technical services
  • 8. # TIAD@ tiadparis Step 1: Build infrastructure automatically 7 CloudFormation Build a full environment from scratch • Subnets • Routing tables • Technical services Cloudformation • Describe infrastructure components • Build them • « puppet » for infrastructure • AWS only: see also Terraform / Heat
  • 9. # TIAD@ tiadparis Step 1: Build infrastructure automatically 7 CloudFormation Build a full environment from scratch • Subnets • Routing tables • Technical services eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets Cloudformation • Describe infrastructure components • Build them • « puppet » for infrastructure • AWS only: see also Terraform / Heat
  • 10. # TIAD@ tiadparis Step 1: Build infrastructure automatically 7 CloudFormation NAT NATBastion Build a full environment from scratch • Subnets • Routing tables • Technical services eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets Cloudformation • Describe infrastructure components • Build them • « puppet » for infrastructure • AWS only: see also Terraform / Heat
  • 11. # TIAD@ tiadparis Step 1: Build infrastructure automatically 7 CloudFormation NAT NATBastion Build a full environment from scratch • Subnets • Routing tables • Technical services eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets Why automate these rare actions? • Avoid errors • Create identical environments (Production, Staging) easily • Ability to deploy somewhere else very quickly • Not so rare • Easier to update Cloudformation • Describe infrastructure components • Build them • « puppet » for infrastructure • AWS only: see also Terraform / Heat
  • 12. # TIAD@ tiadparis Under the hood 8 NAT NATBastion eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets "VPC" : { "Type" : "AWS::EC2::VPC", "Properties" : { "CidrBlock" : "10.100.0.0/16" } ”PublicSubnet1" : { "Type" : "AWS::EC2::Subnet", "Properties" : { "VpcId" : { "Ref" : "VPC" }, "AvailabilityZone" : "eu-west-1a" "CidrBlock” : "10.100.1.0/25” } } "NatInstance1" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : "ami-6e7bd919", "InstanceType" : "t2.micro" "SourceDestCheck" : "False", "UserData” : { "Fn::Base64" : { "Fn::Join" : [”n", [ "#!/bin/bash", "echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf", "sysctl -p, "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE", "iptables-save > /etc/sysconfig/iptables" ]]}} } }
  • 13. # TIAD@ tiadparis Step 2: Build application components 9 Build all the backends • Databases • Buckets • Cache servers • Queues & Topics NAT NATBastion eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets
  • 14. # TIAD@ tiadparis Step 2: Build application components 9 CloudFormation Build all the backends • Databases • Buckets • Cache servers • Queues & Topics NAT NATBastion eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets DynamoDB DynamoDB • AWS NoSQL database • « Cassandra as a service »
  • 15. # TIAD@ tiadparis Step 2: Build application components 9 CloudFormation Build all the backends • Databases • Buckets • Cache servers • Queues & Topics NAT NATBastion eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets Why separate from servers where the application run? • Different lifecycle • Can be shared between releases DynamoDB DynamoDB • AWS NoSQL database • « Cassandra as a service »
  • 16. # TIAD@ tiadparis Difficulty: managing variables 10 VPC Addresses Subnets Instance types Infra template
  • 17. # TIAD@ tiadparis Difficulty: managing variables 10 VPC Addresses Subnets Instance types Infra template Parameters
  • 18. # TIAD@ tiadparis Difficulty: managing variables 10 VPC Addresses Subnets Instance types Infra template Parameters Backend template VPC Id Subnet Ids DB Name
  • 19. # TIAD@ tiadparis Difficulty: managing variables 10 VPC Addresses Subnets Instance types Infra template Parameters Backend template VPC Id Subnet Ids DB Name
  • 20. # TIAD@ tiadparis Difficulty: managing variables 10 VPC Addresses Subnets Instance types Infra template Parameters Backend template VPC Id Subnet Ids DB Name ? ?
  • 21. # TIAD@ tiadparis Difficulty: managing variables 10 VPC Addresses Subnets Instance types Infra template Parameters Backend template VPC Id Subnet Ids DB Name ? ? Wrapper to manage inputs/outputs Outputs
  • 22. # TIAD@ tiadparis Step 3: Deploy application 11 Deploy application • Load-balancers • Servers • DNS Alias NAT NATBastion eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets DynamoDB
  • 23. # TIAD@ tiadparis Step 3: Deploy application 11 CloudFormation Deploy application • Load-balancers • Servers • DNS Alias NAT NATBastion eu-west-1a Public subnets Private subnets eu-west-1b Public subnets Private subnets DynamoDB WEB WEB Load-balancer included to allow deployment of several versions Web server is built from an image with application pre-installed
  • 24. # TIAD@ tiadparis Difficulty: managing variables, again 12 VPC Addresses Subnets Instance types Infra template Backend template VPC Id Subnet Ids DB Name Outputs Application template Instance Types DB Name
  • 25. # TIAD@ tiadparis Difficulty: managing variables, again 12 VPC Addresses Subnets Instance types Infra template Backend template VPC Id Subnet Ids DB Name Outputs Application template Instance Types DB Name WEB DynamoDB ?
  • 26. # TIAD@ tiadparis Difficulty: managing variables, again 12 VPC Addresses Subnets Instance types Infra template Backend template VPC Id Subnet Ids DB Name Outputs Application template Instance Types DB Name WEB DynamoDB ? "UserData” : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bashn", "echo ", { "Ref" : "Properties" } ," >> /var/www/html/application.propertiesn” ]]}} Properties Properties
  • 27. # TIAD@ tiadparis Updating the application: the old-fashion way 13 DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS Traditional Continuous integration • Build a binary application artifact • WAR, JAR, RPM, DEB, ZIP Artifact Traditional Deployment • Use previously built environments • Deploy the artifact OPS Configured server(s) Staging Configured server(s) Production Environments will drift
  • 28. # TIAD@ tiadparis Updating the application: with config management 14 Environments can still drift Not suited for autoscaling DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS Traditional Continuous integration • Build a binary application artifact • WAR, JAR, RPM, DEB, ZIP Artifact Use config management tools • Same recipes across environments • Same artefact across environments • Manual application deployment OPS Configured server(s) Staging Configured server(s) Production
  • 29. # TIAD@ tiadparis Updating the application: in the cloud 15 Building can take a while Some drift still possible DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS Traditional Continuous integration • Build a binary application artifact • WAR, JAR, RPM, DEB, ZIP Artifact Use config management tools • Same recipes across environments • Same artefact across environments • Deploy application at server start OPS Configured server(s) Staging Configured server(s) Production
  • 30. # TIAD@ tiadparis Updating the application 16 DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS New Continuous integration • Build an application artifact • Build a server image Artifact OPS Staging Production
  • 31. # TIAD@ tiadparis Updating the application 16 DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS New Continuous integration • Build an application artifact • Build a server image Artifact OPS Staging Production Provision, Config, deploy Reference templatesBuild Application templates
  • 32. # TIAD@ tiadparis Updating the application 16 DEV Version Control System Continuous Integration Analyse code Build Repository Push code to VCS New Continuous integration • Build an application artifact • Build a server image Artifact OPS Configured server(s) Staging Configured server(s) Production Provision, Config, deploy Reference templatesBuild Application templates
  • 33. # TIAD@ tiadparis Demo 17 Push code Integration AWS images AWS Application templates Web hook Packer • Automate the creation of templates • Developped by @mitchellh / @hashicorp
  • 34. # TIAD@ tiadparis Demo 17 Push code Integration AWS images AWS Application templates Web hook Build WEB WEB Packer • Automate the creation of templates • Developped by @mitchellh / @hashicorp
  • 35. # TIAD@ tiadparis Packer 18 "builders": [{ "type": "amazon-ebs", "region": ”eu-west-1", "source_ami": "ami-f0b11187", "instance_type": "t2.small", "ssh_username": "ubuntu", "ami_name": "demo-{{isotime "2006-01-02T15-04-05"}}" }], "provisioners": [ { "type": "file", "source": "/jenkins_workspace/site", "destination": "/tmp/www" }, { "type": "shell", "inline": [ "sudo apt-get update", "sudo apt-get install -y apache2 php5 libapache2-mod-php5 php5-curl php5-mysql", "sudo rm /var/www/html/*", "sudo mv /tmp/www/* /var/www/html", "sudo service apache2 restart" ] }]
  • 36. # TIAD@ tiadparis 19 Push code Continuous Integration Application templates IntegrationPerspectives
  • 37. # TIAD@ tiadparis 19 Production Push code Continuous Integration Application templates Integration Prod DNS Perspectives
  • 38. # TIAD@ tiadparis 19 Production Push code Continuous Integration Application templates Integration Prod DNS Perspectives
  • 39. # TIAD@ tiadparis 19 Production Test Push code Continuous Integration Application templates Integration Prod DNS Perspectives
  • 40. # TIAD@ tiadparis 19 Production Test Push code Continuous Integration Application templates Integration Prod DNS Perspectives
  • 41. # TIAD@ tiadparis 19 Production Test Push code Continuous Integration Application templates Integration Prod DNS Perspectives
  • 42. # TIAD@ tiadparis Key take-aways 20 Everything can be automated Very important change: Immutable servers • New application artifact: Images / Containers • Very challenging for organizations
  • 43. # TIAD@ tiadparis Thank you @lbernail Fork the code of this demo on github https://github.com/lbernail/demo