Microservices
Aren’t Microservices Just SOA?
with Chris Sterling
Bio - Chris Sterling
2
Author of “Managing Software Debt: Building for Inevitable
Change”
Supported change efforts to adopt Lean, Agile & Continuous
Delivery behaviors for organizations of 10 up to 800+ people
Product Owner at CenturyLink Cloud
Entrepreneur & Lean Startup Practitioner
Blog: managingsoftwaredebt.com
Presence
3
@csterwa
#swdebt
@appfog
https://www.centurylinkcloud.com/appfog
Agenda
Define SOA
Define Microservices
Feature Teams
Architecture Principles
Monoliths?
4
Are Microservices
SOA?
Definition: SOA
6
https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm
A paradigm for organizing and utilizing
distributed capabilities that may be under the
control of different ownership domains. It
provides a uniform means to offer, discover,
interact with and use capabilities to produce
desired effects consistent with measurable
preconditions and expectations.
http://www.opengroup.org/subjectareas/soa
Service-Oriented Architecture (SOA) is an architectural style that
supports service-orientation. Service-orientation is a way of
thinking in terms of services and service-based development and
the outcomes of services.
A service:
• Is a logical representation of a repeatable business activity that
has a specified outcome (e.g., check customer credit, provide
weather data, consolidate drilling reports)
• Is self-contained
• May be composed of other services
• Is a “black box” to consumers of the service
What are
Microservices?
Definition: Microservice
8
Definition: Microservice
8
…the microservice
architectural style is an
approach to developing
a single application as a
suite of small services,
each running in its own
process and
communicating with
lightweight mechanisms,
often an HTTP resource
API.
http://martinfowler.com/articles/microservices.html
Definition: Microservice
8
…the microservice
architectural style is an
approach to developing
a single application as a
suite of small services,
each running in its own
process and
communicating with
lightweight mechanisms,
often an HTTP resource
API.
http://martinfowler.com/articles/microservices.html
Loosely coupled service
oriented architecture
with bounded context.
http://www.slideshare.net/adriancockcroft/dockercon-state-of-the-art-in-microservices
Microservices
9
Pluggable UI
API Routing
Service 1 Service 2 Service 3 Service 4
Identity Management
Authorization Authorization Authorization Authorization
Data Data Data Data
Messaging Platform
Conway’s Law
“organizations which design
systems ... are constrained to
produce designs which are
copies of the communication
structures of these
organizations”
— Melvin Conway
10
http://www.melconway.com/Home/Committees_Paper.html
Feature Teams
Principle:
Rather than creating teams
to work on projects, let’s find
ways to give work to cross-
functional teams.
12
Feature Team
“Feature Team” structure
Uses common Product Backlog
Integration is done in parallel
Requires high levels of communication
across teams to resolve integration issues
Forces Product Owners to 

be more coordinated
Sprints should be synchronized
Cross team fertilization is a

requirement to successfully 

deliver in parallel
13
Microservices
Architecture
Considerations
15
Malleable architectures and design
enable nimble business capabilities.
Eight Fallacies
of Distributed
Computing
The network is reliable.
Latency is zero.
Bandwidth is infinite.
The network is secure.
Topology doesn't change.
There is one administrator.
Transport cost is zero.
The network is homogeneous.
16
https://blogs.oracle.com/jag/resource/Fallacies.html
Application Programming
17
API
Deploy to a Platform
18
Deploy to a Platform
18
Deploy to a Platform
18
Should Teams Start
with Monoliths?
20
Define: Monolith
Suggestion
Start with one codebase to
experiment on solutions.
Once target solution is found
orient towards a Platform that
supports Microservices
architectural style.
21
Q&A

Microservices: Aren't Microservices Just SOA?