A Smart Device Manufacturer, who invents and manufacture technologies and products that are use worldwide, with direct presence in more than 23 countries. Manufacturing products that are used across industry verticals such as energy, safety, security, smart buildings and Offices. The company writes software products that powers their physical products and implementing IoT for connected and smart devices.
Consulting DevOps and Micro Services Strategy for a Large Smart Devices Manufacturer
About the Customer
With the arrival of new scenarios related to the Industrial Internet of Things and Industry 4.0, there is a huge requirement for radical change for all manufacturing companies. The customer is beginning their journey on IoT with a vision of making all their devices smart. The Software components that were powering their devices today were monolithic and it has to be relooked at from a Connected Environment Perspective that also need to be future focused for Large Volumes of Data handling, Parallel Processing and AI at the edge level. The Software that powers these devices will become the core of the product itself and it has to be a robust software component.
The Customer while adopting to more industrialized methodologies and tools for developing software, understands the importance of getting the guidance and support from those whom have the expertise in doing so: WATI.
WATI’s consultants understood the business requirements of this customer from the technology, business and process aspects:
- software development methodologies that allow for gradual software releases, in various versions, which are both tested and robust.
- microservices based software architecture for loosely coupled software components that can be fine-grained and to use light weight protocols.
- promotes the collaboration among solution development and IT operations teams with the goal of faster time-to-market and increased efficiency of application update delivery.
In this case study, we will focus on the DevOps Journey and Microservices architecture recommendation to this customer by WATI.
The Solution Approach
Keeping in mind the customer’s vision of “Fast-track development with secure and transparent information access, delivered at the speed needed, with minimal disturbance to the customers and stake holders”, WATI deployed a team of consultants to define the process of release cycle and management to meet the objective of Sprint Cycles of 6 weeks, to start with.
WATI consultant’s next approach was to define microservices architecture, to rewrite their existing monolithic software codes, that can also leverage the DevOps Principles. The teams agreed that moving to a container-based cloud environment would help facilitate the rewrite to MicroServices and also bring in the desired level of automation, for repeatable provisioning, testing and deployments. The microservices environment was built using NGINX, Consul, Consul-template, Vault, and Registrator.
WATI consultants were able to architect and orchestrate the delivery pipeline with automated workflow using AWS automation. Building microservices made developers to focus more on their piece of delivery as the provisioning, integration, testing, compiling and deployment in to preproduction and production were automated.
Moving away from their legacy environment where every server was built from scratch was replaced with Docker based containers. As applications were packaged in containers, WATI worked with the customer in handholding them through the process and trained them on Dockerization and in parallel was working with them in automation of testing of the code components.
WATI consultants developed the road map for clustering and scheduling of these Docker containers using Docker Swarm, by developing Ansible Playbooks. Docker Swarm made the management of multiple docker nodes easier and simpler.
The solution delivered by WATI by leveraging Microservices and DevOps has brought additional productivity by using a common toolset, which can be used for both development and operations. DevOps and microservices work better when applied together.
Deployability: reduced the time to build, test, and deploy cycles to 6 weeks sprint.
Reliability: Thanks to the microservices based architecture, a fault with a microservice only affects that microservice, and its consumers. The physical product is highly reliable, and the customer can now release patches that are small (<55 KBs), without the devices consuming a lot of network bandwidth.
Scalability: Due to AWS and docker based containers, Microservices can be scaled independently using pools, clusters, grids.
Management: Shorter Sprints, Microservices architecture, Test, Deploy, CI/CD automation splits the development effort and is divided across teams that are smaller and work more independently.
Cost Reduction: Kept multiple version deliverables in a release-ready state and thereby reducing the time and cost of delivery. By Automating Deployment and Continuous integration through scripting reduced a lot of manual intervention and efforts resulting in significant cost saving.
Time-to-Value Acceleration: Continuous delivery for customers with added functionalities and speed of execution and improved insights helped to accelerate timeto-value.
Deploy -> measure -> adjust -> deploy: While the SCRUM model helps to do incremental small releases of the software based on end user requirements, the customer was able to deliver larger scale releases – based on the product roadmap, due to the fact that the solution that WATI delivered helped them with continuous data gathering. The Processes and Tools helped them to reduce the feedback cycle with their customers and increased their ability to respond with improved agility.
Quality of Delivery: Continuous Integration and Delivery needs a lot of automation and lesser user intervention to maintain high Quality of the delivery and reduce rework. WATI delivered just that. By Automating from Code Modification to Compilations to Deployment to Auto Configuration of Servers – wrote custom scripts and there by ensured better quality of delivery and happier customers and less unplanned reworks.