SlideShare una empresa de Scribd logo
1 de 36
Continuous Deployment
by Smartling, Inc
#SmartlingDevLove
Andrey Akselrod
Smartling, Founder & CTO
@chelya
Max Sogin
Director, Software Development
What do we do?
● Cloud-based enterprise software platform for
translation management
● Used for websites and dynamic Web
applications, desktop & mobile apps,
business documents, and all kinds of digital
content
Clients
Smartling Operational Scale
3active data centers: US
East, US West, Ireland
400+servers
~200production
deployments a month
2B+page views/month
84K+metrics monitored
17K+triggers for alerts
Tech Team
New York: 20
Dnepropetrovsk, Ukraine: 29
Kiev, Ukraine: 3
Technologies
Java
+
Everything you can imagine
Continuous Deployment == Continuous
Releases
Continuous Deployment != Continuous
Integration
Life prior to Continuous
Deployment
● A lot of code is being released
○ Bugs are pretty much guaranteed
○ It is difficult to understand which change caused
issues when a lot of new code is deployed.
○ It is difficult and sometimes impossible to roll code
back
● Quick fixes sometimes wait weeks to be deployed
● There is pressure to wrap up the feature at all costs
before scheduled deployment. Quality takes a hit.
● No one works during the release day. Everyone
expects a sleepless night.
Can we deploy on Friday night?
|
NO!
|
But we only need…
|
HELL NO!
● User feedback is coming late - after substantial
investment of time and effort into development
● The absence of early feedback increases the load
on planning. Heavy upfront planning makes
development process closer to waterfall rather than
agile
● Feedback results are waiting for the next release
which significantly slows down product
development cycle.
OODA Loop
Transition period - Team
Transition Challenges
● Management support is essential
o Transition will take time and resources
o Complete transition may take 6-8 months
● Team culture will change substantially
o Find champions and make sure you have their
support
o It is better to get support from other departments in
the company by explaining the benefits they get at
the end
Transition Challenges
● Excellent reason to create DevOps
● Do not wait until ideal implementation. Start with one
simple component and one button.
● Celebrate every single win
What we did
● Folks on the team were passive-aggressive and did not
want to do anything
● We were assuring, discussing and blackmailing the
team before starting Continuous Deployment
● Weekly releases got cancelled
● We were using stickers for every deployment: smiles
and asses. Smile was a successful deployment, ass -
was a deployment with a problem.
● At first folks were afraid of deploying, but eventually
they got used to it.
Smiles & Asses ;)
Continuous Deployment Rules
● Master (git) or Trunk (svn) is always stable
● Every commit to master (trunk) is deployed to prod asap
● Continuous integration
● Automated testing => where is QA Team?
● Single button deployment
● Monitoring
● Zero downtime software update
● Communication. Every deployment is in chat. Every
deployment should be confirmed. Skype => Slack
● Developer is responsible for every feature end to end
QA
● Automation - as much as possible
o unit testing
o integration testing
o front end testing - balance is needed!
● Developers are responsible for manual
testing, QA is not involved!
● QA helps with automation
Continuous Integration
● Bamboo or Jenkins
● Every branch is built and tested on every
commit
● Only green builds could be deployed
● Build time is critical (fighting for < 10min)
Bamboo
CDeploy
Slack communication
Monitoring
● Examples:
o RPS
o avg resp time & percentile
o error rates
o CPU Utilization
o transaction rates
● Correlate Deployments with Metrics
● Splunk, Zabbix, Graphite, New Relic, Loggly
Splunk
● Stack trace by errorid
Speeds up investigation of problems. Easy to communicate. Secure.
● “Log duty”
Keep logs clean, by continuous monitoring and elimination of errors. Noise
in logs makes monitoring difficult.
Splunk
New Relic
DB Updates
● Use DB version control system. DBMaintain
● Every change to DB is reviewed by two leads
● There is a single button deploy of DB changes
● Two phase DB updates
o Phase 1: new structures, backward compatible
 New columns always nullable, etc.
