A. Design pattern
¶
Separation of Concerns¶
- Keep frontend, backend, and database independent.
Service-Oriented Architecture (SOA)¶
- Microservices communicating over: microservice in details
- REST
- gRPC
- messaging systems :
API-first Development:¶
- Design APIs before implementation to enable parallel development.
Event-Driven Architecture¶
- Use
event streams
for real-time updates - Kafka,
- AWS::SQS + AWS::EventBridge
- RMQ::StreamingQueue
Serverless Architecture (auto-scale,etc)¶
- AWS :: Lambda
- for scalable and cost-effective solutions.
- Other AWS serverless offering
- fargate (ECS/EKS)
- sqs,s3
- AWS DB :: DynamoDB,Aurora
Twelve-Factor App
¶
- Guidelines for building
scalable
andmaintainable
applications. - -02_twelve_factor_app.md
B. Infrastructure components
:¶
Front-end¶
- framework:
Reactjs
: project-1 | project-2(redux)Angular 2+
:- js/html/css : front-end-pack
- ng: Angular project-1 MEAN-stack | Angular project-2 OTT
- css more: css notes-1 | css notes-2
Vue.js
- SPA
- PWA
Backend¶
- GraphQL APIs : pending
- frameworks for RESTful APIs
- java --> SpringBoot
- js/ts/nodejs --> Express.js
-
py --> Django/fastApi
-
API Gateway:
- Routing, authentication, rate-limiting
- ingress server in K8s
- Microservices
- deploy via
- containers (Docker)
- orchestration (Kubernetes) : pods+services
- 03_Kubernetes
- https://github.com/lekhrajdinkar/03-spring-cloud-v2/tree/main/Notes
- 01_monolith_MicroServices.md00_kickOff
- Load Balancers
- AWS :: ELB/Elastic Load Balancer - alb, nlb,
NGINX
- Cloud services : AWS: lambda, s3, sqs, etc
- 01_aws
Database¶
- Relational Databases:
- PostgresSQL /
Aurora
(serverless) - MySQL
- NoSQL Databases
- MongoDB,
- Cassandra,
- AWS:
DynamoDB
- Horizontal scaling : aws serverless takes care
- Distributed architecture
- primary writer instance
- multiple READ instance
- replication with encryption at rest.
- AWS serverless takes care.
- Caching:
- Redis
- Memcached
CI/CD pipeline¶
- GitHub Actions
- Harness
- containerization: docker/k8s
Observability and Monitoring (log,metric,traces)¶
OpenTelemetry
micrometer
- Prometheus, grafana, AWS:CloudWatch
- Application health
- distributed tracing
- AWS:CloudWatch>x-rays
Authentication and Authorization¶
- 01_web_Security
- SAML + SSO
- LDAP
- Okta
- OAuth 2.0,
- OpenID Connect