Deployment Automation: High-quality software at the push of a button

Lorenz KopczynskiOctober 2017

Deployment (software distribution) refers to semi-automated or fully automated processes to distribute software packages on platforms. The aim of a deployment is to install a new software version on all servers in an environment in a reliable and risk-free manner. [1]

Whereas deployments used to be sporadic in the past, today we see a trend towards regular deployments. Whilst there is no one-size-fits-all approach for all e-commerce platforms, the basic rule applies to all systems is that the fewer changes within a single deployment, making the deployment smaller, the better.

Challenges of manual deployment

The growing complexity of applications, more frequent application changes, and the need to deploy across multiple environments and infrastructures push older deployment processes and tools to their limits. The existing manual or semi-automated application delivery models, in which a system engineer executes planned releases in accordance to instructions on a step by step basis, are inefficient, time-consuming, costly, and error-prone.

Therefore, the manual deployment process is used as little as possible, which aggravates the problem. As a result, deployments become larger in size, have more complex manuals, and present a cluster risk because they cover multiple changes in a single release.

In addition, the employees who execute the deployments gain little routine. Deployments on the development and staging environments are also often performed by developers themselves; as a consequence, the various environments may drift apart.

Quality and speed thanks to automated deployment

Because of the above-mentioned challenges, manual deployments are increasingly being replaced by automated deployment processes. Automated deployment is a process in which a release is loaded onto a platform without manual interaction. Deployments are automated to the extent that they can be triggered directly by the development team or even by a project manager, without the intervention of a system engineer. 

Automated deployment can be used for both production as well as test- and development environments. Automation improves the stability of a deployment by allowing the process to run more regularly and prevent the drift of environments. In addition, the costs are significantly reduced by automated deployment.

Orchestration via Octopus Deploy

Unic uses Octopus Deploy to orchestrate automated deployments. Octopus Deploy offers many possibilities to divide complex deployments into steps that can be applied to different environments and with specific characteristics. Parameters can be limited to different scopes and overwritten. All functions are summarized in a clear interface and thus offer the best overview and high flexibility. [2]

The deployment solution is part of Unic's business offer. We believe that automated deployments are an essential part of running a successful, state-of-the-art and innovative e-commerce solution.

Our Service

Operations – We Run Web Applications

We run your web application throughout its entire lifecycle. Our focus: availability, performance and security.

Operations

Sources:

[1] https://en.wikipedia.org/wiki/Software_deployment
[2] https://octopus.com/

Contact for your Digital Solution with Unic

Book an appointment

Are you keen too discuss your digital tasks with us? We would be happy to exchange ideas with you: Jörg Nölke and Gerrit Taaks (from left to right).

Gerrit Taaks

Contact for your Digital Solution

Book an appointment

Are you keen to talk about your next project? We will be happy exchange ideas with you: Melanie Klühe, Stefanie Berger, Stephan Handschin and Philippe Surber (clockwise).

Melanie Kluhe
Stefanie Berger
Philippe Surber
Stephan Handschin