Develop Operation, Operate Development: A journey towards service delivery at scale

1
Develop Operation, Operate Development:
A journey towards delivery at large scale
Behrooz Nobakht
@behruz
Pavel Bushmelev
✓ fun, simple, effective
✓ what a shopper experiences until
the order is delivered
✓ comprehend in context the
shopper’s intentions – implicit
and explicit
✓ personal without ever crossing
into the individual
Online Shopping
3
Service
Deployment
Environment
Query
API
Data
API
Business
Configuratio
n API
PIM
Analytics
CRM
4
When it started
Chef
2005
Puppet
2008
Fredhopper
Managed
Services
2009
OpsWorks
2013
5
App
How we have evolved
App App Scripts
Deploy
HTTP
API
On-Premise
Deployment
AppApp Scripts
Deploy
HTTP
API
Managed
Service
Deployment
6
How to operate massive deployments with JVM?
Magnitude of Scale
7
What is a server?
Development
● Um, huh?!
● … pause …
● We deliver to Ops.
● They deploy!
Operations
● What version to install
● What process to start
● Which data to use
● How to access logs
● How to monitor
● How to sync load
balancers
8
What is a server?
Development
● Um, huh?!
● … pause …
● We deliver to Ops.
● They deploy!
Operations
● What version to install
● What process to start
● Which data to use
● How to access logs
● How to monitor
● How to sync load
balancers
9
“Server” abstraction
is too low-level for our
development and operation
10
Server as a Service
A server as an HTTP API
1. /install
2. /data
3. /process
4. /logs
5. /monitor
6. /resources
11
Server as a Service
A server as an HTTP API
1. /install
2. /data
3. /process
4. /logs
5. /monitor
6. /resources
12
JVM Management with JVM
Service Provider Interfaces (SPI)
● A factory for an installation
● A factory for an running application
instance
● A factory for processes of an instance
● Generic RESTful operations
● Generic and standard endpoints: logs,
monitors, resources
App
java.lang.ProcessSPI
Implementations
http://IP:14777/
13
JVM Management with JVM
Service Provider Interfaces (SPI)
● A factory for an installation
● A factory for an running application
instance
● A factory for processes of an instance
● Generic RESTful operations
● Generic and standard endpoints: logs,
monitors, resources
App
java.lang.ProcessSPI
Implementations
http://IP:14777/
14
Deployment is a development responsibility
Development
● Does it have //:14777/?
● SPI implemented?
● Tested and Integrated?
● Locally Deployable?
● Deliver to Ops.
● They Deploy!
Operations
● What version to install
● What process to start
● Which data to use
● How to access logs
● How to monitor
● How to sync load
balancers
Does it really matter now what’s beneath //:14777/ ?!
15
Deployment is a development responsibility
Development
● Does it have //:14777/?
● SPI implemented?
● Tested and Integrated?
● Locally Deployable?
● Deliver to Ops.
● They Deploy!
Operations
● What version to install
● What process to start
● Which data to use
● How to access logs
● How to monitor
● How to sync load
balancers
Does it really matter now what’s beneath //:14777/ ?!
16
● Infrastructure provides servers
● Every server boots with one //:14777/
● Auto-register server with Controller
● Controller synchronizes servers with
load balancers
● Controller manages the state of
servers
● Controller automates workflows
Load Balancer
Monitoring
Infrastructure
Controller
17
● Orchestration becomes automatic
● Relieve from small operation details
● Focus on a higher-level
○ Automation Process
○ Disaster Recovery
○ Failure Mitigation
○ Monitoring
○ Horizontal Scaling
Load Balancer
Monitoring
Infrastructure
Controller
18
Development Operations
Modularization
via
Self-Contained
Services
Service
Cluster
Management
Infrastructure
Abstraction
Uniform
Deployment
Horizontal
Scalability
Decentralized
Governance
Infrastructure
Automation
Unified
Operations
19
Operating
≅ 2000 AWS servers
with an
awesome small
DevOps team
Copyright © 2008-2015 SDL plc. All rights reserved. All company names, brand names, trademarks,
service marks, images and logos are the property of their respective owners.
This presentation and its content are SDL confidential unless otherwise specified, and may not be
copied, used or distributed except as authorised by SDL.
1 of 20

Recommended

