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 was the North American Lead for Mobile Technologies for the past year and a half. Now she is leading a large enterprise retail client, based in New York.
For 8+ years at ThoughtWorks, she has primarily been leading and developing in a variety of mobile projects alongside a wide range of other technologies and architectures, including event driven systems and microservices.
She loves to grow organizations in their delivery practices and organizational structures, but also the new generation of technologists. Cassie is one of the leaders of the ThoughtWorks’ women’s group, and helps promote 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.