fun times with microservices

30
MicroServices By Christo Crampton, Tangent Solutions @toast38coza

Upload: christo-crampton

Post on 17-Jul-2015

68 views

Category:

Engineering


3 download

TRANSCRIPT

MicroServicesBy Christo Crampton, Tangent Solutions

@toast38coza

Some definitions …

–Adrian Cockroft

“Loosely coupled service oriented architecture

with bounded contexts.”

–Adrian Cockroft

‘ "fine grained SOA." In a microservices architecture,

an application is comprised of a number of small,

independent composable services that interact by

way of an external published protocol, such as REST,

or a messaging service.

Each service is focused on an individual targeted

business capability, and thus its scope is minimized.

For functionality out of scope, the microservice calls

out to other microservices via the published protocol.

Each microservice should not depend on other

microservices: It can be deployed, scaled, and

managed independently with no effect on other

microservices.’

“..an approach to developing a single

application as a suite of small

services, each running in its own

process and communicating with

lightweight mechanisms, often an

HTTP resource API. These services

are built around business

capabilities and independently

deployable by fully automated

deployment machinery.”- Martin Fowler

Microservices

• Are a suite of small, lightweight services

• Which, Interact over lightweight protocol

• Built, around business capability

• Independently deployed, scaled and managed

Why go micro?

So what’s wrong with

the monolith?

Eugene Dvorkinhttp://eugenedvorkin.com/seven-micro-services-architecture-advantages/

Traditional productivity curve

Time/size

Productivity

Microservices

Time/size

Productivity

Benefits

Small easy to

understand codebase

Easy to deploy

Easy to scale

Reduced risk for

innovation

Stay agile at Scale

Get Started

• Build your next business capability as a small

service (or extract a capability into a small

service)

• Make it awesome

• Re-use your experience

• Get better with each iteration

• Profit

Fork us

• https://github.com/TangentMicroServices

• http://eepurl.com/98-Cj

Resources - Reading List

• http://martinfowler.com/articles/microservices.html

• http://www.slideshare.net/adrianco/architectures-for-high-availability-qconsf

• http://www.activestate.com/blog/2014/08/microservices-and-paas-part-i

• http://www.activestate.com/blog/2014/08/microservices-and-paas-part-ii

• http://www.activestate.com/blog/2014/08/microservices-and-paas-part-iii

• http://www.activestate.com/blog/2014/08/microservices-and-paas-part-iv

• http://jimplush.com/talk/2015/02/28/microservices-allow-for-localized-tech-debt/

• http://www.slideshare.net/parikhk/restli-and-deco

• http://www.slideshare.net/adriancockcroft/dockercon-state-of-the-art-in-microservices

• https://engineering.groupon.com/2013/misc/i-tier-dismantling-the-monoliths/

• http://www.infoq.com/news/2014/06/soundcloud-microservices

• http://eugenedvorkin.com/seven-micro-services-architecture-advantages/

• http://www.slideshare.net/LappleApple/gilt-from-monolith-ruby-app-to-micro-service-scala-service-architecture?related=1

Questions?

c. Hafnarfjorour

The following slides weren’t

in the presentation, but

might still be interesting …

Resources - People and Organizations

• Martin Fowler and Thoughtworks

• Adrian Cockraft and Netflix

“MicroServices move the complexity from the

code to the infrastructure.”

Build competencies

Why micro services?

• Scalability, agility and speed

• Smaller batches

• Localize Technical Debt.

• Iterative

• The technology is here

It’s not all unicorns and rosesWhat makes MicroServices good is also what makes

them difficult.

First impressions and

lessons learned

• Keep it simple to start with

• Security / Authentication: system libraries

• Building, testing, reporting, monitoring etc is

easier if you focus on a smaller set of tools

• Have fun with it