o Phase 2: cleanup of elements no longer in use
Results
● Continuous Deployment becomes addictive
● Results of your work are immediately
available for your users to use. It is pretty
cool.
● Management is happy - there is a constant
flow of new features being deployed. Users
are happy with new features as well.
● Quick feedback and quick iterations lead to a
product that is much better adapted to the
market
● Your competition does not understand what
happened and how you can move so quickly
● Other parts of the company respect your
results
● Near zero employee turnover in the team
Discussion
#SmartlingDevLove

Más contenido relacionado

La actualidad más candente

Continuous Deployment of Rails Applications
Continuous Deployment of Rails ApplicationsContinuous Deployment of Rails Applications
Continuous Deployment of Rails ApplicationsDiane Cessna
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployPeter Gfader
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and BuildsBhavin Javia
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
 
Role of QA in Continuous Delivery
Role of QA in Continuous DeliveryRole of QA in Continuous Delivery
Role of QA in Continuous DeliveryLukáš Fryč
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldWinston Laoh
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDBatyr Nuryyev
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDDicodingEvent
 
Evolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoringEvolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoringPeter Holditch
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
AutoDevBot API Monitoring
AutoDevBot API MonitoringAutoDevBot API Monitoring
AutoDevBot API MonitoringGarland Kan
 
Bootstrapping Quality
Bootstrapping QualityBootstrapping Quality
Bootstrapping QualityMichael Roufa
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsPrabhu Ramasamy
 
Bringing CD to the DoD
Bringing CD to the DoDBringing CD to the DoD
Bringing CD to the DoDGene Gotimer
 
Agile Scrum with virtual teams
Agile Scrum with virtual teamsAgile Scrum with virtual teams
Agile Scrum with virtual teamsLuca Sturaro
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...DevOpsDays Tel Aviv
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02Manohar Kumar
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocolsVivek Parihar
 

La actualidad más candente (20)

Continuous Deployment of Rails Applications
Continuous Deployment of Rails ApplicationsContinuous Deployment of Rails Applications
Continuous Deployment of Rails Applications
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sg
 
Role of QA in Continuous Delivery
Role of QA in Continuous DeliveryRole of QA in Continuous Delivery
Role of QA in Continuous Delivery
 
DevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps WorldDevQAOps - Surviving in a DevOps World
DevQAOps - Surviving in a DevOps World
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CDTechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
TechTalk 2021: Peningkatan Performa Software Delivery dengan CI/CD
 
Evolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoringEvolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoring
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
AutoDevBot API Monitoring
AutoDevBot API MonitoringAutoDevBot API Monitoring
AutoDevBot API Monitoring
 
Bootstrapping Quality
Bootstrapping QualityBootstrapping Quality
Bootstrapping Quality
 
Continuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database ObjectsContinuous Integration - Oracle Database Objects
Continuous Integration - Oracle Database Objects
 
Bringing CD to the DoD
Bringing CD to the DoDBringing CD to the DoD
Bringing CD to the DoD
 
Agile Evolution
Agile EvolutionAgile Evolution
Agile Evolution
 
Agile Scrum with virtual teams
Agile Scrum with virtual teamsAgile Scrum with virtual teams
Agile Scrum with virtual teams
 
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDay...
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols
 

Destacado

Smartling & AMA Webinar: Translation for the Global Marketplace
Smartling & AMA Webinar: Translation for the Global MarketplaceSmartling & AMA Webinar: Translation for the Global Marketplace
Smartling & AMA Webinar: Translation for the Global MarketplaceSmartling
 
The Case for Enterprise Translation Management
The Case for Enterprise Translation ManagementThe Case for Enterprise Translation Management
The Case for Enterprise Translation ManagementSDL
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
Slide guide for consulting-style presentations
Slide guide for consulting-style presentationsSlide guide for consulting-style presentations
Slide guide for consulting-style presentationsreallygoodppts
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...SlideShare
 

Destacado (6)

Smartling & AMA Webinar: Translation for the Global Marketplace
Smartling & AMA Webinar: Translation for the Global MarketplaceSmartling & AMA Webinar: Translation for the Global Marketplace
Smartling & AMA Webinar: Translation for the Global Marketplace
 
