Promises of SONiC Network OS
Header Background Image

Case study

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

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

Business benefits

  • 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.

Technology stack

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]

Need support with your specific case?