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

More Related Content

What's hot

Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28Introduction openstack-meetup-nov-28
Introduction openstack-meetup-nov-28
Sadique Puthen
 
Building a Serverless Pipeline
Building a Serverless PipelineBuilding a Serverless Pipeline
Building a Serverless Pipeline
Julien SIMON
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
Martin Etmajer
 
Hashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOpsHashicorp: Delivering the Tao of DevOps
Hashicorp: Delivering the Tao of DevOps
Ramit Surana
 
Container Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in productionContainer Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in production
Mike 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 Ansible
Jeff 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 AWS
Patrick 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 Service
Josh 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 Openstack
Bobby DeVeaux, DevOps Consultant
 
OpenStack Deployments with Chef
OpenStack Deployments with ChefOpenStack Deployments with Chef
OpenStack Deployments with Chef
Matt 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 upgrades
Fré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 Terraform
Avi Networks
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
DataStax Academy
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
Jinho 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 Ansible
fmaccioni
 
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 Automation
Cumulus Networks
 

What's hot (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
 

Viewers also liked

TIAD : Full stack automation
TIAD : Full stack automationTIAD : Full stack automation
TIAD : Full stack automation
The Incredible Automation Day
 
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 France
Microsoft
 
Etat de l art business intelligence
Etat de l art business intelligenceEtat de l art business intelligence
Etat de l art business intelligence
Joseph Glorieux
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
Julian 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 tools
vodQA
 
02 continuous integration
02 continuous integration02 continuous integration
02 continuous integration
Olivier 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 Delivery
Diego Lemos
 
Comparatif et superlatif
Comparatif et superlatifComparatif et superlatif
Comparatif et superlatif
antjosegarcia
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
Laurent Tardif
 

Viewers also liked (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 to TIAD : Automating the aplication lifecycle

321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
Lino 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 2018
Mandi Walls
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
Vinay 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 Deployment
Aerospike, Inc.
 
SD Times - Docker v2
SD Times - Docker v2SD Times - Docker v2
SD Times - Docker v2
Alvin Richards
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
Docker, 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 RavenDB
John Bennett
 
Getting started with MariaDB with Docker
Getting started with MariaDB with DockerGetting started with MariaDB with Docker
Getting started with MariaDB with Docker
MariaDB plc
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
MariaDB 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 2013
dotCloud
 
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.
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
Sujai Sivasamy
 
spring-cloud.pptx
spring-cloud.pptxspring-cloud.pptx
spring-cloud.pptx
ssuser7959eb
 
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
makker_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 brewbox
Lino 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 Tempus
DevOps 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 2015
WaveMaker, Inc.
 
MariaDB on Docker
MariaDB on DockerMariaDB on Docker
MariaDB on Docker
MariaDB plc
 

Similar to 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
 

More from 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 Docker
The 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 Docker
The 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 Docker
The Incredible Automation Day
 
Monitoring in 2017 - TIAD Camp Docker
Monitoring in 2017 - TIAD Camp DockerMonitoring in 2017 - TIAD Camp Docker
Monitoring in 2017 - TIAD Camp Docker
The 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
 
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
The Incredible Automation Day
 
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
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 Readiness
The Incredible Automation Day
 
Replatforming - TIAD Camp Microsoft Cloud Readiness
Replatforming - TIAD Camp Microsoft Cloud ReadinessReplatforming - TIAD Camp Microsoft Cloud Readiness
Replatforming - TIAD Camp Microsoft Cloud Readiness
The 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 Readiness
The 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 Readiness
The 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 Readiness
The Incredible Automation Day
 
Keynote TIAD Camp Serverless
Keynote TIAD Camp ServerlessKeynote TIAD Camp Serverless
Keynote TIAD Camp Serverless
The Incredible Automation Day
 
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
The 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 Guigon
The 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 Bernaille
The 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 functions
The Incredible Automation Day
 
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
The Incredible Automation Day
 
Azure functions
Azure functionsAzure functions
TIAD 2016 - Beyond windowsautomation
TIAD 2016 - Beyond windowsautomation TIAD 2016 - Beyond windowsautomation
TIAD 2016 - Beyond windowsautomation
The Incredible Automation Day
 

More from 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
 

Recently uploaded

BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdfBRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
Robin Haunschild
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptxThe remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
JiteshKumarChoudhary2
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
samililja
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
kainatfatyma9
 
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
gpww3sf4
 
Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
RIDHIMAGARG21
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
OECD Directorate for Financial and Enterprise Affairs
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Ben Linders
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
OECD Directorate for Financial and Enterprise Affairs
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
 

Recently uploaded (20)

BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdfBRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
 
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptxThe remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
 
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
 
Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
 
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
 

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