Home » Case study » How to speed up software development, deployment and maintenance in large organisations thanks to using automation
The Polsat Plus Group in collaboration with the architects from Mindbox has developed a set of good practices and ready to use templates that will allow speeding up of delivery of new software releases to end-users and facilitate their maintenance and development. They allow the implementation of more new functions in a shorter time, reduce the number of outages and decrease the costs simultaneously.
The Polsat Plus Group is the biggest supplier of integrated multimedia services in Poland. It is a leader in the pay-TV market, with a leading position in the telecommunications market and private TV broadcasting market. It includes the Plus network operator Polkomtel Sp z o.o., Telewizja Polsat Sp z o.o., Netia S.A. and Grupa Interia Sp z o.o.
To sustain its market position while boosting its competitive advantage, the Group has commenced broad digital transformation, with one of its main themes being the transition to a new model of software development and its delivery to end customers. This initiative, based on agile methodologies and the DevOps approach, enables the Group’s organisations to increase their speed and productivity while reducing costs.
The modern digital economy is based on applications. Therefore, boosting the effectiveness of the work of developers, cutting down the time to produce new software releases and at the same time facilitating the work of IT operations specialists is of crucial importance for achieving business success. The ultimate effect is in fact faster delivery of better quality products to end customers at reduced costs.
In the new world of agile methodologies and DevOps approach, developers receive the resources they need – as long as it’s in line with company policy – automatically and instantly. All they have to do is describe the environment they need and they have it at their disposal almost instantly. What’s more, once they produce the code, they do not have to organise tests and ask for the approval needed to deploy the program in production. These activities are largely automated and humans only verify and approve the effects of the operation of algorithms.
In this new world, the application architecture is based on microservices. Every application consists of multiple standard elements that are services, which operate independently of each other. This allows changes to applications to be implemented instantly and seamlessly. While one microservice is being updated the others can continue operating. No long-lasting maintenance windows are needed to make improvements to even the biggest and most complex systems.
Historically most of the processes related to the development, deployment, maintenance and extension of applications in the Polsat Plus Group were completely manual. Only subsequently, along with the popularisation of virtualisation and then of containers it became possible to boost effectiveness in this area. However, quite soon it became apparent that there was further room for optimisation regarding the infrastructure and software development. Automation creates the possibility for faster deployment of Kubernetes clusters. The entire process does not require any human involvement on the operations side.
The Polsat Plus Group, like all other big organisations, has strong and well established IT structures. At the same time, it has to face the technology legacy built up over many years. Such situations typically require professional support provided from outside. It takes a good in-depth knowledge of the new technologies market, but also the experience allowing their production implementation. With such a partner it is easier to make up for the time passed.
The Group needed support in launching and executing the transformation in this respect. It has selected Mindbox as the partner and its mentor for this initiative. The cooperation plan involved the preparation of action templates and the development of best practices based on the case study of one of the company applications.
As part of the project, the architects from Mindbox have conducted workshops that were attended by both the developers and infrastructure specialists from the Polsat Plus Group. The goal was to develop the most effective methods of collaboration, creation of environments, generation of code, its testing and production implementation as well as its subsequent maintenance and upgrading.
The final deliverable was the templates and the code allowing simple yet at the same time fast deployment of the developed standards.
A template is in fact code that when launched based on defined values starts a computing cluster consisting of a specific number of machines with defined parameters. Specific applications’ management settings apply to these clusters. They also run components that on the fly collect information about the operation of an application.
The templates are parameterisable, allowing the infrastructure being commissioned to be tailored to the needs of specific teams. One group may require a cluster consisting of a bigger number of machines, and another will need a specific set of system components that are not required by the other teams. Other templates are used to provide an application for supporting the entire lifecycle of applications. It contains the code repository, the test system and the deployment system.
For instance, when the team in charge of the VOD app wants to add new functions to it, all they have to do is define what they need, and appropriate resources will be made available to them. Then the developed code will be stored in a specific location and the tests and the implementation will be performed in line with the company policy. All this is automated to the maximum possible extent.
In the end, the Polsat Plus Group may, with the developed templates, implement even over a dozen new functions a month while beforehand this was one or two a month. Also, the number of outages was significantly reduced as this new automated environment features an inbuilt capability to instantly restart a malfunctioning application without a need for human intervention.
The entire new environment is defined by code. Practically nothing has to be done manually. Even in an emergency, there is a code that describes in detail how the infrastructure is to be restarted from scratch. All the processes relating to the creation and management of an infrastructure related to launching the software created by developers are automated.
At the same time, the complete environment is fully scalable in every layer – physical, application servers and the application itself. Also, the resources are fully democratised with the use of horizontal scaling. Because this environment is being built using many smaller and relatively cheap machines, it is much easier to expand and new resources can be added at any time. Furthermore, in critical situations, these resources may be in simple way extended with the public cloud.
This is also true at the application level. When suddenly many people start calling up an application it automatically scales up to the relevant number of copies, all logically separate from each other. An app may be running as one or for instance as 50 copies, as required at a given moment.
Also, the increased reliability of apps is important. If the resources in one data centre fail, the apps will automatically switch over to other resources in another centre.
Last but not least it is worth noting that the new environment also boosts control over any modifications being introduced. A state can be restored to a point from before a change that resulted in the system malfunctioning. This means easier restoring of environments and simpler development of new ones.