The Case for Enterprise Translation Management
The Case for Enterprise Translation ManagementThe Case for Enterprise Translation Management
The Case for Enterprise Translation Management
 
McKinsey presentation
McKinsey presentationMcKinsey presentation
McKinsey presentation
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
Slide guide for consulting-style presentations
Slide guide for consulting-style presentationsSlide guide for consulting-style presentations
Slide guide for consulting-style presentations
 
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
 

Similar a Continuous Deployment

Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Kris Buytaert
 
A brief history of automation in Software Engineering
A brief history of automation in Software EngineeringA brief history of automation in Software Engineering
A brief history of automation in Software EngineeringGeorg Buske
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseXebiaLabs
 
DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)John Schneider
 
Improve the deployment process step by step
Improve the deployment process step by stepImprove the deployment process step by step
Improve the deployment process step by stepDaniel Fahlke
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CDHoang Le
 
Using SaltStack to DevOps the enterprise
Using SaltStack to DevOps the enterpriseUsing SaltStack to DevOps the enterprise
Using SaltStack to DevOps the enterpriseChristian McHugh
 
Survival of the Continuist
Survival of the ContinuistSurvival of the Continuist
Survival of the ContinuistPaul Blundell
 
Challenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous DeliveryChallenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous DeliveryDBmaestro - Database DevOps
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageRan Levy
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentationDrew Hannay
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDGonzalo Marcos Ansoain
 
Introduction to Continuous Delivery
Introduction to Continuous DeliveryIntroduction to Continuous Delivery
Introduction to Continuous DeliveryGiovanni Toraldo
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at SnykAnton Drukh
 
Continues delivery - Introduction
Continues delivery - IntroductionContinues delivery - Introduction
Continues delivery - IntroductionErez Attar
 
From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...
From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...
From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...VMware Tanzu
 
Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Dan Cundiff
 

Similar a Continuous Deployment (20)

Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
 
A brief history of automation in Software Engineering
A brief history of automation in Software EngineeringA brief history of automation in Software Engineering
A brief history of automation in Software Engineering
 
Software Release Orchestration and the Enterprise
Software Release Orchestration and the EnterpriseSoftware Release Orchestration and the Enterprise
Software Release Orchestration and the Enterprise
 
DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
DevOps at Obama for America(2012) and the DNC (DevOps Days NYC Jan 2013)
 
Improve the deployment process step by step
Improve the deployment process step by stepImprove the deployment process step by step
Improve the deployment process step by step
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Using SaltStack to DevOps the enterprise
Using SaltStack to DevOps the enterpriseUsing SaltStack to DevOps the enterprise
Using SaltStack to DevOps the enterprise
 
Survival of the Continuist
Survival of the ContinuistSurvival of the Continuist
Survival of the Continuist
 
Challenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous DeliveryChallenges and Best Practices of Database Continuous Delivery
Challenges and Best Practices of Database Continuous Delivery
 
Continuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritageContinuous Deployment Applied at MyHeritage
Continuous Deployment Applied at MyHeritage
 
Continuous integration (eng)
Continuous integration (eng)Continuous integration (eng)
Continuous integration (eng)
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
Software management for tech startups
Software management for tech startupsSoftware management for tech startups
Software management for tech startups
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
Dev ops
Dev opsDev ops
Dev ops
 
Introduction to Continuous Delivery
Introduction to Continuous DeliveryIntroduction to Continuous Delivery
Introduction to Continuous Delivery
 
Continuous Delivery at Snyk
Continuous Delivery at SnykContinuous Delivery at Snyk
Continuous Delivery at Snyk
 
Continues delivery - Introduction
Continues delivery - IntroductionContinues delivery - Introduction
Continues delivery - Introduction
 
From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...
From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...
From 10 Deploys Per Year to 4 Per Day at DBS Bank: How Pivotal Platform Can R...
 
Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014Apache Cassandra at Target - Cassandra Summit 2014
Apache Cassandra at Target - Cassandra Summit 2014
 

Más de Smartling

Smartling+Coursera
Smartling+CourseraSmartling+Coursera
Smartling+CourseraSmartling
 
