Case study

Building an automation module for a network observability solution

Automation
Cloud
Monitoring & alerting
Full stack development

Business background

Clients icon

Client type

A provider of a network monitoring and observability platform
Goals Icon

Business goal

Automate the onboarding process of virtual private clouds to the client’s network observability platform

Our approach

  • Provide a team of developers and DevOps engineers with expertise in network monitoring and observability, cloud and automation
  • Design and build an entire solution from the ground up: architecture, technology stack, execution, testing
  • Enable configuration of customer's observability platform using Infrastructure-as-Code (IaC) approach
  • Ensure close cooperation with the client and a fast feedback loop
  • Organize regular, recorded demos of new features
  • Ensure the client’s feedback is promptly implemented
Requirements

Business benefits

Requirements
  • Reduced number of errors: the error-prone manual process of integrating a virtual private cloud with the client’s platform was fully automated.
  • Saved time and labor: integrating new cloud deployment with the client’s network observability platform is faster and simpler.
  • Reproducibility ensured: the IaC approach allowed for an easily reproducible and trackable configuration.
  • Ensured adherence to industry standards: the integration was implemented utilizing  widely adopted technologies.

Technical highlights

  • Prepared a configuration of AWS Cloud to be consumed by the client’s platform:

    • IAM roles and policies that provide access to the client’s platform to EC2 and S3 resources
    • S3 bucket to store flow logs for the client’s platform
    • Flow Log configuration
  • Prepared configuration of GCP Cloud to be consumed by the client’s platform:

    • Enabled flow logs for required subnets
    • Flow log sink to filter logs from required subnets to PUB/SUB topic
    • Created PUB/SUB topic
    • Created PUB/SUB topic subscription
    • Assigned roles to allow the client’s platform to pull logs from PUB/SUB
  • Prepared configuration of Azure Cloud to be consumed by the client’s platform:

    • Turned on appropriate providers to enable flow logs and network watchers
    • Network watcher and flow logs to get logs from resource group
    • Granted Azure roles access to the client's platform
    • Configured storage account
  • Prepared Terraform/Ansible modules to automatically integrate new virtual private clouds with the monitoring and observability platform.
  • Implemented Terraform provider (in Golang) allowing to automate configuration of flow log export from cloud deployment to the observability platform. The Terraform provider utilizes observability platform's API to implement changes.
  • Ensured that Terraform modules support automated export of AWS and GCP clouds to the client’s platform.
  • Implemented Golang SDK for the platform API.
  • Implemented unit tests.
Requirements

Technology stack

https://d33wubrfki0l68.cloudfront.net/d8a047215db69654f5051e38c9f6bb805fa17eea/b2dc0/img/go_logo.svg
https://d33wubrfki0l68.cloudfront.net/029e799cf6cf3ee5089ed3f3e2fdd0ff2be2ff37/2b6f7/img/terraform_logo.svg
https://d33wubrfki0l68.cloudfront.net/4747b4b474388719f10e89ca8264808ec0392411/aaeb3/img/ansible_logo.svg
https://d33wubrfki0l68.cloudfront.net/5419447265447c6cf5c68bb2ffaa811a29bf716d/63803/img/gcp_logo-1-.svg
https://d33wubrfki0l68.cloudfront.net/0c14dcb365cfeafcfd7f6cacdb863ecf82545a50/abcc4/img/amazon_web_services_logo.svg
https://d33wubrfki0l68.cloudfront.net/198d216ae037e1fb29f30c2863606e6803e067cd/7b4e1/img/microsoft_azure_logo.svg
https://d33wubrfki0l68.cloudfront.net/e6de345699b42a50d101348818ad24d4a78e5690/48d46/img/ibm_cloud_logo.svg
https://d33wubrfki0l68.cloudfront.net/9344e471712816884114169921f887d16008a6ac/8c81d/img/openapi_logo.svg

Need support with your specific case?

For more information see our Privacy policy