Boosting Database Performance

for a

Micro Frontends Architecture

@anfibiacreativa

© CampaignCreators | Unsplash.com

@anfibiacreativa

CLOUD NATIVE

Simplify

Architecture

Decouple

Systems

Reduce TCO

Minimize

Dependencies

@anfibiacreativa

Architecture

© Nick Nice | Unsplash.com

PEOPLE

TECHNOLOGY

PROCESSES

Team Config

Skills

Seniority

Models

Patterns

Learning Curve

Maturity

Methodology

Compliance

Procurement

Documentation

Distribution

Component Library

Computation Service

API Service

Infra Service

Infra Service

Computation Service

Component Library

Storage Service

Component Library

Computation Service

API Service

Infra Service

Infra Service

Computation Service

Component Library

Storage Service

Frontend

@anfibiacreativa

Monolith Layer

Infrastructure

Data Storage

Business Logic

Data Access

Infrastructure

Data Storage

Business Logic

Data Access

Infrastructure

Data Storage

Business Logic

Data Access

@anfibiacreativa

Business Logic

Data Access/API Layer

Data Storage/Persistence

Infrastructure

?

?

Infrastructure

Data Storage

Business Logic

Frontend

API Layer

©Kelly Sikkema | unsplash.com

© JESHOOTS | Unsplash.com

HIGH TECHNICAL DEBT

HIGH TCO

UNSATISFIED TEAM

Particularly

when skills of most of the team are opposed to decision and time frame is short

Lots of hidden costs associated with undifferentiated efforts: ramping up the team, fixing bugs, maintenance

Team dissatisfaction, high attrition, leadership burn-out

© Christopher Windus | Unsplash.com

©Amelie Mourichon | Unsplash.com

Mobile traffic share Nov. 2021

53.98%

© Killian Cartignies | Unsplash.com

100%

20%

40%

60%

80%

2015

2020

Total global data estimated in 2025

175 Zb

© Chris Liverani | Unsplash.com

Frontend

@anfibiacreativa

Client-side
Server-side

@anfibiacreativa

Frontend

Frontend

Business Logic

Data Access

Data Storage

Infrastructure

Business Logic

Data Access

Data Storage

Infrastructure

Business Logic

Data Access

Data Storage

Infrastructure

1

2

3

@anfibiacreativa

Graphics: https://www.flaticon.com/authors/smashicons at www.flaticon.com

 

 

Business Capability

Independent Team

Fail Silently

Own it's data?

© Nubelson Fernandez | Unsplash.com

Going Serverless

© Phil Santillan | Unsplash.com

Frontend

@anfibiacreativa

Micro Apps leveraging Serverless Functions and Triggers

@anfibiacreativa

Frontend

Frontend

BL

Data Access

Data Storage

Infrastructure

BL

Data Access

Data Storage

Infrastructure

Data Access

Data Storage

Infrastructure

BL

BL

BL

BL

BL

BL

Share or

Duplicate Data?

©Adam Nowakowski | Unsplash.com

Patterns and Models

Backups and recovery strategy

Database Type

© Hannes Richter | Unsplash.com

SQL DB's

NoSQL DB's

Queried using the Structured Query Language (SQL)

Queried with other languages, like MQL (Mongo Query Language)

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

MySQL, PostgreSQL, SQL Server

MongoDB, Firebase, Firestore

Cloud BigTable

SpatiaLite, PostGIS

Redis, Memcached

Neo4js, Virtuoso

Elasticshearch, Solr, Algolia

MongoDB, Influx, Prometheus

Many of the above and more!

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Content Management, Banking, CRM, Resource Planning

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Content Management, Banking, CRM, Resource Planning

Content Management, Fintech, Customization, Personalization

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Content Management, Fintech, Customization, Personalization

Session Management, Product recommendations, Caching

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Session Management, Product recommendations, Caching

Fraud Detection, Recommendation Engines, Social Networks, Network Mapping

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Fraud Detection, Recommendation Engines, Social Networks, Network Mapping

IoT use-cases (collecting data from devices), trends and forecasting, monitorization

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

IoT use-cases (collecting data from devices), trends and forecasting, monitorization

Full-text content search

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Full-text content search

Logging, geographic information, reporting systems

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Logging, geographic information, reporting systems

Geomarketing, Supply chain optimization, Environmental Management

Relational

Document Stores

Key-Value

Graph

Spatial

Search Engines

Wide Column

Multivalue

Time-series

Geomarketing, Supply chain optimization, Environmental Management

Several of the above.

Does my microservice/micro-frontend

need a specific database?

Does your solution handle a specific type of data that no other service is dealing with?

Probably, yes.

©Towfiqu Barbhuia | Unsplash.com

Does the cloud provider offer centralized user and network access control?

Is there a need to aggregate data from the many different databases, at some point?

Is there the possibility to split databases as logical units?

©Towfiqu Barbhuia | Unsplash.com

Frontend

@anfibiacreativa

MicroApps with Shared Data Layer

@anfibiacreativa

Frontend

Frontend

Business Logic

Infrastructure

Business Logic

Data Access

Data Storage

Infrastructure

Data Access

Data Storage

Infrastructure

BL

BL

BL

Performance

©Nicolas Hoizey | Unsplash.com

Schema and Design Pattern

©Eleventh Wave | Unsplash.com

Data queried together

is stored together

Schema is not mandatory but can be enforced if needed, totally OR partially!

Indexing

©Maksym Kaharlytskyi | Unsplash.com

Workload Isolation

©Eugene Lim | Unsplash.com

ANALYTICS

OPERATIONAL

READ-ONLY

ANALYTICS

READ-ONLY

Single View Game Stats

GAME

OPERATIONAL

Leaderboard

Global Distribution

©Timo Wielink | Unsplash.com

Edge of the Network

©Marteen Van der Heuvel | Unsplash.com

EDGE DB

CLOUD DB

Conflict resolution

Optimized footprint

Synchronization

@anfibiacreativa

Simplify Architecture

Decouple Systems

Reduce TCO

Minimize Dependencies

Frontend

Data Access

Data Storage

Infrastructure

Breakdown Silos

Enable Independent Teams

Business Logic

PEOPLE

TECHNOLOGY

PROCESSES

Specialized team working on solving a concrete problem

Tech stack is chosen according to the team skills and the specific use-case

Processes are simplified to enable each team independently, based off of technology and requirements

Thank you!

Natalia Venditto

Images: Unsplash.com
Icons and graphics: flaticons.com

@anfibiacreativa

https://www.flaticon.com/authors/freepik
https://www.flaticon.com/authors/vitaly-gorbachev

Boosting Database Performance for a Microapplications Architecture

By Natalia Venditto

Boosting Database Performance for a Microapplications Architecture

  • 263