Software Development Company in California
Software Development Company in California
DESIGN
A GUIDE FOR EXECUTIVES
Whitepaper By
Pegasus One
1440 N Harbor Blvd #900
(714) 485-8104
[email protected]
01
ONTENTS
PREFACE
MICROSERVICE DESIGN
10 IMPLEMENTATION TYPES
6 PRIMARY IMPLEMENTATION TYPES, AND
THEIR KEY CHARACTERISTICS
18 TALK TO US
PREFACE
www.pegasusone.com 01
WHAT ARE
MICROSERVICES
Microservices (or microservice architecture) is an architectural style that
structures applications as a collection of modular services. These services
are much easier to maintain, and offer other features and
benefits, including:
www.pegasusone.com 02
The microservices approach isn’t a silver
bullet for all scenarios, but according to
research by IBM, it is currently being used by a
significant percentage of companies
worldwide to support:
www.pegasusone.com 03
DESIGNING
MICROSERVICE
ARCHITECTURES
To get the most from a migration to microservice
architecture, you must design for:
www.pegasusone.com 04
TOP 5 BEST
PRACTICES FOR
MICROSERVICE
DESIGN
www.pegasusone.com 05
TOP 5 BEST
PRACTICES FOR
MICROSERVICE
DESIGN
www.pegasusone.com 06
TOP 5 BEST
PRACTICES FOR
MICROSERVICE
DESIGN
www.pegasusone.com 07
TOP 5 BEST
PRACTICES FOR
MICROSERVICE
DESIGN
www.pegasusone.com 08
TOP 5 BEST
PRACTICES FOR
MICROSERVICE
DESIGN
www.pegasusone.com 09
IMPLEMENTATION
TYPES
Now we’ll look at the 6 primary implementation types, and their key
characteristics. These include fine-grained SOA, layered APIs over fine-
grained SOA, message-oriented state management over layered APIs, event-
driven state management over layered APIs, isolating state in layered APIs,
and replicating state in layered APIs.
www.pegasusone.com 10
FINE-GRAINED SOA
WHAT IT IS
Architecture focused on a single purpose, with services
that support a common application while functioning
independently of each other.
CHARACTERISTICS
Used for larger, more modular services
Divides infrastructure into granular pieces
Services provide connectivity to external systems
Tight dependencies reduce the speed of change
www.pegasusone.com 11
LAYERED APIS OVER FINE-
GRAINED SOA
WHAT IT IS
Levels up fine-grained SOA to expose applications, using
System APIS, Process APIs, and Experience APIS to
connect data to them.
CHARACTERISTICS
Creates structure within the architecture
Provides easier insight into the purpose of individual
microservices
Enables easier management
www.pegasusone.com 12
MESSAGE-ORIENTED STATE
MANAGEMENT OVER
LAYERED APIS
WHAT IT IS
Replicates the state of business data between
microservices or data stores.
CHARACTERISTICS
Uses a message queue to deliver consistent external
views
Converges events
Transmits states to disparate locations
Queries states through other microservices
www.pegasusone.com 13
EVENT-DRIVEN STATE
MANAGEMENT OVER
LAYERED APIS
WHAT IT IS
Utilizes standards-enforced queues to control time-
stamped actions (events) passing over the queue.
CHARACTERISTICS
Provides real-time data updates
Used for fraud detection, workflow notifications, news
feeds, etc.
www.pegasusone.com 14
ISOLATING STATE IN
LAYERED APIS
WHAT IT IS
An alternative approach to event-driven microservices.
CHARACTERISTICS
Adds persistence to each microservice
Provides consistency at the time of query rather than
within the interchange
Allows each microservice to contain its own state
www.pegasusone.com 15
REPLICATING STATE IN
LAYERED APIS (EVENT
SOURCING)
WHAT IT IS
Offers a single place for storage of state mutations that
enables isolated microservices to rebuild internal states.
CHARACTERISTICS
Consistent design
Reduces risk of failure in microservices
Improves speed-of-change
Delivers faster time-to-value
www.pegasusone.com 16
Need to boost your operational efficiency?
www.pegasusone.com 17
TALK TO US