dotnetsheff: Continuous delivery with Team City and Octopus Deploy by
dotnetsheff: Continuous delivery with Team City and Octopus Deploydotnetsheff: Continuous delivery with Team City and Octopus Deploy
dotnetsheff: Continuous delivery with Team City and Octopus DeployKevin Kuszyk
416 views11 slides
Dev ops by
Dev opsDev ops
Dev opsPatrick Fogarty
52 views6 slides
Continuous delivery with open source tools by
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source toolsSebastian Helzle
5.4K views24 slides
Continuous Integration at Mollie by
Continuous Integration at MollieContinuous Integration at Mollie
Continuous Integration at Molliewillemstuursma
2.2K views56 slides
Continuous deployment steve povilaitis by
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitisSteve Povilaitis
380 views35 slides
Continuous delivery - tools and techniques by
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
13.8K views54 slides

More Related Content

What's hot

Production Ready WordPress #WPLDN by
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDNEdmund Turbin
542 views43 slides
An almost complete continuous delivery pipeline including configuration manag... by
An almost complete continuous delivery pipeline including configuration manag...An almost complete continuous delivery pipeline including configuration manag...
An almost complete continuous delivery pipeline including configuration manag...ulfmansson
3.4K views55 slides
Production ready word press by
Production ready word pressProduction ready word press
Production ready word pressEdmund Turbin
576 views43 slides
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014 by
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Matthew Cobby
5.1K views40 slides
Continuous Delivery with TFS msbuild msdeploy by
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployPeter Gfader
6.8K views95 slides
Tfs 2015 Upgrade Tips and Tricks by
Tfs 2015 Upgrade Tips and TricksTfs 2015 Upgrade Tips and Tricks
Tfs 2015 Upgrade Tips and TricksInCycleSoftware
1K views26 slides

What's hot(20)

Production Ready WordPress #WPLDN by Edmund Turbin
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
Edmund Turbin542 views
An almost complete continuous delivery pipeline including configuration manag... by ulfmansson
An almost complete continuous delivery pipeline including configuration manag...An almost complete continuous delivery pipeline including configuration manag...
An almost complete continuous delivery pipeline including configuration manag...
ulfmansson3.4K views
Production ready word press by Edmund Turbin
Production ready word pressProduction ready word press
Production ready word press
Edmund Turbin576 views
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014 by Matthew Cobby
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Matthew Cobby5.1K views
Continuous Delivery with TFS msbuild msdeploy by Peter Gfader
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
Peter Gfader6.8K views
Continuous Integration by rouanw
Continuous IntegrationContinuous Integration
Continuous Integration
rouanw387 views
Optimizing deployment & dev ops with tfs 2013 by Kobi Moraz
Optimizing deployment & dev ops with tfs 2013Optimizing deployment & dev ops with tfs 2013
Optimizing deployment & dev ops with tfs 2013
Kobi Moraz2.4K views
Continuous Integration and Continuous Deployment in Enterprise scenario by Davide Benvegnù
Continuous Integration and Continuous Deployment in Enterprise scenarioContinuous Integration and Continuous Deployment in Enterprise scenario
Continuous Integration and Continuous Deployment in Enterprise scenario
Davide Benvegnù1.2K views
DevOps is a Journey - Choose Your Own Adventure by Fabian Iannarella
DevOps is a Journey - Choose Your Own AdventureDevOps is a Journey - Choose Your Own Adventure
DevOps is a Journey - Choose Your Own Adventure
Production Ready WordPress - WC Utrecht 2017 by Edmund Turbin
Production Ready WordPress  - WC Utrecht 2017Production Ready WordPress  - WC Utrecht 2017
Production Ready WordPress - WC Utrecht 2017
Edmund Turbin1.3K views
Simple ci cd with strider cd by Amandeep Singh
Simple ci cd with strider cdSimple ci cd with strider cd
Simple ci cd with strider cd
Amandeep Singh265 views
Automating it management with Puppet + ServiceNow by Puppet
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet554 views
Deployment of DevOps Environment with CA Solutions by Nic Swart
Deployment of DevOps Environment with CA SolutionsDeployment of DevOps Environment with CA Solutions
Deployment of DevOps Environment with CA Solutions
Nic Swart436 views
Git Branching for Agile Teams by Atlassian
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
Atlassian28.8K views
Ice breaker with dev ops by Mukta Aphale
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev ops
Mukta Aphale1.3K views

Viewers also liked

