Migration of the properto.io system to the Azure platform based on Azure Kubernetes Service (AKS)
Properto.io is a system used by housing cooperatives and property managers for facility maintenance. It offers a solution to manage and track progress of servicing requests, generate contractor work reports, analytics and statistics.
Hostersi helped the customer develop and implement a strategy for enabling containerization for the app. Our team worked alongside a team of developers and designed an infrastructure that allowed to introduce the changes and in effect achieve zero downtime in the continuous deployment process and reduce the time to market.
Solution:
- Azure KUBERNETES SERVICE (AKS) is used to manage the Kubernetes cluster. AKS allows to maintain high availability and secure continuity of application operation
- The infrastructure is designed in accordance with IaC (Infrastructure as Code) principles, i.e. infrastructure created through a script / machine readable code. This allows to quickly create, set-up and run any number of infrastructure instances.
- Application deployment in the cluster is carried out in accordance with the GitOps methodology.
"During the implementation of AKS, we relied on the support of Hostersi engineers to focus on our main goal of customer satisfaction. Ongoing professional administrative care provided by the company allows us to be sure that the solution is always available to users."
Miron Bryła
President of the Management Board at iMieszkaniec.pl Sp. z o.o.
Azure services used in the project:
PostgreSQL – a flexible database engine fit to the specific application needs. It provides many configuration possibilities, utilizes PgBouncer package, and also allows to easily scale resources for the workload in a virtual infrastructure network.
Azure Kubernetes Service (AKS) – managed Kubernetes service, key component of the solution’s cloud architecture.
Azure Storage – secure and scalable infrastructure information and file storage for application files deployed in a Kubernetes cluster. It provides quick file access, versioning and integration with the infrastructure's internal network.
Virtual machine – virtual machines are needed to create application images for the container registry and provide a bastion connection to the infrastructure's private network.
Container Registry – storage solution for images used for image deployment in the Kubernetes cluster.
Key Vault – manager for secret keys used in the infrastructure providing additional automation. The service is integrated with the infrastructure's private network.
Azure Alerts – configured to detect exceeding certain usage thresholds for key services. It feeds information to external monitoring systems used by Hostersi for 24/7/365 technical support.
Additional services used in the project:
CloudFlare – used to provide DNS support and free SSL certificates as well as a CDN. In addition it offers features to improve the system performance and enhance security.
DataDog – external infrastructure monitoring software providing insight into key component operation and health status.
Terraform – Used to create and manage Infrastructure as Code.
GitLab –repository used to aintain the application code built by GitLab Runner, IaC and ArgoCD code.
Schema:
Benefits:
Azure Kubernetes Service is a powerful tool for running containers in the cloud that allowed Properto.io to isolate services and components in containers, and improve computing resource utilization when compared to a single service per host model. An added benefit to this solution is the pricing model, in which the AKS service itself is free of charge and the customer only pays for the utilized resources.