Seamless Postgress DB Scaling on Kubernetes

Commercially supported PostgreSQL on the Platform and Infrastructure of Your Choice.

Load Prediction

Self learning future requests pattern prediction algorithm

Automatic Scaling

Automating the scaling of the PostgreSQL DB based on the prediction model output

Realtime data sync

Realtime data sync between Postgres nodes to ensure the data consistency

Data Validation & Crash Recovery

Data validation and crash recovery for the PostgreSQL DB instances

Perfect Solution for PostgreSQL on Kubernetes

Escála simplifies scale so that you don't have to think about it. It distributes data and workload demand automatically. Get rid of manual replication and complicated workarounds. See the entire journey of Escála.

Easy to Use with Tons of Awesome Features

A fully managed Postgres service that allows you to choose your cloud provider without being locked in. Escála provides everything you need for a production-grade database, so you don't have to worry:

  • Quick Access
  • Easily to Manage
  • 24/7 Availability

Tools and Technologies

Kubernetes

Prometheus

Keras

PostgreSQL

Tensorflow

Envoy

Our Domain

Making programs portable with containers It's catching on. Docker is a popular containerization framework. A 2014 open-source container orchestration system. Public, private or hybrid clouds can run Kubernetes. Google used container orchestration to scale highland services. Microservices hype led to widespread containerized software adoption. Cloud computing has made Microservices a hot topic in Software Engineering. Architecturally, monolithic programs were preferred. Microservices architecture has been adopted to take advantage of cloud computing . It has also aided the expansion of financial services and streaming services like Netflix. Database technologies have not been tested due to their complexity and lack of persistence and consistency in the Kubernetes environment.

The need for database scaling in Kubernetes to facilitate high availability, performance, and best security, as well as efficient use of monitoring solutions for user convenience.

Kubernetes is a widely used container orchestration technology. But no application's state can be controlled. As a result, Kubernetes cannot handle stateful applications like databases. Although databases can be deployed on Kubernetes clusters, scaling them is difficult. The vast majority of current solutions are unrelated to databases and exclude key factors that should be included in a scaling mechanism. A scaling mechanism for containerized applications is required regardless of the technology used. High availability is critical when designing mission-critical systems. Previously, systems solved this issue by keeping a separate common database for each microservice. This may cause a system bottleneck or cause a single point of failure. While Kubernetes now has native scaling, the issue of databases retaining states remains. When scaling a system, extra considerations must be made. A novel method for scaling while maintaining a balanced workload distribution among nodes is presented in this study.

To give developers a highly accessible database that can be used with any application, regardless of their prior knowledge of Kubernetes, distributed architecture, or deployment management. A web application on the operator's front-end server allows users to set up a database cluster, allowing them to quickly get their apps up and running. After configuring the application to their liking, developers can monitor its health and performance using the frontend web application's administrative dashboards. As a result, developers will no longer need to worry about configuring or building a highly available PostgreSQL database on Kubernetes from scratch. A cloud database is one where the service provider is in charge of most of the operations and maintenance. Users have no control over database versions, updates, or scalability. For example, as shown in this study, running a database on Kubernetes gives greater control over database maintenance while still leveraging the benefits of cloud computing. Also, when it comes to database management, customers prefer to keep things simple.

Achievements

Team

Dr. Nuwan Kodagoda

Supervisor

nuwan.k@sliit.lk

Mr. Udara Samaratunge

Co Supervisor

udara.s@sliit.lk

Mr. Nilesh Jayanandana

External Supervisor

nilesh@wso2.com

Chamod Perera

Team Leader

hcsperera@gmail.com

Samanthi De Silva

Member

samanthi20258@gmail.com

Dureksha Wasala

Member

durekshawasala@gmail.com

Randu Lanka

Member

randu612@gmail.com

Documents

Project Registration Documents

Project Charter Document

Topic Assessment

Project Proposal

Proposal Document-Team

Proposal Presentation

IT18004182 -Proposal Document

IT18113228 -Proposal Document

IT18133400 -Proposal Document

IT18165258 -Proposal Document

Status Documents

Status Document -Team

IT18004182 -Status Document

IT18113228 -Status Document

IT18133400 -Status Document

IT18165258 -Status Document

Progress Presentations

Progress Presentation 1

Progress Presentation 2

Project Poster

Research Paper

Research Paper

Final Reports

Final Report - Team

IT18004182 -Final Report

IT18113228 -Final Report

IT18133400 -Final Report

IT18165258 -Final Report