Smartling+OpenTable
Smartling+OpenTableSmartling+OpenTable
Smartling+OpenTableSmartling
 
Smartling+Flipagram
Smartling+FlipagramSmartling+Flipagram
Smartling+FlipagramSmartling
 
Smartling+Squarespace
Smartling+Squarespace Smartling+Squarespace
Smartling+Squarespace Smartling
 
A data driven approach to translation outcomes
A data driven approach to translation outcomesA data driven approach to translation outcomes
A data driven approach to translation outcomesSmartling
 
What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...
What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...
What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...Smartling
 
Localization at Canary
Localization at CanaryLocalization at Canary
Localization at CanarySmartling
 
Three Considerations Before Globalizing Your Website
Three Considerations Before Globalizing Your WebsiteThree Considerations Before Globalizing Your Website
Three Considerations Before Globalizing Your WebsiteSmartling
 
Starwood Translation ROI Model
Starwood Translation ROI ModelStarwood Translation ROI Model
Starwood Translation ROI ModelSmartling
 
Global Travel in the Age of Uber and Airbnb
Global Travel in the Age of Uber and AirbnbGlobal Travel in the Age of Uber and Airbnb
Global Travel in the Age of Uber and AirbnbSmartling
 
Translation Technology ROI
Translation Technology ROITranslation Technology ROI
Translation Technology ROISmartling
 
50 shades of translation
50 shades of translation50 shades of translation
50 shades of translationSmartling
 
MUST-HAVE STATS FOR GLOBAL MOBILE MARKETING
MUST-HAVE STATS FOR GLOBAL MOBILE MARKETINGMUST-HAVE STATS FOR GLOBAL MOBILE MARKETING
MUST-HAVE STATS FOR GLOBAL MOBILE MARKETINGSmartling
 
French in Canada and French in France. 50 Differences That Might Surprise You
French in Canada and French in France. 50 Differences That Might Surprise YouFrench in Canada and French in France. 50 Differences That Might Surprise You
French in Canada and French in France. 50 Differences That Might Surprise YouSmartling
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)Smartling
 
The Evolution of Content
The Evolution of ContentThe Evolution of Content
The Evolution of ContentSmartling
 
The Power of Language
The Power of LanguageThe Power of Language
The Power of LanguageSmartling
 
Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!Smartling
 
Getting Started with Gaming Localization
Getting Started with Gaming LocalizationGetting Started with Gaming Localization
Getting Started with Gaming LocalizationSmartling
 
The 50 Most Beautiful Words in the Irish Language
The 50 Most Beautiful Words in the Irish LanguageThe 50 Most Beautiful Words in the Irish Language
The 50 Most Beautiful Words in the Irish LanguageSmartling
 

Más de Smartling (20)

Smartling+Coursera
Smartling+CourseraSmartling+Coursera
Smartling+Coursera
 
Smartling+OpenTable
Smartling+OpenTableSmartling+OpenTable
Smartling+OpenTable
 
Smartling+Flipagram
Smartling+FlipagramSmartling+Flipagram
Smartling+Flipagram
 
Smartling+Squarespace
Smartling+Squarespace Smartling+Squarespace
Smartling+Squarespace
 
A data driven approach to translation outcomes
A data driven approach to translation outcomesA data driven approach to translation outcomes
A data driven approach to translation outcomes
 
What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...
What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...
What 2016's Most-Downloaded Travel Apps Have in Common and How Yours Can Be L...
 
Localization at Canary
Localization at CanaryLocalization at Canary
Localization at Canary
 
Three Considerations Before Globalizing Your Website
Three Considerations Before Globalizing Your WebsiteThree Considerations Before Globalizing Your Website
Three Considerations Before Globalizing Your Website
 
Starwood Translation ROI Model
Starwood Translation ROI ModelStarwood Translation ROI Model
Starwood Translation ROI Model
 
Global Travel in the Age of Uber and Airbnb
Global Travel in the Age of Uber and AirbnbGlobal Travel in the Age of Uber and Airbnb
Global Travel in the Age of Uber and Airbnb
 
Translation Technology ROI
Translation Technology ROITranslation Technology ROI
Translation Technology ROI
 