HTTP/2 in Examples by
HTTP/2 in ExamplesHTTP/2 in Examples
HTTP/2 in ExamplesMihail Stoynov
21.2K views28 slides
Presentazione genova digitale by
Presentazione genova digitalePresentazione genova digitale
Presentazione genova digitaleEnrico Alletto
1.7K views20 slides
Top 8 oral surgery assistant resume samples by
Top 8 oral surgery assistant resume samplesTop 8 oral surgery assistant resume samples
Top 8 oral surgery assistant resume samplesleviedwards17
365 views16 slides
Filosofis Angka Nol by
Filosofis Angka NolFilosofis Angka Nol
Filosofis Angka Nolsiskasutisna24
93 views6 slides
Fight Club - Genre and Character List by
Fight Club - Genre and Character List Fight Club - Genre and Character List
Fight Club - Genre and Character List hannifrieda
867 views6 slides
Arun K_Testing_Updated by
Arun K_Testing_UpdatedArun K_Testing_Updated
Arun K_Testing_UpdatedArun Kamatchi
180 views6 slides

Viewers also liked(20)

Presentazione genova digitale by Enrico Alletto
Presentazione genova digitalePresentazione genova digitale
Presentazione genova digitale
Enrico Alletto1.7K views
Top 8 oral surgery assistant resume samples by leviedwards17
Top 8 oral surgery assistant resume samplesTop 8 oral surgery assistant resume samples
Top 8 oral surgery assistant resume samples
leviedwards17365 views
Fight Club - Genre and Character List by hannifrieda
Fight Club - Genre and Character List Fight Club - Genre and Character List
Fight Club - Genre and Character List
hannifrieda867 views
Top 8 replenishment assistant resume samples by leviedwards17
Top 8 replenishment assistant resume samplesTop 8 replenishment assistant resume samples
Top 8 replenishment assistant resume samples
leviedwards17158 views
Top 8 fashion design assistant resume samples by leviedwards17
Top 8 fashion design assistant resume samplesTop 8 fashion design assistant resume samples
Top 8 fashion design assistant resume samples
leviedwards17411 views
Top 8 child development assistant resume samples by leviedwards17
Top 8 child development assistant resume samplesTop 8 child development assistant resume samples
Top 8 child development assistant resume samples
leviedwards17293 views
Top 8 sales & marketing assistant resume samples by leviedwards17
Top 8 sales & marketing assistant resume samplesTop 8 sales & marketing assistant resume samples
Top 8 sales & marketing assistant resume samples
leviedwards17219 views
Get started with dropbox by 09061496347
Get started with dropboxGet started with dropbox
Get started with dropbox
09061496347189 views
Top 8 managers assistant resume samples by leviedwards17
Top 8 managers assistant resume samplesTop 8 managers assistant resume samples
Top 8 managers assistant resume samples
leviedwards17115 views

Similar to Develop Operation, Operate Development: A journey towards service delivery at scale

DevOps for SAP CPI presentation by
DevOps for SAP CPI presentationDevOps for SAP CPI presentation
DevOps for SAP CPI presentationDaniel Graversen
299 views23 slides
Continuous Integration, Deploy, Test From Beginning To End 2014 by
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
1.1K views32 slides
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation by
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationClever Moe
1.4K views32 slides
Taking AppSec to 11 - BSides Austin 2016 by
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016Matt Tesauro
3.7K views73 slides
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better by
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterMatt Tesauro
2.5K views70 slides
Use Jenkins For Continuous Load Testing And Mobile Test Automation by
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
1.2K views32 slides

Similar to Develop Operation, Operate Development: A journey towards service delivery at scale(20)

Continuous Integration, Deploy, Test From Beginning To End 2014 by Clever Moe
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
Clever Moe1.1K views
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation by Clever Moe
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
Clever Moe1.4K views
Taking AppSec to 11 - BSides Austin 2016 by Matt Tesauro
Taking AppSec to 11 - BSides Austin 2016Taking AppSec to 11 - BSides Austin 2016
Taking AppSec to 11 - BSides Austin 2016
Matt Tesauro3.7K views
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better by Matt Tesauro
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things BetterTaking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Taking AppSec to 11: AppSec Pipeline, DevOps and Making Things Better
Matt Tesauro2.5K views
Use Jenkins For Continuous Load Testing And Mobile Test Automation by Clever Moe
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Clever Moe1.2K views
Understanding DevOps in simpler way with Continuous Delivery by Swapnil Jain
Understanding DevOps in simpler way with Continuous DeliveryUnderstanding DevOps in simpler way with Continuous Delivery
Understanding DevOps in simpler way with Continuous Delivery
Swapnil Jain1.1K views
JUST EAT: Embracing DevOps by Peter Mounce
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOps
Peter Mounce5.4K views
OpenControl Overview - Joshua McKenty by Julie Coonce
OpenControl Overview - Joshua McKentyOpenControl Overview - Joshua McKenty
OpenControl Overview - Joshua McKenty
Julie Coonce367 views
SAPUI5/OpenUI5 - Continuous Integration by Peter Muessig
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
Peter Muessig2.8K views
Implementation Assistance by Odoo
Implementation AssistanceImplementation Assistance
Implementation Assistance
Odoo2.2K views
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ... by cornelia davis
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
cornelia davis549 views
IFG for SAP Integration, webinar on Automated Testing by Daniel Graversen
IFG for SAP Integration, webinar on Automated TestingIFG for SAP Integration, webinar on Automated Testing
IFG for SAP Integration, webinar on Automated Testing
Daniel Graversen135 views
Lighning Talk: PHP build process by Bryan Agee
Lighning Talk: PHP build processLighning Talk: PHP build process
Lighning Talk: PHP build process
Bryan Agee701 views
Continuous Load Testing with CloudTest and Jenkins by SOASTA
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
SOASTA 316 views

