Transforming the Monolith at 20M tph

Post on 13-Apr-2017

298 views 2 download

Transcript of Transforming the Monolith at 20M tph

Transforming the Monolith at 20M tph

August 3, 2016

2

Who am I?

3

What is the Enterprise Service Platform?

250,000,000 transactions per day

Hosted on 500+ Servers

Oracle, JavaEE, and Weblogic

The problem that faced us

4

Large legacy codebase

Manual and people based processes

Physical Infrastructure

Comingled data

No impact to the velocity to other teams

5

The Approach

Cultural

Technical

6

How we worked then

Dev

QA

Ops

7

Reorganized teams to be self contained

Team

Dev

QA

Ops

8

Handling friction

Presentation title (optional)

I don’t have to…

I don’t want to…

You can’t make me.

9

We avoided running into…

10

And we started to …

Standardize for Scale

11

Decomposing services into Microservices

Service A Service B

Clients

ESPRouter

12

De-Mingling of data

Service A Service B

Data Access

13

Changes in the technology stack

Platform Weblogic Cloudfoundry

Data Oracle Couchbase

Routing IP based Consumer

14

Changes in the delivery stack

Continuous Delivery Jenkins GoCD

Build Maven Gradle

Deployments Script CD

15

CF Extensions

ZDD CLI Plugin: Zero Downtime deploymentsOpen source pending

Zero Downtime – Gradual rollover of applications

Canary Deployments - Deployment and then promotion of new versions.

https://github.com/comcast

16

CF Extensions

Recycle Plugin: Recycles application instances

Scaler Service: Allows the sending of messages to scale applications

Open source pending

https://github.com/comcast

17

On the horizon

Reducing the impact of external processes

Exploring the use of Concourse

Onboarding more teams and services to CF

Piloting Chat Ops with Slack

18

Building the runway

“Always be wary of any helpful item that weighs less than its operating manual.”

― Terry Pratchett, Jingo

19

Who am I?

STUFF DOER

20

Questions?

22

Concourse Components

Rally Toolkit: Recycles application instanceshttps://github.com/Comcast/rally-rest-toolkit

Rally Build Resource: Resource for pushing build info to Rallyhttps://github.com/Comcast/rally-build-resource

23

Current Opportunities

Presentation title (optional)

Change Management• Manual process.• Creates a bottleneck in the delivery process.• Requires external approvals and input.

Continuous Deployment• Continuous deployment to production causes worry.• Maturity level is not consistent across organization.• Integration of stateful and data systems