Engineering the Future of Software
April 2–3, 2017: Training
April 3–5, 2017: Tutorials & Conference
New York, NY

Microservices, pros and cons

We’re familiar with huge software applications that are built from many tightly related parts. After all, that’s how things grow: you start with a simple web site, then add login and authentication, then add some e-commerce, start taking credit cards, integrate with other services, add recommendations, and pretty soon you have a giant mass of code. We’ve gotten reasonably good at making these applications work, but there’s a better way. Applications can be now broken into microservices: specific services that solve one very specific part of the overall problem, communicating via the network. But how do we know if microservices are a good fit for our system architecture? What are some common microservice patterns, antipatterns and pitfalls? What concerns do we need to keep in mind once we’ve made this transition?

Add to your personal schedule
10:45am–12:15pm Tuesday, April 4, 2017
Location: Sutton North/Center
Level: Intermediate
Allen Holub (Holub Associates)
Lightweight messaging is an essential part of every microservice implementation, forming the basic interservice communication backbone. Allen Holub introduces messaging in general, how to use it within a microservice system, and how to implement using ZeroMQ—the most effective of the lightweight messaging libraries. Read more.
Add to your personal schedule
1:15pm–2:05pm Tuesday, April 4, 2017
Location: Grand Ballroom West
Level: Intermediate
Ben Stopford (Confluent)
Ben Stopford looks at two forces that sit in opposition: data systems (which focus on exposing data) and services (which focus on encapsulating it). How should we balance these two? Streaming has a solution. Read more.
Add to your personal schedule
2:15pm–3:05pm Tuesday, April 4, 2017
Location: Grand Ballroom West
Level: Advanced
Rafael Schloming (datawire.io)
Topologies are the basic abstraction of distributed systems. Historically, changing topologies required re-architecture. Today, microservices enable any engineer to dynamically change topologies of business logic. Rafael Schloming explores the power of topologies and common topological patterns and demonstrates how a microservices architecture lets us dynamically create and update topologies. Read more.
Add to your personal schedule
3:50pm–4:40pm Tuesday, April 4, 2017
Location: Sutton North/Center
Level: Intermediate
Vinicius Gomes (ThoughtWorks)
Forget about URIs and synchronous HTTP calls. Vinicius Gomes explains how the combination of microservices and event sourcing helped his team successfully build and evolve a banking services platform. You'll learn details of this architectural style in comparison to the traditional HTTP/REST approach, its benefits and challenges, and the first steps on the practical implementation. Read more.
Add to your personal schedule
10:45am–12:15pm Wednesday, April 5, 2017
Location: Sutton South/Regent Parlor
Level: Beginner
Duncan DeVore (Lightbend)
Reactive microservice design is the future of application design. Drawing on his deep understanding of distributed systems and reactive programming, Duncan DeVore shares the know-how for building apps that are responsive, resilient, and elastic in the face of failure and extreme load. Read more.
Add to your personal schedule
1:15pm–2:05pm Wednesday, April 5, 2017
Location: Grand Ballroom West
Level: Intermediate
Christian Posta (Red Hat)
With a microservices architecture, we optimize for speed by developing independent, autonomous services with their own change cadence with minimal dependency coupling. An overlooked dependency, which happens to be the most important, is data consistency. Christian Posta explains how a balance of domain-driven design, transactions, and CAP theorem can guide us in a microservices world. Read more.
Add to your personal schedule
3:50pm–4:40pm Wednesday, April 5, 2017
Location: Sutton South/Regent Parlor
Level: Intermediate
Sander Mak (Luminis Technologies)
Microservices offer advantages but also come with associated costs. Modularizing applications without going the full microservices route is a viable alternative that is often overlooked. Sander Mak helps you ask the right questions in order to make good decisions for the right reasons. Read more.
Add to your personal schedule
4:50pm–5:40pm Wednesday, April 5, 2017
Location: Sutton North/Center
Level: Intermediate
Kai Wähner (TIBCO)
Kai Wähner shares 10 lessons learned from building cloud-native microservices in the middleware world, including the concepts behind cloud native, choosing the right cloud platform, and when not to build microservices at all, and shows how to apply these lessons to real-world projects by leveraging Docker, CloudFoundry, and Kubernetes to realize cloud-native middleware microservices. Read more.