Case study

An automatic data center and low-level network infrastructure management solution

Cloud
Automation
UX
Full stack development

Business background

Clients icon

Client type

Networking software provider offering solutions in areas including SDN, WAN controllers, SD-WAN/LAN, Monitoring, NFV platform, and networking security software
Goals Icon

Business goal

Reduce the cost of installing and configuring a complex software stack by building a solution that allows the customer’s network management application to be easily deployable

Our approach

  • Collect requirements from all stakeholders
  • Coordinate the creation of the entire architecture design with multiple parties involved in delivering the full system
  • Deliver each component of the system in iterations to conform with the client’s requirements
  • Cooperate closely with the client-side product owner
  • Improve the system’s user experience by proposing multiple changes in to the UI design
Requirements

Business benefits

Requirements
  • Covered all product development stages: from gathering the requirements to releasing a fully working solution on the client’s infrastructure.
  • Minimized effort: CodiLime took over the project’s management to minimize the effort required of the client.
  • Ensured progress monitoring: iterative development allowed the client to have a full overview of the project development process.
  • Ensured quality: the CodiLime team was a part of the client’s internal QA process.

Technical highlights

  • Built a Virtual Appliance—a pre-configured virtual machine image containing the operating system, container orchestration platform, and the application itself.
  • The architecture of infrastructure management system was based on microservices provided in individual containers.
  • Kubernetes was introduced to simplify the configuration and lifecycle management of each service.
  • Kubernetes provided basic abstractions like Services, Deployments, StatefulSets, and Pods.
  • Abstractions could be used to manage and scale each of the services individually.
  • A custom Kubernetes Operator was used to perform complex and application-specific actions beyond what Kubernetes itself provided.
  • With the help of the Operator, the system could be automatically upgraded, scaled, and recovered from failure.
  • The system could be installed without internet access.
Requirements

Technology stack

https://d33wubrfki0l68.cloudfront.net/d8a047215db69654f5051e38c9f6bb805fa17eea/b2dc0/img/go_logo.svg
https://d33wubrfki0l68.cloudfront.net/674c64c3815aef5054f4e146e1779908fb11b6b9/38f97/img/python_logo.svg
https://d33wubrfki0l68.cloudfront.net/169ce718b63576d3a5fea2e97fa4c31eb07b4ebc/d158e/img/gitlab_logo.svg
https://d33wubrfki0l68.cloudfront.net/ec0eb0e4d63b314a732c47b0a17cda131af310ba/baefe/img/jira_software_logo.svg
https://d33wubrfki0l68.cloudfront.net/cb7fc887a6628cc0f4e4fa7f9fb91fc492d00bd9/e4e0f/img/docker_logo.svg
https://d33wubrfki0l68.cloudfront.net/82a49282c9ac0f7a4e6139749ba49ce3ca01ab9e/73a09/img/kubernetes_logo.svg
https://d33wubrfki0l68.cloudfront.net/3f1af5bb5dd67e1e5f00abe991d3703ea4e2ac58/47d61/img/openshift_logo.svg
https://d33wubrfki0l68.cloudfront.net/4747b4b474388719f10e89ca8264808ec0392411/aaeb3/img/ansible_logo.svg
https://d33wubrfki0l68.cloudfront.net/2e509d3cfdcefcee92c52d6c6113a07f0b14140f/fbd8c/img/operator_framework_logo.svg

Need support with your specific case?

For more information see our Privacy policy