How to Create Resilient Microservices With a PostgreSQL Dependency - - PowerPoint PPT Presentation

how to create resilient microservices with a postgresql
SMART_READER_LITE
LIVE PREVIEW

How to Create Resilient Microservices With a PostgreSQL Dependency - - PowerPoint PPT Presentation

How to Create Resilient Microservices With a PostgreSQL Dependency Glen Gomez Zuazo Senior Solutions Architect September 13, 2019 Meet Glen User Profile Senior Solutions Architect On the Go - Running LatinX Representative User


slide-1
SLIDE 1

How to Create Resilient Microservices With a PostgreSQL Dependency

Glen Gomez Zuazo Senior Solutions Architect September 13, 2019

slide-2
SLIDE 2

Confidential 2

User Profile

  • Senior Solutions Architect
  • On the Go - Running
  • LatinX Representative

User Pain Point

  • Time Allocation
  • Where is Glen?
  • Accent :)

Meet Glen

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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?

slide-5
SLIDE 5

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

slide-6
SLIDE 6

Confidential 6

Microservices are the key to creating small, independent, and fully functional bits of soware

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 Database Database

slide-7
SLIDE 7

Confidential 7

Interconnected services are helping us reduce cross-team dependencies

Monolith API-Enabled Microservices

slide-8
SLIDE 8

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 Technology Monolith

User Interface

Model B (Service Model)

L1 Landing Pages Product Service Product Service Product Service

UI Team Product Teams

Integration Services Integration Services Integration 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

slide-9
SLIDE 9

Confidential 9

Restructuring Team Ownership

slide-10
SLIDE 10

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

slide-11
SLIDE 11

Confidential 11

Fitness Function Move to an architecture that supports evolution

slide-12
SLIDE 12

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)
slide-13
SLIDE 13

Confidential 13

Why PostgreSQL

  • Open Source
  • Cloud Provider Agnostic
  • Scalable and Highly Available
  • Hybrid (JSONB) - Key/Value
slide-14
SLIDE 14

Confidential 14

Synchronous Microservices

Alexa Voice Skill BFF API Event Log … Microservice … Slack Chatbot Web + Mobile App Microservice BFF API Microservice BFF API Microservice … Microservice … … Microservice … … Microservice …

slide-15
SLIDE 15

Confidential 15

Asynchronous CQRS & ES Microservices

Orchestration API Orchestration API Messaging

Microservice

API

Microservice

API

Microservice

API

Microservice

API Orchestration API Alexa Voice Skill Slack Chatbot Web + Mobile App

slide-16
SLIDE 16

Confidential 16

Q&A

slide-17
SLIDE 17

Confidential 17

Thank You