DevOps applied in Sidra Data Platform¶
Sidra Data Platform follows DevOps philosophy and practices increasing the ability to deliver applications and services at high velocity ensuring the quality of the solution.
Continuous integration is a software development practice where developers regularly merge their code changes into a central repository. After each merge an automated builds and tests are run. The goals are to find and address bugs quicker, improve software quality, and reduce the time-to-market.
Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. At any time a testing environment is available to use.
Infrastructure as code¶
Infrastructure as code is a practice in which infrastructure is provisioned and managed using code and software development techniques.
One of the main reason Sidra implements infrastructure as code is to solve the problem of environment drift in the release pipeline. To reduce issues during deployments, due to the inconsistency among deployments, all the resources are declared and configured using code.
Sidra Data Platform uses Azure Resource Manager (ARM), the deployment and management service for Azure. ARM templates are used to define and deploy all the resources needed. ARM provides a consistent management layer that enables to create, update, and delete resources in Azure subscriptions.
All the resources needed in Sidra are grouped in Azure Resource Groups and they are declared, parametrized and orchestrated for deployment using scripts.