Engineering the Future of Software
November 13–14, 2016: Training
November 14–16, 2016: Tutorials & Conference
San Francisco, CA

Transitioning to microservices

Cassandra Shum (ThoughtWorks), Dan Lockman (ThoughtWorks)
9:00am–12:30pm Monday, 11/14/2016
Microservices, pros and cons
Location: California West Level: Intermediate
Average rating: ***..
(3.77, 13 ratings)

Prerequisite knowledge

  • Basic knowledge of programming in any high-level language (Java, Ruby, C#, JavaScript, etc.)

Materials or downloads needed in advance

  • A laptop with 10 GB of free disk space and admin rights to install software, as well as access to all ports and usb connections (Windows and Mac OS X are supported; limited support for Linux distributions may be provided, but we’ll assume you know how to get the necessary software installed yourself.)

What you'll learn

  • Gain hands-on experience on how to approach moving to microservices, using concepts like domain-driven design and consumer-driven contracts


Agile practices and techniques like continuous delivery and evolutionary architecture are all about being able to react to changes rapidly. However, putting them into practice when you have a big legacy monolith application can be a difficult job. The industry has come out with different ideas to solve this problem; microservices, pushed by companies like Netflix and Amazon, are the latest solution.

Having an architecture based on services offers many advantages (like scalability and technical flexibility), but it comes with upfront costs and complexity that few companies are in a position to pay. Cassandra Shum and Dan Lockman explore the prerequisites for moving into a microservices architecture and provide tips on how to achieve them via engaging exercises.

Topics include:

  • CD readiness
  • Continuously building, testing, and deploying microservices autonomously
  • Testing microservices and ensuring changes do not break dependent systems
  • Deploying and scaling microservices in a multihost Docker environment
  • Operational concerns
Photo of Cassandra Shum

Cassandra Shum


Cassie Shum is the technical director and principal consultant for the east portfolio in North America at ThoughtWorks. A software engineer and architect, she’s spent the last nine years focusing on architectures including event-driven systems and microservices, a wide range of technologies with an emphasis on mobile and software delivery excellence, and she’s helped grow delivery practices and technical strategy and support the next generation of technologists. Some of her passions include advocating for women in technology and public speaking. She’s involved in promoting more female speakers in technology.

Photo of Dan Lockman

Dan Lockman


Daniel Lockman is a developer at ThoughtWorks. Daniel has spent the last five years honing his craft with a variety of development experiences, creating products internally as part of an IT organization, coaching, pairing with, and leading teams, and writing software for different enterprise clients. While experienced with many backend and frontend frameworks, recently, Daniel has been working with microservices and using Scala, evolving them to both integrate with and deprecate legacy applications. He has spent much of the last few years learning difficult lessons about strong test suites, writing testable code, and creating truly productive developer workflows that integrate early and often.