fun times with microservices
TRANSCRIPT
–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
So what’s wrong with
the monolith?
Eugene Dvorkinhttp://eugenedvorkin.com/seven-micro-services-architecture-advantages/
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
Why micro services?
• Scalability, agility and speed
• Smaller batches
• Localize Technical Debt.
• Iterative
• The technology is here
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