Microservices and You: the Straight Dope


http://bit.ly/sipmicro

Presented by:

Steven Pousty

@TheSteve0 on Twitter, IRC, Ingress, SmugMug, Skype, and Github

Agenda

  1. Microservices: Pros and Cons
  2. See it in action

Assumptions

  1. You understand THE WEB
  2. You have written a web application with backend services

Excuse me while I fire up my demo

Let's Talk Microservices

Fowler has a page


image from link above

THERE ARE NO REQUIREMENTS FOR LANGUAGE OR APP SERVERS!

Very little talk of any technology

simple

up to

Hard Parts

Hardest is political/people

How do you test, deploy and manage

Untangling existing apps

IT IS NOT RIGHT FOR ALL APPLICATIONS

Tools to help

  • PaaS
  • External Services in a (Private/Public) Cloud
  • Microframeworks (JAX-RS, Sinatra, Flask...)
  • API Generators

Benefits

  • Easier Maintenance
  • Easier Communication
  • More Team Autonomy
  • More Automation of Grunt Work

Clear Boundaries Infinite Possibilities

Example of Scaling

OpenShift Scaling

Scaling hints

  • Avoid sessions
  • Loosely couple your pieces
  • Design for retries and small pieces failing
  • Use the architecture of the web for you
  • Use a platform can scale your load automatically

Enough talk - back to the demo

Let's wrap it up

  1. Microservices has benefits with cloud type applications
  2. These patterns give more flexibility, resiliance, and capacity
  3. Used OpenShift to code rather than manage servers
  4. Used AppDynamics to monitor and improve our application
  5. Used Blazemeter to drive and test all our services
  6. Used IronMQ as our message queue to provide loose coupling