microservices

Post on 17-Jul-2015

131 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Microservices

Mateus PradoSystems Engineer

Walmart.com LATAM

$ whoami

Hi, i’m Mateus,Software and infrastructure architect.

I like Java, Ruby, C, Python, Cloud and Unix.

Frontend components Business

Data layer

Messaging

Common application architecture

L B

Easy to deploy

New devs

Continuous Delivery

Try new technologies

Scalability

Monolithic

Microservices

The Unix Philosophy

The Unix Philosophy

Characteristics of

Microservices

Small, single responsibility

Fit in your head

“If a class is bigger than my head then it is too big”

You can throw them away - rewrite, maintain

Easy to test.

Resilience

Yes, they will fail, inevitably happen when least desired.

Failures test in production?

Yes.

If you do not find, your customer will.

Deploy automation, continuous delivery…

Scale

…what you need to scale.

Run on multiple regions.

Many technologies

Use Ruby for GET /users/login

Use Java for POST /checkout

Use C for GET /metrics/time-first-byte

Use .Net for GET /about-us :)

Try languages, db, queue

–Johnny Appleseed

“Type a quote here.”

MICROSERVERMICROSERVICES

MicroservERS

Forever

sysadmin troop

...

Do not fear

Jenkins

Chef

Capistrano

Puppet

Rundeck

own scripts

Automate all the things

Too many log files

Log aggregation

Application

NFS to /var/www

VM0 VM2 VM3

Storage volumes

NFS to /var/lib/rabbitmq/mnesia

S3

Distributed storages

Ah, so, look well…

Monitoring

Email

SMS

Twitter, Facebook

Smoke

own remediation scripts.

efficient

Notifications and auto-remediation

Cloud

Homemade

"They need to play." - lorieri

Q&A

top related