Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

Learning RESTful microservices from the ground up

Mike Amundsen (, Inc.)
13:3017:00 Wednesday, 31 October 2018
Application architecture
Location: Park Suite (St. James / Regents)
Secondary topics:  Best Practice

Who is this presentation for?

  • Service designers, software architects, and developers

Prerequisite knowledge

  • A working knowledge of Node.js and implementing services on the web
  • Familiarity with microservices

Materials or downloads needed in advance

  • A laptop with Node.js and the text editor and coding environment of your choice installed
  • A GitHub account
  • A Heroku account (optional)

What you'll learn

  • Understand the role REST can play in microservice design, the importance of stable interfaces in front of changing code, and the value and challenges of supporting runtime discovery
  • Learn how to design for emergent adaptability without adding needless complexity


A RESTful approach to microservices can improve the stability and resilience of services, reduce the need for extensive changes and redeployment when the domain model changes, and greatly increase the flexibility of individual services, including the ability to automatically work with other newly discovered services. Mike Amundsen walks you through building adaptable microservices that take advantage of the features of REST, including statelessness, self-description, and using hypermedia to discover and modify application state. You’ll learn how to design services that advertise themselves to the network, discover their own “partner” services, and can adapt to subtle changes to existing services without relying only on recode-and-redeploy patterns for maintaining overall system operation.


What are RESTful microservices?

  • Microservices
  • RESTful-ness
  • A new kind of service
  • Hands-on exercise: Analysis

Models, messages, and vocabularies

  • Models on the inside
  • Messages on the outside
  • Vocabularies everywhere
  • Hands-on exercise: Design

Three types of microservices

  • Stateless
  • Persistence
  • Aggregator
  • Hands-on exercise: Implementation

Six stability patterns

  • Timeout
  • Circuit breaker
  • Bulkhead
  • Steady state
  • Failfast
  • Handshaking
  • Hands-on exercise: Stability

Runtime service infrastructure

  • Advertising
  • Discovery
  • Health
  • Hands-on exercise: Discovery

An adaptable system

  • Evolvable providers
  • Adaptable consumers
  • The power of numbers
  • Hands-on exercise: Adaptation


  • A RESTful Approach
  • Message-oriented implementation
  • Discovery constraints
  • Emergent adaptability
Photo of Mike Amundsen

Mike Amundsen, Inc.

An internationally known author and lecturer, Mike Amundsen travels the world consulting and speaking on a wide range of topics, including distributed network architecture, web application development, and other subjects. Mike is the director of architecture for the API Academy, where he heads up the API architecture and design practice in North America and is responsible for working with companies to provide insight on how to best capitalize on the myriad opportunities APIs present to both consumers and the enterprises themselves. Mike has authored numerous books and papers on programming over the last 15 years, including RESTful Web APIs, a collaboration with Leonard Richardson, and Building Hypermedia APIs with HTML5 and Node, an oft-cited reference on building adaptable web applications. His most recent book, RESTful Web Clients, was released in early 2017 by O’Reilly.