SlideShare a Scribd company logo
11/18/2019
Create a One
Click Migration
(OCM) Process to
Automate
Repeatable
Infrastructure
migration With
Salt
Giandomenico Avelluto
Lead Site Reliability Engineer @Quantyca
giandomenico.avelluto@quantyca.it
https://www.linkedin.com/in/giandomenico-avelluto
Who Am I ?
➔ Introduction
➔ Project Overview
➔ Challenges
➔ Solutions
➔ Benefits
Agenda
Introduction
A consulting company
specialized in:
● Data Management
utilizing advanced
analytical tools
● Data Strategy
making data a
corporate asset
What Quantyca is
Goal And Context
● Massive scale
deployments
● Event-Driven
● Extensibility
Why Quantyca Chooses
SaltStack
Salt Terminology
LastMinute
Project
Overview
● A leading European
travel company
● Portfolio of well-known
brands
Who LastMinute is
Overview
Goal And Context
Move Data Warehouse Infrastructure from AWS to
EvoSwitch Data Center:
● 40 TB of data
● 5000 ETL Workflows
● 42 servers
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Overview
Architecture
Components to migrate:
● ETL workflows
● Database
● Reporting tool
Challenges
● Make Migration fast
● A repeatable process
● Trace the status of individual task
execution
Challenges
Business Requirements
● ETL workflows needs refactor
● Lots of operations needed. Client requested
a commitment for additional resources
Challenges
Attention Points
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Solutions
VS
● Lots of resources
needed
● Possibility of human
errors
● Strict coordination
between teams necessary
● Migration can take long
periods of time
● Fewer resources
involved
● Coordination is
ensured by the
orchestration tool
code
● Human error is
avoided
● Better performance
● Code reusability
Solutions
Automate
Use SaltStack to:
● Automate overall process
● Take advantage of Salt State System and its
idempotency model
● Perform parallel tasks, when possible
● Use Slack to trigger the migration and to
track steps status
Solutions
Integrate
Integrate the “Quantyca Migration Tool (QMT)”
in Salt to:
● Analyze workflow source code
● Apply changes automatically
Andrea Macchi
Head of Quantyca Support Team
“Flight Plan”“Flight Plan”
A way to rule them all
Our “Flight” Plan
Usefulness
● Definition of the individual migration
activities
● Keep track of activities priorities and
dependencies
● Identification of tasks that can be
performed in parallel
● Simple transformation of a task in Salt
objects
Flight Plan
An example
Env
Compone
nt
Task
Name
Tasks
Desc
Pillar
Target
Dependen
cies
SLS
Module
Parallel
Task #1 aws database dump
Dump DB
and
transfer it
aws:
database:
dump
None
aws.
database.
dump
True
Task #2 evo database restore
Restore
DB
evo:
database:
restore
#1
evo.
database.
restore
True
Flight Plan
Salt Fileserver Structure
/srv/salt
├── aws
│ └── database
│ └── dump.sls
├── evos
│ └── database
│ └── restore.sls
● Follows the structure
defined for our “Flight
Plan”
● Steps names are the same as
those defined on Flight
Plan (Simple to locate on
the filesystem)
Flight Plan
Salt Pillars Structure
● It follows the structure
defined on Flight Plan
● Steps names are the same as
those defined on Flight
Plan (Easy to locate on the
filesystem)
/srv/pillar
├── top.sls
│
├── aws
│ └── database
│ └── dump.sls
├── evos
│ └── database
│ └── restore.sls
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Flight Plan
Results
● We’ve generated more than 90 tasks
● We’ve enabled teams to manage multi-
dependencies tasks in a very simple way
● We created a new asset
Salt States
Workflow
Salt States
Overview
A Salt State is a
representation of the
state in which a system
should be in.
Salt Reactor
Overview
Reactor system gives Salt the ability to
trigger actions in response to an event.
Salt State Workflow
Overview
We defined three different phases for our Salt
States:
● Starting
● Execution
● Finished
The Starting and Finished Phases utilizes Salt
Macros to execute common actions without re-
writing the Salt function in every SLS module
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Salt State Overview
Start Phase
It fire on Salt bus a
start event containing:
● Task ID
● Task Description
● Target
{
"mycompany/mystaterun/status/start":{
"_stamp":"2019-11-05T14:58:40.025229",
"cmd":"_minion_event",
"data":{
"desc":"Dump DB and transfer it",
"taskId":"task #1",
"target":"aws:database:dump"
},
"id":"saltmaster",
"tag":"mycompany/mystaterun/status/start"
}
}
Salt State Overview
Start Phase
When the event is fired on Salt Event
Bus, a reaction on Salt Reactor
System is triggered:
● It reads the event and extracts
the needed data
● It sends that data on Slack
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Salt State Overview
Results
We created a standard structure and workflow for
our Salt States using:
● Macros for eliminating redundant code
● ChatOps to manage and trace task executions
Orchestration
on top of
automation
Salt Orchestration
Introduction
It enables admins to coordinate the activities
of multiple servers from a central place:
● Executed on the Master
● Master-level view and control over
requisites
Salt Orchestration
Example
Timeline
Migration Strategy
We decided to run the migration process three
times (2 test, 1 real) before shutting down the
old environment to:
● Fix possible bugs
● Make the process reliable
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
First “Dry-Run” Migration Review
● Some tasks failed and some
failures generated an inconsistency state
● Some tasks were not performed
simultaneously
● The Quantyca Migration Tool
worked progressively but slowly
Also, first data migration took a very long
time
● Parallelism:
● Orchestration:
● Integration:
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Second “Dry-Run” Migration Review
● Each activity was performed
correctly
● Some tasks were not performed
simultaneously
● Some bugs to be fixed on
Quantyca Migration Tool
● Parallelism:
● Orchestration:
● Integration:
Attention point
Three different levels of parallelism:
● System-level
● State-level
● Orchestration-level
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Last Migration Run Review
● Each activity was performed
correctly
● Every tasks were performed
simultaneously
● The Quantyca Migration Tool
analyzed code and performed code refactor
correctly and rapidly
● Parallelism:
● Orchestration:
● Integration:
Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt
Benefits
● Lower costs
● Visibility of operations
● Migration Process Reusability
Customer Benefits
● Flight Plan and Salt States can be reused
for similar activities
● Documentation of activities is already
available thanks to the Flight Plan
● Fewer resources commitment
Our Benefits
https://medium.com/quantycahttps://quantyca.it https://www.linkedin.com/company/quantyca https://www.instagram.com/wearequantyc
a

