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 currently a working prototype, now that we have proof of concept it’s time to start adding features to facilitate the use of the product for our clients. Deploying applications by hand is error prone, and does not allow you to keep a record in your source control system of the applications and resources you have provisioned. Infrastructure as Code (IaC) tools, such as Terraform, CloudFormation or Pulumi allow us to describe our deployments as code in our projects declaratively, and apply these changes automatically when running CI/CD pipelines.
Objective
The objective of this internship is to create an IaC tool for Atoti PaaS. The platform exposes REST APIs to control it without using the UI. The tool you create will use these APIs to configure and manage Atoti deployments on Atoti PaaS.
You will be expected to produce the following during your internship:
- IaC script to declaratively configure Atoti PaaS deployments
- CI/CD runner to apply the configurations declared with the IaC tool to the PaaS
- Terraform plugin for Atoti PaaS (Optional depending on remaining time)
Technical stack
Atoti PaaS is a microservice application deployed with kubernetes. The microservices are written using Python and FastAPI. The IaC tool you write can however be written in any language, provided there is a tangible advantage over using Python.
The CI/CD tool you will use to test the workflows is CircleCI.