50 shades of translation
50 shades of translation50 shades of translation
50 shades of translation
 
MUST-HAVE STATS FOR GLOBAL MOBILE MARKETING
MUST-HAVE STATS FOR GLOBAL MOBILE MARKETINGMUST-HAVE STATS FOR GLOBAL MOBILE MARKETING
MUST-HAVE STATS FOR GLOBAL MOBILE MARKETING
 
French in Canada and French in France. 50 Differences That Might Surprise You
French in Canada and French in France. 50 Differences That Might Surprise YouFrench in Canada and French in France. 50 Differences That Might Surprise You
French in Canada and French in France. 50 Differences That Might Surprise You
 
Continuous Deployment (in Russian)
Continuous Deployment  (in Russian)Continuous Deployment  (in Russian)
Continuous Deployment (in Russian)
 
The Evolution of Content
The Evolution of ContentThe Evolution of Content
The Evolution of Content
 
The Power of Language
The Power of LanguageThe Power of Language
The Power of Language
 
Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!
 
Getting Started with Gaming Localization
Getting Started with Gaming LocalizationGetting Started with Gaming Localization
Getting Started with Gaming Localization
 
The 50 Most Beautiful Words in the Irish Language
The 50 Most Beautiful Words in the Irish LanguageThe 50 Most Beautiful Words in the Irish Language
The 50 Most Beautiful Words in the Irish Language
 

