SlideShare a Scribd company logo
© 2017 Pronko Consulting www.pronkoconsulting.com
DEPLOYMENT AUTOMATION:
FROM 6 HOURS TO 15 MINUTES
© 2017 Pronko Consulting www.pronkoconsulting.com
Max Pronko
CTO @ The Irish Store & Gifts Direct
Founder @ Pronko Consulting
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Ground Rules
• Ask me anything at any time - Q&A
• There are no silly questions
• Lots of pictures on Twitter :)
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Agenda
• Our releases in 2016
• New releases in 2017
• Magento 2 Adjustments
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
About The Irish Store
• Best Magento 1 to Magento 2 migration Award 2017
• On Magento 2 since September 2016
• 4k Catalog
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
About The Irish Store - Development
• Scrum - 2 weeks
• New feature - new module
• New module - new repository
• Staging testing
• Release
• Production testing
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
The Irish Store - Infrastructure
EFS
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Release Process 2016
75 manual steps
5 servers
SSH + AWS
Peer deployment
Errors
6 HOURS
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Our Release Goals
• Faster rollbacks
• No downtime
• Avoid "empty cache" state
• Pre-deploy testing availability
• Immutable system
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Release Process
75 manual steps
5 servers
SSH + AWS
Peer deployment
Errors
3 clicks
Blue Green
Deployment
20172016
15 MINUTES6 HOURS
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Blue Green Deployment
Deployment
Blue
Current
Green Production
© 2017 Pronko Consulting www.pronkoconsulting.com
AWS Code Deploy
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
AWS Code Deploy
• EC2 Instances
• Security Groups
• Auto Scaling Groups
• Load Balancers
• In-place & Blue/Green
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Overview
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
AppSpec File
version: 0.0
os: linux
files:
- source: /
destination: /var/www/magento
permissions:
- object: /
owner: magento
group: www-data
hooks:
BeforeInstall:
- location: staging-before-install.sh
timeout: 600
appspec.yml
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Hooks
ApplicationStopStart DownloadBundle
Install
End
BeforeInstall AfterInstall
ApplicationStart ValidateService
© 2017 Pronko Consulting www.pronkoconsulting.com
The Irish Store Deployment
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Deployment Groups
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Deployments
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Individual Deployment
15 mins 31 secs
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Magento 2 Deployment Instructions
BeforeInstall AfterInstall ValidateService
• Server Cleanup • Install dependencies
• User
• Permissions
• Prepare Magento 2
• Check Magento 2
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
• Server Cleanup
• New Relic
• Install dependencies
• User
• Permissions
• Prepare Magento 2
• Prepare Varnish IPs
• Prepare env.php
• Attach EFS
• Prepare Sitemap
The Irish Store + Magento 2
BeforeInstall AfterInstall ValidateService
• Check Magento 2
• Env check
© 2017 Pronko Consulting www.pronkoconsulting.com
Magento 2 Adjustments
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Database Deployments
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Static Content Version
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
File Permissions Checks
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Sitemap & Robots
© 2017 Pronko Consulting www.pronkoconsulting.com
Lessons Learned
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
Lessons Learned
• Disable crontab during deployments
• Deploy frontend servers first
• Avoid database changes in Install/Upgrade scripts
© 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com
More Information
• https://docs.cloudfoundry.org/devguide/deploy-apps/blue-green.html
• https://aws.amazon.com/codedeploy/
• www.maxpronko.com/blog
© 2017 Pronko Consulting www.pronkoconsulting.com
www.maxpronko.com
www.pronkoconsulting.com
@max_pronko
Thank You

More Related Content

What's hot

Apache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyondApache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyond
Bowen Li
 
ETL Patterns with Postgres
ETL Patterns with PostgresETL Patterns with Postgres
ETL Patterns with Postgres
Martin Loetzsch
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
rockplace
 
iptables 101- bottom-up
iptables 101- bottom-upiptables 101- bottom-up
iptables 101- bottom-up
HungWei Chiu
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Odinot Stanislas
 
Welcome to the Flink Community!
Welcome to the Flink Community!Welcome to the Flink Community!
Welcome to the Flink Community!
Flink Forward
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
XavierPestel
 
How Sentry can help us with bugs
How Sentry can help us with bugsHow Sentry can help us with bugs
How Sentry can help us with bugs
Erison Silva
 
