microservices: aren't microservices just soa?
TRANSCRIPT
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
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
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
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
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.
16https://blogs.oracle.com/jag/resource/Fallacies.html
Suggestion
Start with one codebase to experiment on solutions. Once target solution is found orient towards a Platform that supports Microservices architectural style.
21