Microservices All in One Platform
Microservices All in One Platform
Platform
https://github.com/panaverse/learn-generative-ai/tree/main/05_microservices_all_in_one
_platform
What is Microservice?
“A method to build software as a collection of small, independent services, each
serving a specific function.”
Agility Quick
Complexity
More complex than traditional
to deploy new features.
monolithic apps.
Why Team?
Diverse Skills Efficiency and Scalability
01. Combines expertise for superior
problem-solving.
03. Facilitates parallel work and faster
development, accommodating service
evolution.
02. 04.
Quality and Maintainability Reduced Risk
Encourages collaborative code reviews and Ensures continuity and minimizes
knowledge sharing. disruption if a member leaves.
Microservices: Types and Data Persistence
Microservices can be categorized by their accessibility to users and systems, and they
utilize various data persistence methods to manage and store information effectively.
Microservice Categories
Reliability Bugs
can affect the entire
application's availability.
Choosing Between Monoliths and Microservices
When to Choose a Monolith
Agility Resilience
Supports rapid, independent deployment Faults in one service don’t affect the entire
of features, facilitating faster iteration. application, improving overall stability.
Microservices: Avoiding Cloud-Vendor Lock-in
Our vision to build microservices on an all-in-one platform that minimizes cloud-vendor
lock-in is achievable through a strategic combination of technologies, each playing a
unique role in the ecosystem.
Technologies Breakdown
Docker Kubernetes
Facilitates consistency and portability across Offers a cloud-agnostic orchestration layer for
environments by containerizing applications, containers, enabling applications to run on any
making it easier to move workloads across infrastructure, from public clouds to on-premises
different clouds without lock-in. data centers, aiding in avoiding vendor lock-in.
Microservices: Avoiding Cloud-Vendor Lock-in
FastAPI PostgreSQL
Being a framework for building APIs with Python, As an open-source relational database, PostgreSQL can
FastAPI is independent of the cloud platform, run in any environment, cloud or on-premises,
ensuring that your application logic remains avoiding database lock-in while offering the benefits
portable and cloud-agnostic. of a robust, enterprise-grade database system.
While trends in technology do evolve, the fundamental drivers behind the adoption of
microservices—such as the need for agility, scalability, and resilience in application
development—are likely to persist. This suggests that microservices are not merely a
passing trend but a response to the long-term evolution of software development
practices.
Domain Driven Design
Domain-Driven Design (DDD) is a software development approach focused on aligning
software models with business domains. It's particularly effective in microservices
architecture due to its emphasis on clear boundaries for domain contexts, perfectly
complementing the principles of microservices.
Service B
02. 04.
Keep code at a similar level of Assign each microservice with a
maturity single responsibility
Service B Service A
Level 2 Level 3
Best Practices
Deploy into containers Adopt domain-driven design
05. Service A
07.
Service B
06. 08.
Design stateless services Design micro frontend
Payment Frontend
Request
Service
API Gateway
Response Payment Service
Best Practices
Orchestrating microservices
09.
API Node 1
API Node 2
API Node 3
Kubernetes
Master