How to configure a hive high availability connection with zeppelin
How to configure a hive high availability connection with zeppelinHow to configure a hive high availability connection with zeppelin
How to configure a hive high availability connection with zeppelin
Tiago Simões
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
Kokou Gaglo
 
React js use contexts and useContext hook
React js use contexts and useContext hookReact js use contexts and useContext hook
React js use contexts and useContext hook
Piyush Jamwal
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratch
All Things Open
 
InfluxDB Roadmap: What’s New and What’s Coming
InfluxDB Roadmap: What’s New and What’s ComingInfluxDB Roadmap: What’s New and What’s Coming
InfluxDB Roadmap: What’s New and What’s Coming
InfluxData
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
SrirakshaSrinivasan2
 
Airflow Clustering and High Availability
Airflow Clustering and High AvailabilityAirflow Clustering and High Availability
Airflow Clustering and High Availability
Robert Sanders
 
Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2
Michael Brown
 
Implementing High Availability Caching with Memcached
Implementing High Availability Caching with MemcachedImplementing High Availability Caching with Memcached
Implementing High Availability Caching with Memcached
Gear6
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
PyData
 
Zero Data Loss Recovery Appliance - Deep Dive
Zero Data Loss Recovery Appliance - Deep DiveZero Data Loss Recovery Appliance - Deep Dive
Zero Data Loss Recovery Appliance - Deep Dive
Daniele Massimi
 

What's hot (20)

Apache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyondApache Flink 101 - the rise of stream processing and beyond
Apache Flink 101 - the rise of stream processing and beyond
 
ETL Patterns with Postgres
ETL Patterns with PostgresETL Patterns with Postgres
ETL Patterns with Postgres
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
 
Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성 Jenkins를 활용한 Openshift CI/CD 구성
Jenkins를 활용한 Openshift CI/CD 구성
 
iptables 101- bottom-up
iptables 101- bottom-upiptables 101- bottom-up
iptables 101- bottom-up
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Welcome to the Flink Community!
Welcome to the Flink Community!Welcome to the Flink Community!
Welcome to the Flink Community!
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
How Sentry can help us with bugs
How Sentry can help us with bugsHow Sentry can help us with bugs
How Sentry can help us with bugs
 
How to configure a hive high availability connection with zeppelin
How to configure a hive high availability connection with zeppelinHow to configure a hive high availability connection with zeppelin
How to configure a hive high availability connection with zeppelin
 
Intégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec JenkinsIntégration continue et déploiement continue avec Jenkins
Intégration continue et déploiement continue avec Jenkins
 
React js use contexts and useContext hook
React js use contexts and useContext hookReact js use contexts and useContext hook
React js use contexts and useContext hook
 
How to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratchHow to build a Kubernetes networking solution from scratch
How to build a Kubernetes networking solution from scratch
 
InfluxDB Roadmap: What’s New and What’s Coming
InfluxDB Roadmap: What’s New and What’s ComingInfluxDB Roadmap: What’s New and What’s Coming
InfluxDB Roadmap: What’s New and What’s Coming
 
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdfOracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
Oracle_Multitenant_19c_-_All_About_Pluggable_D.pdf
 
Airflow Clustering and High Availability
Airflow Clustering and High AvailabilityAirflow Clustering and High Availability
Airflow Clustering and High Availability
 
Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2Automating Your Clone in E-Business Suite R12.2
Automating Your Clone in E-Business Suite R12.2
 
Implementing High Availability Caching with Memcached
Implementing High Availability Caching with MemcachedImplementing High Availability Caching with Memcached
Implementing High Availability Caching with Memcached
 
How I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with AirflowHow I learned to time travel, or, data pipelining and scheduling with Airflow
How I learned to time travel, or, data pipelining and scheduling with Airflow
 
Zero Data Loss Recovery Appliance - Deep Dive
Zero Data Loss Recovery Appliance - Deep DiveZero Data Loss Recovery Appliance - Deep Dive
Zero Data Loss Recovery Appliance - Deep Dive
 

Similar to Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko

ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
Dakiry
 
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopSuccesses, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
DataWorks Summit/Hadoop Summit
 
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
Gene Kim
 
Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)
Acquia
 
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Michael Blumenthal (Microsoft MVP)
 
BelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the BrowserBelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the Browser
Eamonn Boyle
 
Cwin16 tls-s2-0945-going cloud native
Cwin16 tls-s2-0945-going cloud nativeCwin16 tls-s2-0945-going cloud native
Cwin16 tls-s2-0945-going cloud native
Capgemini
 
Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering
Igor Miniailo
 
Measuring what matters
Measuring what mattersMeasuring what matters
Measuring what matters
Cliff Crocker
 
Edge 2016 measuring what matters
Edge 2016 measuring what mattersEdge 2016 measuring what matters
Edge 2016 measuring what matters
akamaidevrel
 
Integrated Plan-Build-Operate for effective Multi-Access Rollout
Integrated Plan-Build-Operate for effective Multi-Access RolloutIntegrated Plan-Build-Operate for effective Multi-Access Rollout
Integrated Plan-Build-Operate for effective Multi-Access Rollout
Kiran Solipuram. DEP, CFHP
 
Accelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD EnvironmentAccelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD Environment
Amazon Web Services
 
Low Friction Continuous Delivery: Going From 0 to 1 with Drupal and Acquia
Low Friction Continuous Delivery: Going From 0 to 1 with Drupal and AcquiaLow Friction Continuous Delivery: Going From 0 to 1 with Drupal and Acquia
Low Friction Continuous Delivery: Going From 0 to 1 with Drupal and Acquia
Acquia
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
Gene Kim
 
The state of IPv6 at Swiss cloud providers
The state of IPv6 at Swiss cloud providersThe state of IPv6 at Swiss cloud providers
The state of IPv6 at Swiss cloud providers
Aarno Aukia
 
SplunkLive! London 2017 - Splunk Enterprise for IT Troubleshooting
SplunkLive! London 2017 - Splunk Enterprise for IT TroubleshootingSplunkLive! London 2017 - Splunk Enterprise for IT Troubleshooting
SplunkLive! London 2017 - Splunk Enterprise for IT Troubleshooting
Splunk
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
luisw19
 
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Meet Magento Italy
 
Building Web Apps & APIs With Node JS
Building Web Apps & APIs With Node JSBuilding Web Apps & APIs With Node JS
Building Web Apps & APIs With Node JS
Lohith Goudagere Nagaraj
 
Max Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & QualityMax Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & Quality
Meet Magento Italy
 

Similar to Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko (20)

ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
ROMA NOVIKOV, BAQ, "Prometheus + grafana based monitoring"
 
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to HadoopSuccesses, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
Successes, Challenges, and Pitfalls Migrating a SAAS business to Hadoop
 
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
DOES16 San Francisco - Marc Ng - SAP’s DevOps Journey: From Building an App t...
 
Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)
 
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
 
BelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the BrowserBelTech 2017 - Building Quality in the Browser
BelTech 2017 - Building Quality in the Browser
 
Cwin16 tls-s2-0945-going cloud native
Cwin16 tls-s2-0945-going cloud nativeCwin16 tls-s2-0945-going cloud native
Cwin16 tls-s2-0945-going cloud native
 
Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering Dare to Share Magento Community Engineering
Dare to Share Magento Community Engineering
 
Measuring what matters
Measuring what mattersMeasuring what matters
Measuring what matters
 
Edge 2016 measuring what matters
Edge 2016 measuring what mattersEdge 2016 measuring what matters
Edge 2016 measuring what matters
 
Integrated Plan-Build-Operate for effective Multi-Access Rollout
Integrated Plan-Build-Operate for effective Multi-Access RolloutIntegrated Plan-Build-Operate for effective Multi-Access Rollout
Integrated Plan-Build-Operate for effective Multi-Access Rollout
 
Accelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD EnvironmentAccelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD Environment
 
Low Friction Continuous Delivery: Going From 0 to 1 with Drupal and Acquia
Low Friction Continuous Delivery: Going From 0 to 1 with Drupal and AcquiaLow Friction Continuous Delivery: Going From 0 to 1 with Drupal and Acquia
Low Friction Continuous Delivery: Going From 0 to 1 with Drupal and Acquia
 
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
DOES16 London - Darren Hague - SAP’s DevOps Journey: From Building an App to ...
 
