Active Omni Architecture
Palanivelrajan B
Feb 05 2020
Agenda
Highlights
Technology Stack
Deployment
Role of Frameworks
Components
DB Upgrade and Extensibility
Scalability
Questions and Open discussion on any other topics
Highlights
Microservices
Versionless
Zero downtime upgrades
Elastic Scalability
High scalable
Containers to reduce deployment complexity
Portability
Stateless
Extensible ( Database, backend and UI)
Technology Stack
Java - Primary Programing language
SpringBoot and SpringCloud - Cloud Support
Gradle - Build Tool
Docker - Containerization
Jenkins - Continuous Integration
AWS - Cloud Formation
GCP - Rubik (python/shell based)
MySql - Database
Technology Stack - Others
Go
Rundeck
NodeJS
and many more
Deployment
Supports both AWS and Kubernetes
Fully automated installations and upgrades. We mean it.
Components dont depend on Cloud vendor. Interaction abstracted with frameworks.
Deployment - AWS
AWS - Cloud Formation for infra setup
AWS - ECS for container orchestration
Autoscaling partly using aws and partly using Hscaler
Deployment - GCP
Takes advantage of Kubernetes
Rubik - wrapper around kubectl which takes are of
orchestration
HScaler monitors infra and submits requests to kubectl to scaleup / scaledown
Default choice of deployment going forward.
Plans to move all production AWS customers to GCP / Kubernetes
Role of Frameworks
Invested on framework to have consistency and avoid redundant code
Entity FW - wrapper around ORM
Batch - support for batch/scheduled executions
Rules - Supports conditions and actions
AWPF - Async processing.
and many more
Role of Frameworks - Entity FW
Consistent and easy way to create entities and access them.
XML based metadata
Generates lots and lots of code
ORM mapping.
Service layer
Document Layer
Controller Layer
Swagger Docs
Security
Context
Role of Frameworks - Entity FW
Multi tenancy
Extensible
Entity relationships
Role of Frameworks - Rules
Drools and MVEL based
Condition expression parser
Evaluation based on Drools or MVEL
Actions are java implementations.
Supports chaining of conditions.
UI to build conditions.
Role of Frameworks - Batch
Based
Components
DB Upgrade and Extensibility
Scalability
Questions and Open discussion on any other topics
Thanks You...
Made with Slides.com