Develop Operation, Operate Development: A journey towards service delivery at scale

  • 1. 1 Develop Operation, Operate Development: A journey towards delivery at large scale Behrooz Nobakht @behruz Pavel Bushmelev
  • 2. ✓ fun, simple, effective ✓ what a shopper experiences until the order is delivered ✓ comprehend in context the shopper’s intentions – implicit and explicit ✓ personal without ever crossing into the individual Online Shopping
  • 5. 5 App How we have evolved App App Scripts Deploy HTTP API On-Premise Deployment AppApp Scripts Deploy HTTP API Managed Service Deployment
  • 6. 6 How to operate massive deployments with JVM? Magnitude of Scale
  • 7. 7 What is a server? Development ● Um, huh?! ● … pause … ● We deliver to Ops. ● They deploy! Operations ● What version to install ● What process to start ● Which data to use ● How to access logs ● How to monitor ● How to sync load balancers
  • 8. 8 What is a server? Development ● Um, huh?! ● … pause … ● We deliver to Ops. ● They deploy! Operations ● What version to install ● What process to start ● Which data to use ● How to access logs ● How to monitor ● How to sync load balancers
  • 9. 9 “Server” abstraction is too low-level for our development and operation
  • 10. 10 Server as a Service A server as an HTTP API 1. /install 2. /data 3. /process 4. /logs 5. /monitor 6. /resources
  • 11. 11 Server as a Service A server as an HTTP API 1. /install 2. /data 3. /process 4. /logs 5. /monitor 6. /resources
  • 12. 12 JVM Management with JVM Service Provider Interfaces (SPI) ● A factory for an installation ● A factory for an running application instance ● A factory for processes of an instance ● Generic RESTful operations ● Generic and standard endpoints: logs, monitors, resources App java.lang.ProcessSPI Implementations http://IP:14777/
  • 13. 13 JVM Management with JVM Service Provider Interfaces (SPI) ● A factory for an installation ● A factory for an running application instance ● A factory for processes of an instance ● Generic RESTful operations ● Generic and standard endpoints: logs, monitors, resources App java.lang.ProcessSPI Implementations http://IP:14777/
  • 14. 14 Deployment is a development responsibility Development ● Does it have //:14777/? ● SPI implemented? ● Tested and Integrated? ● Locally Deployable? ● Deliver to Ops. ● They Deploy! Operations ● What version to install ● What process to start ● Which data to use ● How to access logs ● How to monitor ● How to sync load balancers Does it really matter now what’s beneath //:14777/ ?!
  • 15. 15 Deployment is a development responsibility Development ● Does it have //:14777/? ● SPI implemented? ● Tested and Integrated? ● Locally Deployable? ● Deliver to Ops. ● They Deploy! Operations ● What version to install ● What process to start ● Which data to use ● How to access logs ● How to monitor ● How to sync load balancers Does it really matter now what’s beneath //:14777/ ?!
  • 16. 16 ● Infrastructure provides servers ● Every server boots with one //:14777/ ● Auto-register server with Controller ● Controller synchronizes servers with load balancers ● Controller manages the state of servers ● Controller automates workflows Load Balancer Monitoring Infrastructure Controller
  • 17. 17 ● Orchestration becomes automatic ● Relieve from small operation details ● Focus on a higher-level ○ Automation Process ○ Disaster Recovery ○ Failure Mitigation ○ Monitoring ○ Horizontal Scaling Load Balancer Monitoring Infrastructure Controller
  • 19. 19 Operating ≅ 2000 AWS servers with an awesome small DevOps team
  • 20. Copyright © 2008-2015 SDL plc. All rights reserved. All company names, brand names, trademarks, service marks, images and logos are the property of their respective owners. This presentation and its content are SDL confidential unless otherwise specified, and may not be copied, used or distributed except as authorised by SDL.