Último

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Último (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Continuous Deployment

  • 1. Continuous Deployment by Smartling, Inc #SmartlingDevLove
  • 2. Andrey Akselrod Smartling, Founder & CTO @chelya Max Sogin Director, Software Development
  • 3. What do we do? ● Cloud-based enterprise software platform for translation management ● Used for websites and dynamic Web applications, desktop & mobile apps, business documents, and all kinds of digital content
  • 5. Smartling Operational Scale 3active data centers: US East, US West, Ireland 400+servers ~200production deployments a month 2B+page views/month 84K+metrics monitored 17K+triggers for alerts
  • 6. Tech Team New York: 20 Dnepropetrovsk, Ukraine: 29 Kiev, Ukraine: 3
  • 8. Continuous Deployment == Continuous Releases Continuous Deployment != Continuous Integration
  • 9.
  • 10. Life prior to Continuous Deployment
  • 11.
  • 12. ● A lot of code is being released ○ Bugs are pretty much guaranteed ○ It is difficult to understand which change caused issues when a lot of new code is deployed. ○ It is difficult and sometimes impossible to roll code back ● Quick fixes sometimes wait weeks to be deployed ● There is pressure to wrap up the feature at all costs before scheduled deployment. Quality takes a hit.
  • 13. ● No one works during the release day. Everyone expects a sleepless night. Can we deploy on Friday night? | NO! | But we only need… | HELL NO!
  • 14. ● User feedback is coming late - after substantial investment of time and effort into development ● The absence of early feedback increases the load on planning. Heavy upfront planning makes development process closer to waterfall rather than agile ● Feedback results are waiting for the next release which significantly slows down product development cycle.
  • 17. Transition Challenges ● Management support is essential o Transition will take time and resources o Complete transition may take 6-8 months ● Team culture will change substantially o Find champions and make sure you have their support o It is better to get support from other departments in the company by explaining the benefits they get at the end
  • 18. Transition Challenges ● Excellent reason to create DevOps ● Do not wait until ideal implementation. Start with one simple component and one button. ● Celebrate every single win
  • 19. What we did ● Folks on the team were passive-aggressive and did not want to do anything ● We were assuring, discussing and blackmailing the team before starting Continuous Deployment ● Weekly releases got cancelled ● We were using stickers for every deployment: smiles and asses. Smile was a successful deployment, ass - was a deployment with a problem. ● At first folks were afraid of deploying, but eventually they got used to it.
  • 22. ● Master (git) or Trunk (svn) is always stable ● Every commit to master (trunk) is deployed to prod asap ● Continuous integration ● Automated testing => where is QA Team? ● Single button deployment ● Monitoring ● Zero downtime software update ● Communication. Every deployment is in chat. Every deployment should be confirmed. Skype => Slack ● Developer is responsible for every feature end to end
  • 23. QA ● Automation - as much as possible o unit testing o integration testing o front end testing - balance is needed! ● Developers are responsible for manual testing, QA is not involved! ● QA helps with automation
  • 24. Continuous Integration ● Bamboo or Jenkins ● Every branch is built and tested on every commit ● Only green builds could be deployed ● Build time is critical (fighting for < 10min)
  • 28. Monitoring ● Examples: o RPS o avg resp time & percentile o error rates o CPU Utilization o transaction rates ● Correlate Deployments with Metrics ● Splunk, Zabbix, Graphite, New Relic, Loggly
  • 30. ● Stack trace by errorid Speeds up investigation of problems. Easy to communicate. Secure. ● “Log duty” Keep logs clean, by continuous monitoring and elimination of errors. Noise in logs makes monitoring difficult. Splunk
  • 32. DB Updates ● Use DB version control system. DBMaintain ● Every change to DB is reviewed by two leads ● There is a single button deploy of DB changes ● Two phase DB updates o Phase 1: new structures, backward compatible  New columns always nullable, etc. o Phase 2: cleanup of elements no longer in use
  • 34. ● Continuous Deployment becomes addictive ● Results of your work are immediately available for your users to use. It is pretty cool. ● Management is happy - there is a constant flow of new features being deployed. Users are happy with new features as well.
  • 35. ● Quick feedback and quick iterations lead to a product that is much better adapted to the market ● Your competition does not understand what happened and how you can move so quickly ● Other parts of the company respect your results ● Near zero employee turnover in the team

Notas del editor

  1. Pro vs MT - most of our translations are done by professional translators Workflow
  2. detali - foursquare - website and mobile apps - pereklyuchite na russkij Elon Mask - perevodim sites na raznye yazyki
  3. А что делаете вы?
  4. Visualization
  5. Time is fixed, scope is fixed, resources are fixed - quality becomes a variable. Development triangle.
  6. USAF colonel John Boyd, fighter F-16. does not fly as high or as far as F15, but it is twice as light and much more maneuverable even at low speed. It is more important to get product out fast and quickly iterate than to try to build a perfect product. Good today is better than perfect tomorrow.
  7. Team culture = Processes, Priorities, Values
  8. Team culture = Processes, Priorities, Values devOps = development toolset support
  9. Ass - happy vs sad blackmail - if you don’t want to deploy continuously - you are responsible for the next release Buy-in will be easier now - continuous deployment is a trend Five stages of accepting: denial, anger, bargaining, depression, acceptance
  10. Happy vs Sad
  11. If someone is committed but did not deploy -> leads to heavy discussions within the team - no one wants to be responsible for someone elses code feature branches vs switches in the code
  12. no sending the ball over the wall parser testing - comparing speed and result of testing with previous releases
  13. screenshot bamboo. 18 min average
  14. 3 steps: component, environment, build -> push a button, DOD. Environment: ENV = 4 virtual servers (soa: mysql, mongo, gdn, tms). Developer can launch his own env b pushing a button.
  15. 1. communication, synchronization. 2. history of deploys 3. before: skype, now: slack automatic. 4. 1-deploy, 2-check, 3-confirm. ocheredi :)
  16. MySQL stops being responsive at 60% CPU utilization New Relic - prikol’nyj (around performance) - zhivaya profiling data. Automatic call stacks, shows query performance (java code vs db time)
  17. SOA - multiple components, thousands of log files Простой и мощный язык запросов выбор источника, временного диапазона, группирование, ... Визуализация Запрос отображается в URL быстрый обмен запросами в чате Сохранённые запросы Автоматические уведомления (Alerts) Не нужно изобретать колесо для уведомлений, просто throw new MyException(); или log.warn("My message");
  18. Метрики для Web-приложений Отслеживание всех уровней, вкл. JS Метки deployment’ов Анализ поведения пользователей Рассылка отчётов
  19. It is like working without version control Story about our WWW deployment. -- Don't afraid of problems, but still - evaluate risks. Story about not communicating new features to customers