Transforming the Monolith at 20M tph

23
Transforming the Monolith at 20M tph August 3, 2016

Transcript of Transforming the Monolith at 20M tph

Page 1: Transforming the Monolith at 20M tph

Transforming the Monolith at 20M tph

August 3, 2016

Page 2: Transforming the Monolith at 20M tph

2

Who am I?

Page 3: Transforming the Monolith at 20M tph

3

What is the Enterprise Service Platform?

250,000,000 transactions per day

Hosted on 500+ Servers

Oracle, JavaEE, and Weblogic

Page 4: Transforming the Monolith at 20M tph

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

Page 5: Transforming the Monolith at 20M tph

5

The Approach

Cultural

Technical

Page 6: Transforming the Monolith at 20M tph

6

How we worked then

Dev

QA

Ops

Page 7: Transforming the Monolith at 20M tph

7

Reorganized teams to be self contained

Team

Dev

QA

Ops

Page 8: Transforming the Monolith at 20M tph

8

Handling friction

Presentation title (optional)

I don’t have to…

I don’t want to…

You can’t make me.

Page 9: Transforming the Monolith at 20M tph

9

We avoided running into…

Page 10: Transforming the Monolith at 20M tph

10

And we started to …

Standardize for Scale

Page 11: Transforming the Monolith at 20M tph

11

Decomposing services into Microservices

Service A Service B

Clients

ESPRouter

Page 12: Transforming the Monolith at 20M tph

12

De-Mingling of data

Service A Service B

Data Access

Page 13: Transforming the Monolith at 20M tph

13

Changes in the technology stack

Platform Weblogic Cloudfoundry

Data Oracle Couchbase

Routing IP based Consumer

Page 14: Transforming the Monolith at 20M tph

14

Changes in the delivery stack

Continuous Delivery Jenkins GoCD

Build Maven Gradle

Deployments Script CD

Page 15: Transforming the Monolith at 20M tph

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

Page 16: Transforming the Monolith at 20M tph

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

Page 17: Transforming the Monolith at 20M tph

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

Page 18: Transforming the Monolith at 20M tph

18

Building the runway

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

― Terry Pratchett, Jingo

Page 19: Transforming the Monolith at 20M tph

19

Who am I?

STUFF DOER

Page 20: Transforming the Monolith at 20M tph

20

Questions?

Page 21: Transforming the Monolith at 20M tph
Page 22: Transforming the Monolith at 20M tph

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

Page 23: Transforming the Monolith at 20M tph

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