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