Top Banner
Microservices Aren’t Microservices Just SOA? with Chris Sterling
26
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Microservices: Aren't Microservices Just SOA?

MicroservicesAren’t Microservices Just SOA?

with Chris Sterling

Page 2: Microservices: Aren't Microservices Just SOA?

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

Page 3: Microservices: Aren't Microservices Just SOA?

Presence

3

@csterwa #swdebt

@appfog https://www.centurylinkcloud.com/appfog

Page 4: Microservices: Aren't Microservices Just SOA?

Agenda

Define SOA Define Microservices Feature Teams Architecture Principles Monoliths?

4

Page 5: Microservices: Aren't Microservices Just SOA?

Are Microservices SOA?

Page 6: Microservices: Aren't Microservices Just 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

Page 7: Microservices: Aren't Microservices Just SOA?

What are Microservices?

Page 8: Microservices: Aren't Microservices Just SOA?

Definition: Microservice

8

Page 9: Microservices: Aren't Microservices Just SOA?

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

Page 10: Microservices: Aren't Microservices Just SOA?

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

Page 11: Microservices: Aren't Microservices Just SOA?

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

Page 12: Microservices: Aren't Microservices Just SOA?

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

Page 13: Microservices: Aren't Microservices Just SOA?

Feature Teams

Page 14: Microservices: Aren't Microservices Just SOA?

Principle: Rather than creating teams to work on projects, let’s find ways to give work to cross-functional teams.

12

Page 15: Microservices: Aren't Microservices Just SOA?

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

Page 16: Microservices: Aren't Microservices Just SOA?

Microservices Architecture

Considerations

Page 17: Microservices: Aren't Microservices Just SOA?

15

Malleable architectures and design enable nimble business capabilities.

Page 18: Microservices: Aren't Microservices Just SOA?

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

Page 19: Microservices: Aren't Microservices Just SOA?

Application Programming

17

API

Page 20: Microservices: Aren't Microservices Just SOA?

Deploy to a Platform

18

Page 21: Microservices: Aren't Microservices Just SOA?

Deploy to a Platform

18

Page 22: Microservices: Aren't Microservices Just SOA?

Deploy to a Platform

18

Page 23: Microservices: Aren't Microservices Just SOA?

Should Teams Start with Monoliths?

Page 24: Microservices: Aren't Microservices Just SOA?

20

Define: Monolith

Page 25: Microservices: Aren't Microservices Just SOA?

Suggestion

Start with one codebase to experiment on solutions. Once target solution is found orient towards a Platform that supports Microservices architectural style.

21

Page 26: Microservices: Aren't Microservices Just SOA?

Q&A