The state of IPv6 at Swiss cloud providers
The state of IPv6 at Swiss cloud providersThe state of IPv6 at Swiss cloud providers
The state of IPv6 at Swiss cloud providers
 
SplunkLive! London 2017 - Splunk Enterprise for IT Troubleshooting
SplunkLive! London 2017 - Splunk Enterprise for IT TroubleshootingSplunkLive! London 2017 - Splunk Enterprise for IT Troubleshooting
SplunkLive! London 2017 - Splunk Enterprise for IT Troubleshooting
 
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle CloudUKOUG - Implementing Enterprise API Management in the Oracle Cloud
UKOUG - Implementing Enterprise API Management in the Oracle Cloud
 
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
Max Pronko - 10 migration mistakes from Magento 1 to Magento 2
 
Building Web Apps & APIs With Node JS
Building Web Apps & APIs With Node JSBuilding Web Apps & APIs With Node JS
Building Web Apps & APIs With Node JS
 
Max Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & QualityMax Yekaterinenko - Magento 2 & Quality
Max Yekaterinenko - Magento 2 & Quality
 

More from Max Pronko

Mastering Declarative Database Schema - MageConf 2019
Mastering Declarative Database Schema - MageConf 2019Mastering Declarative Database Schema - MageConf 2019
Mastering Declarative Database Schema - MageConf 2019
Max Pronko
 
Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2
Max Pronko
 
Checkout Customizations in Magento 2 - MageTitansMCR 2017
Checkout Customizations in Magento 2 - MageTitansMCR 2017Checkout Customizations in Magento 2 - MageTitansMCR 2017
Checkout Customizations in Magento 2 - MageTitansMCR 2017
Max Pronko
 
Checkout in Magento 2 by Max Pronko
Checkout in Magento 2 by Max PronkoCheckout in Magento 2 by Max Pronko
Checkout in Magento 2 by Max Pronko
Max Pronko
 
Real use cases of performance optimization in magento 2
Real use cases of performance optimization in magento 2Real use cases of performance optimization in magento 2
Real use cases of performance optimization in magento 2
Max Pronko
 
Ups and Downs of Real Projects Based on Magento 2
Ups and Downs of Real Projects Based on Magento 2Ups and Downs of Real Projects Based on Magento 2
Ups and Downs of Real Projects Based on Magento 2
Max Pronko
 
Key Insights into Development Design Patterns for Magento 2 - Magento Live UK
Key Insights into Development Design Patterns for Magento 2 - Magento Live UKKey Insights into Development Design Patterns for Magento 2 - Magento Live UK
Key Insights into Development Design Patterns for Magento 2 - Magento Live UK
Max Pronko
 
Magento 2 Design Patterns
Magento 2 Design PatternsMagento 2 Design Patterns
Magento 2 Design Patterns
Max Pronko
 
Zepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalZepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_Final
Max Pronko
 

More from Max Pronko (9)

Mastering Declarative Database Schema - MageConf 2019
Mastering Declarative Database Schema - MageConf 2019Mastering Declarative Database Schema - MageConf 2019
Mastering Declarative Database Schema - MageConf 2019
 
Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2Service Oriented Architecture in Magento 2
Service Oriented Architecture in Magento 2
 
Checkout Customizations in Magento 2 - MageTitansMCR 2017
Checkout Customizations in Magento 2 - MageTitansMCR 2017Checkout Customizations in Magento 2 - MageTitansMCR 2017
Checkout Customizations in Magento 2 - MageTitansMCR 2017
 
Checkout in Magento 2 by Max Pronko
Checkout in Magento 2 by Max PronkoCheckout in Magento 2 by Max Pronko
Checkout in Magento 2 by Max Pronko
 
Real use cases of performance optimization in magento 2
Real use cases of performance optimization in magento 2Real use cases of performance optimization in magento 2
Real use cases of performance optimization in magento 2
 
Ups and Downs of Real Projects Based on Magento 2
Ups and Downs of Real Projects Based on Magento 2Ups and Downs of Real Projects Based on Magento 2
Ups and Downs of Real Projects Based on Magento 2
 
Key Insights into Development Design Patterns for Magento 2 - Magento Live UK
Key Insights into Development Design Patterns for Magento 2 - Magento Live UKKey Insights into Development Design Patterns for Magento 2 - Magento Live UK
Key Insights into Development Design Patterns for Magento 2 - Magento Live UK
 
