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 (Amundsen.com, 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

Description

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.

Outline

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

Wrap-up

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

Mike Amundsen

Amundsen.com, Inc.

Mike Amundsen is an internationally known author and speaker who travels the world discussing network architecture, web development, and the intersection of technology and society. He’s helped companies large and small capitalize on the opportunities provided by APIs, microservices, and digital transformation. He’s authored numerous books and papers and contributed to the O’Reilly book Continuous API Management. He’s the author of RESTful Web Clients and coauthor of Microservice Architecture. His latest book is Design and Build Great APIs (Pragmatic Publishing).