how to create resilient microservices with a postgresql ...€¦ · monolithic vs. microservices...

Post on 01-Aug-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

How to Create Resilient Microservices With a PostgreSQL DependencyGlen Gomez ZuazoSenior Solutions ArchitectSeptember 13, 2019

Confidential 2

User Profile● Senior Solutions Architect● On the Go - Running● LatinX Representative

User Pain Point● Time Allocation● Where is Glen?● Accent :)

Meet Glen

Confidential 3

User Requirements

“I want to return to my community and help encourage STEM learning in early stages (middle and high school)”

“I want to help my teams build well-architected solutions using new and emerging technologies”

“I want a 28-hour day...”

Glen Wants

Confidential 4

Microservices, why should I care?

● Understanding Cost (Operational and Cultural)○ Operational Cost (CI/CD Pipeline, Login, Monitoring, Tracing)○ Cultural Cost (Collaboration, Waterfall Mentality, Coordination, Colocation)

● Capabilities and Bounded Context○ How to identify and why do I need them? Which context I should care? Business or

technology● Understanding the Spectrum of Enterprise Applications

○ Existing Applications■ Web Tomcat■ Fast Monoliths■ Java EE MSA

○ New Applications■ Spring MSA■ Reactive■ Serverless■ Reactive JS

Li & Shi

Connect & Extend

Rip & Re-Write

API or Microservice: What’s the difference?

Confidential 5

Change for Insulation

UI Monolith

Dependent Services

Data Monolith

UI per Subdomain

Independent Services

Data per Service

Monolithic setups slow down delivery and innovation

Confidential 6

Microservices are the key to creating small, independent, and fully functional bits of soware

Monolithic User Interface

Monolithic Backend Processing

Monolithic Database

Product Owner

Product Owner

Product Owner

Monolith API-Enabled

UI

Monolithic Backend Processing

Monolithic Database

Product Owner

Product Owner

Product Owner

UI UI

API API API

Microservices

UI

Product Owner

Product Owner

Product Owner

UI UI

API API API

Backend Backend Backend

Database DatabaseDatabase

Confidential 7

Interconnected services are helping us reduce cross-team dependencies

Monolith API-Enabled Microservices

Confidential 8

Restructuring Delivery Model

User Interface

Model A (Current Implementation)

Core Integration Services

Product Service

Product Service

Product Service

UI Team

Product Teams

Same TechnologyMonolith

User Interface

Model B (Service Model)

L1 Landing Pages

Product Service

Product Service

Product Service

UI Team

Product Teams Integration

ServicesIntegration

ServicesIntegration

Services

Product A L2 Page

Product B L2 Page

Product C L2 Page

Core Integration Services

Micro-Frontends

Full Stack Team A

Back end Services

Integration Services

UI

Feature A

Full Stack Team B

Back end Services

Integration Services

UI

Feature B

Full Stack Team C

Back end Services

Integration Services

UI

Feature C

UI Design Team

Same Technology

Same or Different

Technology

Each micro-frontend can be a different technology

Preferred

Confidential 9

Restructuring Team Ownership

Confidential 10

Monolithic vs. Microservices

Multiple Identities

Operational Coupling

Binary Coupling

Synchronous Communication

Only Java

Weekly Release

Data Monolith

UI Monolith

Singular Identity

Operational Isolation

No Binary Coupling

Asynchronous Communication

Beyond Java (Polyglot Support)

Anytime Release

Explicit Data

Micro Frontend

Fitness Function Guided Evolutionary Architecture

Confidential 11

Fitness FunctionMove to an architecture that supports evolution

Confidential 12

AWS RDS, Aurora, EC2, or Azure PostgreSQL (Citrus)

Considerations● No OS Patch (Server Maintenance)● Optimized Performance 3x● Full DB Admin Control● Hyperscale (Single- & Multi-Nodes)

Confidential 13

Why PostgreSQL

● Open Source● Cloud Provider Agnostic● Scalable and Highly Available● Hybrid (JSONB) - Key/Value

Confidential 14

Synchronous MicroservicesAl

exa

Voic

e Sk

ill

BFF

API

Even

t Log

…Microservice

Slac

k Ch

atbo

tW

eb +

Mob

ile

App

Microservice

BFF

API

Microservice

BFF

API

Microservice

…Microservice

…Microservice

…Microservice

Confidential 15

Asynchronous CQRS & ES Microservices

Orc

hest

rati

on

API

Orc

hest

rati

on

API

Mes

sagi

ng

…Microservice

API

…Microservice

API

…Microservice

API

…Microservice

…AP

I

Orc

hest

rati

on

API

Alex

a Vo

ice

Skill

Slac

k Ch

atbo

tW

eb +

Mob

ile

App

Confidential 16

Q&A

Confidential 17

Thank You

top related