Software deployment is the process of remotely installing software on multiple or all the computers within a network simultaneously, from a central location. In the past, the process was very manual and a user had to isolate and locate the software package (artefact) and transfer it to the required server. For example, using scp (secure copy) is a popular command that helps you with that.
A full command example can be found below, where a java application i.e. billing service is being transferred to the specific internal IP address.
scp -P 2222 billing-service-v1.5.6.jar username@192.168.2.45
At some point in the past, the next step was to make the entire deployment process more user friendly. Therefore, ftp clients were created and instead of using the terminal, a user was able to open the FTP client e.g. Filezilla, connect to the server and view the directories of that specific server. The drag n’ drop of the “billing service” was now so simple that even a non-technical person could do.
However, nowadays scp and FTP clients are not considered safe options, as they are manual processes and they imply a major risk of even failing the production system, which translates to the discontinuation of the online business.
Fast forward to the recent past and the current deployment strategies, new strategies were born and automation replaced the manual intervention to the systems. Therefore the risk of failing a system has been minimised. The most popular deployment strategies currently used across the industry are listed and described below:
A big bang deployment means defining and developing a solution, testing the build, and applying the changes all at once. This approach means that the entire solution goes live throughout the company with the flip of a switch. Depending on the situation, this is an option I typically advise customers to avoid. Sometimes it’s the only option due to issues such as license dependencies. If a big bang deployment strategy is planned correctly and executed accordingly, it can deliver results straight away. However, “big bang” comes with a high level of risk, so typically, when there are alternatives, it’s advised to avoid this option.
A pilot deployment strategy is another quite obvious option to consider since in this case, we are interested to partially deploy to different amounts of people. It’s very relative to the “big bang” but provides some protection that deploys the new application to a small and targeted group of users who can use the system in a controlled environment. The business receives the feedback from the new version usage and then makes changes and adjustments accordingly to get some confidence and improve the overall quality of the application. Once the application has received good feedback as well as a high level of confidence in the application, we can then use the “big bang” deployment previously outlined.
Example strategies are the following:
In contrast with the immediate implementation of the big bang approach, a phased deployment is a more timed and methodical introduction of new processes. The big bang deployment plans everything up-front, a phased approach employs a continuous delivery model to ensure a smooth transition over time.
Now it’s time to weigh the pros and cons between the different approaches deployment approaches, consider what your business needs most and which option will give the most benefit back to the company with the smallest impact on your operations during the transition.
Before you go away, we would like to thank you for reaching this point. I really hope I have managed to transfer some knowledge to you. If you would like to explore more about these concepts, at Reply we are offering the opportunity to discuss and adjust them to your services and needs. Feel free to browse at Reply Online Services (ROSe) - rose.reply.com and book an appointment with us.
We are technology consultants at Net Reply UK. The team consists of software developers, technology enthusiasts specialising in Telecommunications and technological concepts such as Software Defined Networks (SDN), Network Function Virtualisation (NFV), DevOps. Our mission is to build the Next Generation Networks leveraging the art of software and the latest technological trends. If you would like more information, feel free to reach out on LinkedIn (stelios-moschos). Alternatively, you can learn more about us on LinkedIn (Net UK) and Twitter (Net UK)