SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
Develop Operation, Operate Development: A journey towards service delivery at scale
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
3.
3
Service
Deployment
Environment
Query
API
Data
API
Business
Configuratio
n API
PIM
Analytics
CRM
4.
4
When it started
Chef
2005
Puppet
2008
Fredhopper
Managed
Services
2009
OpsWorks
2013
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
18.
18
Development Operations
Modularization
via
Self-Contained
Services
Service
Cluster
Management
Infrastructure
Abstraction
Uniform
Deployment
Horizontal
Scalability
Decentralized
Governance
Infrastructure
Automation
Unified
Operations
19.
19
Operating
≅ 2000 AWS servers
with an
awesome small
DevOps team