mindset, infrastructural and …...2017/11/01  · integration tests are a lot more important...

Post on 30-May-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MINDSET, INFRASTRUCTURAL ANDORGANIZATIONAL CHANGES

TO ADAPT TO MICROSERVICES

Armagan AmcalarDevOps Pro MoscowNovember 16th, 2017

SUMMARY

Your team wants to adopt microservices.

Is your organization ready for the challenge?

dashersw

WHAT IS NOT A MICROSERVICE?

Async operations with queue (and other) systemsHaving 50 different queue consumers (for notifications,logging, reconciliation services, e-mailing etc) doesn’t

mean you have 50 microservices

Multiple programs running on a single machine andcommunicating over HTTP

dashersw

WHAT IS A MICROSERVICE?

If you are breaking down the fulfillment of a clientrequest into multiple collaborating services that run in

their own memory space, then you are doingmicroservices.

THE BASELINE

dashersw

MICROSERVICES CTD.

Bounded contexts in domain driven design (at worst)

Request–response flow breakdown with

preferably many smaller pieces (with separate codebase)

A bug in a service doesn't bring down the whole app

Scales well, needs minimal additional resources

Supports event-driven architecture

Single responsibility, API interface

dashersw

BEST PRACTICES

Clear interfaces between servicesAuto discovery

Dynamic (or zero) configurationHigh availability

Scale and update single servicesFavor cattle over pets

dashersw

PITFALLS

Wrong domain modelError handling & circuit breaking

Fault-toleranceMonitoring

Multiple points of failureHard to get the big picture

dashersw

CHANGE

IS THE ESSENCE OF THEGAME

dashersw

Code will rapidly change

Dependencies will change

Deployment & release processes will change

WHAT WILL CHANGE?

dashersw

HOW CAN YOU ADAPT?

dashersw

MINDSET CHANGES

Prepare for and own the changeDefer responsibilities

Increase visibility on dependencies and interfacesbetween software components

Architectural documents are backDevOps movement

Integration tests are a lot more importantControversy: decrease unit and functional tests and

increase automated user acceptance tests.

dashersw

BENEFITS

Increase in code ownershipAwareness of impact

Increase in communicationReduced stress due to automation

Architecture is straightforward; reduces ambiguity forwhat implementation belongs in what class

DDD is more important, more straightforward

dashersw

INFRASTRUCTURAL CHANGES

Freedom to use the best tool for the jobInvest in a solid CI/CD process

Pipelined builds with several stagesContainerize your applicationInvest heavily in monitoring

dashersw

BENEFITS

No vendor lock inNo secret sauce

No surprisesMigration is damn easy

Adopting new technologies is lightning fast

dashersw

ORGANIZATIONAL CHANGES

Team structure completely changesScrum teams will get an update

Release management becomes a first-class citizenHierarchy is eliminated

Find other ways to keep a consistent vision within theteam

dashersw

BENEFITS

Increased agilitySmaller teams lead to easier decisions

Helps with planning for impediments and dependencies;“blocked-by hell”

Increased happinessIncreased productivity

Fit for distributed teams!

dashersw

CONCLUSION

MICROSERVICES WILL SUPERCHARGE YOURORGANIZATION.

THE FUTURE IS BRIGHT AND THE GAME IS AFOOT!

dashersw

THANK YOU!

LET'S KEEP IN TOUCH!

Armagan Amcalar

armagan@amcalar.comdasherswdashersw

get these slides at:

https://slides.com/armaganamcalar/devopspro-microservices

top related