An automatic data center and low-level network infrastructure management solution
Cloud
Automation
UX
Full stack development
Business background
Client type
Networking software provider offering solutions in areas including SDN, WAN controllers, SD-WAN/LAN, Monitoring, NFV platform, and networking security software
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.