Reducing Cost wih Azure Functions
Implementing azure function as a pipeline replacement
Table of contents
For most scenarios, github webhook usually provides enough information to its destination but lack of info that require integration from other tools
Tools | Scope | Description |
Jfrog | artifacts, image | able to obtain status and names |
Sonarqube | unit test , SAST | able to obtain results and compliance |
Fortify | DAST, SAST | able to obtain results and compliance |
Veracode | DAST, SAST | able to obtain results and compliance |
Tradicionally , the implementation and integration of tools is achieved with a pipeline that is deployed on premise/cloud/hybrid environment with a CI tool available in the market which also increase cost in management and maintenance
Tools | Scope | Description |
Jenkins | self managed | CI tool able to be deployed anywhere |
Tekton Pipelines | kubernetes oriented | CI tool focused on being deployed on k8s clusters |
Github Actions | Saas oriented | managed service for github repositories |
Azure Devops | Saas oriented | managed service for any git repositories |
The same desired state can also be achieved by using azure function as a centralized managed CI tool that is focused on the code to be executed rather than infrastructure to be implemented to obtain the desired output
Features
Azure Function access is managed by azure RBAC roles
Azure Function provide environment variable in case human interaction is required
Code to be published and maintained is detached from a specific CI tools language model
Managed identities provide a layer of security to access and store credentials and custom configuration in azure storage or azure keyvault
Managed identities can also provide access to other resource as database in case a statefull workflow is necessary
Endpoint target are unaware and completely isolated from changes ocurring in this workflow allowing to detach this process from the value added chain