Overview of Microservices

29
Microservices - An Overview Ganesh Samarthyam

Transcript of Overview of Microservices

Microservices - An Overview

Ganesh Samarthyam

Ignore the march of technology at your

own peril

Microservices is an architectural style

Complex application = composed of tiny services

Communicate over REST API

HTTP GET

HTTP PUT

HTTP POST

HTTP DELETE

Underlying philosophy

“do one thing and do it well”

Unix pipes analogy

$ cat limerick.txt There was a young lady of Niger Who smiled as she rode on a tiger. They returned from the ride With the lady inside And a smile on the face of the tiger.

$ cat limerick.txt | tr -s ' \t\n\r\f' \\n | sort | uniq -c | sort -r | head -5 4 the 3 a 2 tiger. 2 on 2 of

Each of these commands “cat”, “tr”, “sort”, “uniq”, and “head” do one thing

and do that well

They communicate over text; services communicate

over REST

Who uses microservices?

Monolithic

Microservices

Conway’s law“Any organization that designs a system… will inevitably produce

a design whose structure is a copy of the organization's communication structure”

Conway’s lawTeam 1

Team 2Team 3

Team 4

Conway’s law

Team 1 Team 2

Team 3

Team 4

Monolithic to microservices

Monolithic to microservices

Microservices = “fine grained SOA” or “SOA 2.0”

Service = manageable by “two pizza” team

Service = a team can DURS (Deploy, Update, Replace, Scale)

Microservices = Damn U R Sexy

Amazon case study

2-tier architecture SOA Microservices

Security

Microservices expose a lot more functionality over the network => must ensure secure access

Web resources• Wikipedia entry for microservices • Martin Fowler’s article that provides an overview of micro services • Description of micro services architecture pattern • James Lewis’s podcast in SE-Radio on microservices • Migration to microservices by Adrian Cockcroft (Netflix) • From monolith to microservices by Randy Shoup

Related books

Image creditshttp://www.cartoondistrict.com/wp-content/uploads/2015/02/Cute-Minion-Wallpapers-HD-for-Desktop-35.jpg http://cabanastimeout.com/wp-content/uploads/2012/09/room-service-food.jpg https://www-304.ibm.com/connections/blogs/NordicMSP/resource/BLOGS_UPLOADED_IMAGES/IBM-BlueMix.jpg http://media.corporate-ir.net/media_files/IROL/97/97664/images/amazon_logo_RGB.jpg http://abovethecrowd.com/wp-content/uploads/2014/03/New-Logo-Vertical-Dark.jpg http://media.cmgdigital.com/shared/lt/lt_cache/thumbnail/960/img/photos/2015/09/01/27/c0/153e428c3fa34b359c044f49a877a256-112e2389b3ae420189218f669f397dba-0.jpg http://www8.hp.com/hpnext/sites/default/files/content/documents/HP%20Helion%20Logo_Cloud_Martin%20Fink_New%20Style%20of%20IT_Hewlett-Packard.PNG https://tribwpmt.files.wordpress.com/2015/02/s040515524.jpg?w=1200 http://image.cdn.ispot.tv/ad/73xH/carls-jr-most-american-thickburger-fireworks-large-6.jpg http://wrigleyville.org/wp-content/uploads/2014/03/food.jpg http://drpatsebastian.com/wp-content/uploads/2015/11/Healthy-Living-Mindful-Eating.jpg http://martinfowler.com/books/continuousDelivery.jpg http://www.firefly.in/images/vfx-projects/robot/robot5.jpg http://i.kinja-img.com/gawker-media/image/upload/s--MlM_qvA6--/c_fit,f_auto,fl_progressive,q_80,w_636/a0lykcwwhfjnduaculfs.jpg http://www.robogenesis.in/images/RobotSwarms_032813-617x416.jpg http://geekandpoke.typepad.com/geekandpoke/images/2007/06/16/soa1.jpg http://peter.bourgon.org/a-case-for-microservices/murder-mystery.png http://img14.deviantart.net/44a3/i/2014/028/6/0/__lola_bunny___by_berzerkcdemon-d744psx.jpg http://static.giantbomb.com/uploads/scale_small/0/1619/489900-pickpocket.jpg