More Related Content

PPTX
How to Modernize Virtualized Workloads
PPTX
Migrating a Large Fortune 100 Healthcare Company to Kubernetes in 7 months
PPTX
[Konveyor] adding security to dev ops for your kubernetes native applications
PPTX
Cost Control and Rapid Innovation in Kubernetes with OpenRewrite
PDF
11th Docker Switzerland User Group Meetup
PDF
How Docker EE is Finnish Railway’s Ticket to App Modernization
PPTX
Mass Migrate Virtual Machines to Kubevirt with Tool Forklift 2.0
PPTX
Automate The Creation/Transformation of Infrastructure as Code Artifacts with...
How to Modernize Virtualized Workloads
Migrating a Large Fortune 100 Healthcare Company to Kubernetes in 7 months
[Konveyor] adding security to dev ops for your kubernetes native applications
Cost Control and Rapid Innovation in Kubernetes with OpenRewrite
11th Docker Switzerland User Group Meetup
How Docker EE is Finnish Railway’s Ticket to App Modernization
Mass Migrate Virtual Machines to Kubevirt with Tool Forklift 2.0
Automate The Creation/Transformation of Infrastructure as Code Artifacts with...

What's hot (20)

PPTX
Migrating from oracle soa suite to microservices on kubernetes
PPTX
WebSphere 20th - Application modernization
PDF
Docker in Production, die Mobiliar
PPTX
Automate Workflows With The Open-source Cloud-native Tool Boomerang Flow
PDF
Knative Meetup
PDF
44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
PDF
CICD Pipelines for Microservices: Lessons from the Trenches
PPTX
Cloud Economics - Crayon Optimization Services
PPTX
Building CI/CD Pipelines with Jenkins and Kubernetes
PDF
ODP
Openshift: Build, deploy & manage open, standard containers
PPTX
OpenShift Application Development | DO288 | Red Hat OpenShift
PDF
CD, docker and kubernetes
PPTX
PDF
Kubernetes
PDF
Getting started with kubernetes
PPTX
Move existing middleware to the cloud
PDF
Building Your NoSQL Ship: How an Enterprise Transitioned from a RDBMS to NoSQ...
PDF
Swarm migration
PDF
Docker microservices and the service mesh
Migrating from oracle soa suite to microservices on kubernetes
WebSphere 20th - Application modernization
Docker in Production, die Mobiliar
Automate Workflows With The Open-source Cloud-native Tool Boomerang Flow
Knative Meetup
44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
CICD Pipelines for Microservices: Lessons from the Trenches
Cloud Economics - Crayon Optimization Services
Building CI/CD Pipelines with Jenkins and Kubernetes
Openshift: Build, deploy & manage open, standard containers
OpenShift Application Development | DO288 | Red Hat OpenShift
CD, docker and kubernetes
Kubernetes
Getting started with kubernetes
Move existing middleware to the cloud
Building Your NoSQL Ship: How an Enterprise Transitioned from a RDBMS to NoSQ...
Swarm migration
Docker microservices and the service mesh
Ad

