Summary
Atoti is the data analytics platform developed by ActiveViam especially for financial services organizations. This unique technology meets the specific needs of the industry in ways general-purpose databases and mass-market business intelligence tools do not.
The Financial Services industry is progressively adopting the cloud for use cases Atoti handles. Migrating their solutions to the cloud has brought new challenges to our clients in managing their Atoti applications. To assist them in this process, we have begun development of a new product, Atoti PaaS.
Atoti PaaS is a kubernetes application which updates automatically through our CI/CD pipelines. Currently, the entire platform is updated in one go for all of our users. In order to better test new features when releasing, we would like to implement rainbow releases, which will allow us to only update the application for a subset of our users at a time, and make rolling back easier in case we introduce regressions.
Objective
The objective of this internship is to implement a rainbow release system for Atoti PaaS. We want to be able to deploy multiple versions of each service and selectively route traffic to the different versions based on a set of parameters to be defined.
We will begin by implementing this feature on our test cluster, and running integration tests on different versions of our services simultaneously. Once this is functional, we will then apply the rainbow release configurations to the production cluster.
Technical Stack
Atoti PaaS is a microservice application deployed with Kubernetes. The microservices are Python applications using FastAPI. The frontend is a React/Typescript application. You will use the many capabilities of Kubernetes in order to implement rainbow releases for Atoti PaaS.