Magento 2 Design Patterns
Magento 2 Design PatternsMagento 2 Design Patterns
Magento 2 Design Patterns
 
Zepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_FinalZepplin_Pronko_Magento_Festival Hall 1_Final
Zepplin_Pronko_Magento_Festival Hall 1_Final
 

Recently uploaded

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 

Recently uploaded (20)

GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 

Magento 2 Deployment Automation: from 6 hours to 15 minutes - Max Pronko

  • 1. © 2017 Pronko Consulting www.pronkoconsulting.com DEPLOYMENT AUTOMATION: FROM 6 HOURS TO 15 MINUTES
  • 2. © 2017 Pronko Consulting www.pronkoconsulting.com Max Pronko CTO @ The Irish Store & Gifts Direct Founder @ Pronko Consulting
  • 3. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Ground Rules • Ask me anything at any time - Q&A • There are no silly questions • Lots of pictures on Twitter :)
  • 4. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Agenda • Our releases in 2016 • New releases in 2017 • Magento 2 Adjustments
  • 5. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com About The Irish Store • Best Magento 1 to Magento 2 migration Award 2017 • On Magento 2 since September 2016 • 4k Catalog
  • 6. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com About The Irish Store - Development • Scrum - 2 weeks • New feature - new module • New module - new repository • Staging testing • Release • Production testing
  • 7. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com The Irish Store - Infrastructure EFS
  • 8. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Release Process 2016 75 manual steps 5 servers SSH + AWS Peer deployment Errors 6 HOURS
  • 9. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Our Release Goals • Faster rollbacks • No downtime • Avoid "empty cache" state • Pre-deploy testing availability • Immutable system
  • 10. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Release Process 75 manual steps 5 servers SSH + AWS Peer deployment Errors 3 clicks Blue Green Deployment 20172016 15 MINUTES6 HOURS
  • 11. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Blue Green Deployment Deployment Blue Current Green Production
  • 12. © 2017 Pronko Consulting www.pronkoconsulting.com AWS Code Deploy
  • 13. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com AWS Code Deploy • EC2 Instances • Security Groups • Auto Scaling Groups • Load Balancers • In-place & Blue/Green
  • 14. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Overview
  • 15. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com AppSpec File version: 0.0 os: linux files: - source: / destination: /var/www/magento permissions: - object: / owner: magento group: www-data hooks: BeforeInstall: - location: staging-before-install.sh timeout: 600 appspec.yml
  • 16. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Hooks ApplicationStopStart DownloadBundle Install End BeforeInstall AfterInstall ApplicationStart ValidateService
  • 17. © 2017 Pronko Consulting www.pronkoconsulting.com The Irish Store Deployment
  • 18. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Deployment Groups
  • 19. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Deployments
  • 20. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Individual Deployment 15 mins 31 secs
  • 21. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Magento 2 Deployment Instructions BeforeInstall AfterInstall ValidateService • Server Cleanup • Install dependencies • User • Permissions • Prepare Magento 2 • Check Magento 2
  • 22. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com • Server Cleanup • New Relic • Install dependencies • User • Permissions • Prepare Magento 2 • Prepare Varnish IPs • Prepare env.php • Attach EFS • Prepare Sitemap The Irish Store + Magento 2 BeforeInstall AfterInstall ValidateService • Check Magento 2 • Env check
  • 23. © 2017 Pronko Consulting www.pronkoconsulting.com Magento 2 Adjustments
  • 24. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Database Deployments
  • 25. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Static Content Version
  • 26. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com File Permissions Checks
  • 27. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Sitemap & Robots
  • 28. © 2017 Pronko Consulting www.pronkoconsulting.com Lessons Learned
  • 29. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com Lessons Learned • Disable crontab during deployments • Deploy frontend servers first • Avoid database changes in Install/Upgrade scripts
  • 30. © 2016 Magento, Inc.© 2017 Pronko Consulting www.pronkoconsulting.com More Information • https://docs.cloudfoundry.org/devguide/deploy-apps/blue-green.html • https://aws.amazon.com/codedeploy/ • www.maxpronko.com/blog
  • 31. © 2017 Pronko Consulting www.pronkoconsulting.com www.maxpronko.com www.pronkoconsulting.com @max_pronko Thank You