Similar to Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt (20)

PDF
Sprint 17
PDF
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
PDF
Workshop: Delivering chnages for applications and databases
PDF
Serverless Compose vs hurtownia danych
PDF
Capistrano
PDF
Airflow Intro-1.pdf
PDF
Our Multi-Year Journey to a 10x Faster Confluent Cloud
PDF
Getting to Walk with DevOps
PDF
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
PDF
Slack in the Age of Prometheus
PPTX
Sweet Streams (Are made of this)
PPTX
Dynomite @ RedisConf 2017
PDF
SCM Puppet: from an intro to the scaling
PDF
Orchestrating complex workflows with aws step functions
PDF
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
PPTX
Performance testing in scope of migration to cloud by Serghei Radov
PDF
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
PPTX
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
PDF
PaaSTA: Running applications at Yelp
PDF
Step by Step - Reusing old features to build new ones
Sprint 17
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Workshop: Delivering chnages for applications and databases
Serverless Compose vs hurtownia danych
Capistrano
Airflow Intro-1.pdf
Our Multi-Year Journey to a 10x Faster Confluent Cloud
Getting to Walk with DevOps
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Slack in the Age of Prometheus
Sweet Streams (Are made of this)
Dynomite @ RedisConf 2017
SCM Puppet: from an intro to the scaling
Orchestrating complex workflows with aws step functions
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
Performance testing in scope of migration to cloud by Serghei Radov
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
PaaSTA: Running applications at Yelp
Step by Step - Reusing old features to build new ones
Ad

Recently uploaded (20)

PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
DOCX
573137875-Attendance-Management-System-original
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Sustainable Sites - Green Building Construction
PPTX
Geodesy 1.pptx...............................................
PDF
Well-logging-methods_new................
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
Welding lecture in detail for understanding
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
composite construction of structures.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Arduino robotics embedded978-1-4302-3184-4.pdf
573137875-Attendance-Management-System-original
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Sustainable Sites - Green Building Construction
Geodesy 1.pptx...............................................
Well-logging-methods_new................
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Structs to JSON How Go Powers REST APIs.pdf
UNIT 4 Total Quality Management .pptx
CH1 Production IntroductoryConcepts.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Welding lecture in detail for understanding
Model Code of Practice - Construction Work - 21102022 .pdf
bas. eng. economics group 4 presentation 1.pptx
composite construction of structures.pdf

Create a One Click Migration (OCM) process to Automate Repeatable Infrastructure Migration with Salt