25
1 Continuous Delivery with Microservices

Microservices with-cd

Embed Size (px)

Citation preview

1

Continuous Delivery with Microservices

2

BlackRiver Publishing

● Online book store

● Started 3 years back

● Very successful startup

● Business, Organization & Competition are rapidly growing

● Huge codebase

3

Typical problems

4

Who is responsible for what?

User Accounts

Catalog

Orders

Recommendations

……….

5

Slow feature addition

CodeRepository ProductionQA

6

No Faster feedback

Observe

Orient

Decide

Act

7

Better fitting technology

User Accounts

Catalog

Orders

Recommendations

……….

Python

8

Performance problems

User Accounts

Catalog

Orders

Recommendations

……….

50%

20%

9

Cost ineffective scaling

User Accounts

Catalog

OrdersRecommendations

……….

User Accounts

Catalog

OrdersRecommendations

……….

User Accounts

Catalog

OrdersRecommendations

……….

User Accounts

Catalog

Orders

Recommendations……….

User Accounts

Catalog

Orders

Recommendations……….

User Accounts

Catalog

Orders

Recommendations……….

10

Solutions

11

Extract out components

User Accounts

Catalog

Orders

Recommendations

……….

12

Extract out components

User Accounts

CatalogOrders

Recommendations

……….

13

Easy to scale

User Accounts

Catalog

Recommendations

……….

Recommendations

Orders

Orders

Orders

Orders

14

Easy to scale

User Accounts

CatalogRecommendations

……….

Recommendations

Orders

Orders

Orders

Orders

15

Easy to test

Orders

Unit tests

Integration tests

Contract tests

16

Decoupled Database

User Accounts

Catalog

Orders

Recommendations

……….

Database Database

HTTP API

17

Polyglot environment

Recommendations

Java

MySQL

18

Polyglot environment

Recommendations

Python

Cassandra

19

Faster feedback ???

Observe

Orient

Decide

Act

20

Smaller Independent Teams

Orders

Recommendations

21

Rapid deployments

Code Repository

Automated Tests

Manual Tests

Production

Business Decision

22

Microservices architecture composed of loosely coupled elements that have bounded

context.

23

Continuous Delivery is a software development discipline where you build software in such a way that the software

can be released to production at any time.

24

THANKS & QUESTIONSFor questions or suggestions:

Ernesto Medina [email protected]

Sri [email protected]

25