Slide 1

Slide 1 text

Can you trust Cloud Foundry to save a life? (to save 10,000?)

Slide 2

Slide 2 text

Armakuni ● Cloud native transformations ● Engineering for the cloud ● Application development in the cloud Introductions Tim Savage, Armakuni Tim Savage ● Director ● Full stack engineer ● Product owner @armakunihq http://www.armakuni.com

Slide 3

Slide 3 text

▪ Well known UK Charity ▪ Vision: “Just world free from poverty” ▪ £1 billion since its inception in 1985 ▪ Campaigns: Red Nose Day & Sport Relief ▪ 8-12 week campaigns culminating in a telethon event. Introductions Comic Relief

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

100,000 concurrent web donors

Slide 7

Slide 7 text

14,000 call centre operators start taking calls

Slide 8

Slide 8 text

Responsibility Armakuni built and run the platform that has to be able to handle all the credit card transactions generated at this point.

Slide 9

Slide 9 text

Its Peaky Traffic...

Slide 10

Slide 10 text

To Summarise the Challenge... 400 donations per second

Slide 11

Slide 11 text

To Summarise the Challenge... ▪ 400 donations per second Web and Call Centre interfaces

Slide 12

Slide 12 text

To Summarise the Challenge... ▪ 400 donations per second ▪ Public and Call Centre interfaces just 7 hours per year

Slide 13

Slide 13 text

To Summarise the Challenge... ▪ 400 donations per second ▪ Public and Call Centre interfaces ▪ 7 hours per year Guarantee £Xty million in donations

Slide 14

Slide 14 text

To Summarise the Challenge... ▪ 400 donations per second ▪ Public and Call Centre interfaces ▪ 7 hours per year ▪ Guarantee £Xty million in donations No second chance

Slide 15

Slide 15 text

To Summarise the Challenge... ▪ 400 donations per second ▪ Public and Call Centre interfaces ▪ 7 hours per year ▪ Guarantee £Xty million in donations ▪ No second chance On a charity budget

Slide 16

Slide 16 text

To Summarise the Challenge... ▪ 400 donations per second ▪ Public and Call Centre interfaces ▪ 7 hours per year ▪ Guarantee £Xty million in donations ▪ No second chance ▪ On a charity budget No practising

Slide 17

Slide 17 text

400 Real-time card transactions per second 100,000 + 10,000 Concurrent public users + Call centre users 800,000 Donations in a 7 hour window

Slide 18

Slide 18 text

Before 2012? ▪ Java Monolith : : Code to manage, difficult development process ▪ No automated testing : : Manual testing leads to gaps ▪ Manual deployment : : Inconsistencies, time consuming, unrepeatable ▪ Single points of failure : : Infrastructure provider, platform, bandwidth ▪ Multiple partners : : Complex matrix of partners, up to 50 people involved ▪ 1 year feedback cycle : : Changes were only really tested once a year

Slide 19

Slide 19 text

And now?

Slide 20

Slide 20 text

Java Monolith >> Microservices Architecture

Slide 21

Slide 21 text

▪ TDD/BDD ▪ Unit ▪ Integration ▪ Security ▪ Load ▪ ... all automated ▪ ... ... all run every time a commit is made No Automated Testing >> Full Suite of automated tests

Slide 22

Slide 22 text

Manual Deployment >> Continuous Deployment ▪ Continuous deployment is utterly dependant on automated testing ▪ Now, all code changes deploy to production on success ▪ (We use Concourse CI)

Slide 23

Slide 23 text

Single Points of Failure >> Commoditised Services ▪ Where we have an external dependancy we have “commoditised” it ▪ Multiple payment service providers ▪ Multiple infrastructure providers ▪ If it doesn’t have an api, we aren’t interested!

Slide 24

Slide 24 text

Multiple Partners >> Single Partner ▪ We have reduced Comic Reliefs dependancy from multiple partners and 40-50 people down to a team of 4 ▪ Everything is code - nothing is done manually, so all knowledge is stored as code +

Slide 25

Slide 25 text

1 year feedback cycle >> 15 minute feedback cycle ▪ Every code change pushed goes through our entire suite of tests before making its way to production ▪ Developers can make changes with confidence

Slide 26

Slide 26 text

What?

Slide 27

Slide 27 text

● PaaS - Platform as a Service ● Lots “out of the box”: ○ Health monitoring ○ Routing ○ Centralised logging ○ Easy service integration (eg data sources) ● Separates applications from infrastructure ● Standardised contract for developers

Slide 28

Slide 28 text

Architecture Front End Shard DNS FRONT-END US EAST 1 Cloud Foundry (BOSH/EC2)

Slide 29

Slide 29 text

Architecture Add some apps DNS FRONT-END US EAST 1 Cloud Foundry (BOSH/EC2) 28 microservices

Slide 30

Slide 30 text

Architecture Now add some continents and IaaS providers DNS FRONT-END US EAST 1 Cloud Foundry BOSH/EC2 FRONT-END EU WEST 1 Cloud Foundry BOSH/EC2 FRONT-END LONDON Cloud Foundry BOSH/VMWARE

Slide 31

Slide 31 text

Architecture Add Management layer DNS FRONT-END US EAST 1 Cloud Foundry BOSH/EC2 FRONT-END EU WEST 1 Cloud Foundry BOSH/EC2 FRONT-END LONDON Cloud Foundry BOSH/VMWAR E REPORTING EU CENTRAL Cloud Foundry BOSH/EC2 LOGS

Slide 32

Slide 32 text

Architecture Now deploy it all

Slide 33

Slide 33 text

To Conclude ▪ SUCCESSFUL : : Last 4 campaigns, £Millions processed ▪ MANAGEABLE : : 1 team to manage ▪ TEAM : : 50 to 4 ▪ COST : : £Millions (commercially comparable) to < £300k ▪ AGILE : : Even now, the team can be very agile

Slide 34

Slide 34 text

Can you trust Cloud Foundry to save a life? To save 10,000?

Slide 35

Slide 35 text

▪ @armakunihq ▪ armakuni.com ▪ tim.savage@armakuni.com