Anaeko Blog

Why do you need a Deployment Strategy?

Written by Emma Foster | Feb 16, 2024 1:41:54 PM

Anaeko and our partner Octopus Deploy held an event in the iconic Hilton Hotel in Belfast, exploring the challenges from start-up to enterprise when implementing an effective deployment strategy. The event brought together many from the growing DevOps community across Ireland, with some executive team members and senior engineers also in the audience. 

We heard from Michéle Johl, IT Engineering Manager at Unily. Michéle explored how Unily went from a start-up solution to an enterprise-level SaaS platform using Octopus to deploy their platform for clients, with lessons learnt:

Unily and Octopus Deploy

Over the past seven years, Unily have utilised Octopus as a transformative tool in our journey from a startup to an enterprise. Initially deploying around 30 sites per month, we've evolved to managing thousands on a monthly basis, sometimes even on a daily schedule. Our transition extended from a hybrid setup to working with VMs and entering the Kubernetes realm, where Octopus remains an integral part of our operations.

Unily, for those unfamiliar, is an intranet-based Software as a Service (SaaS) platform, enhancing user engagement experiences. We are proud to have secured clients such as McDonald's, Shell, J&J, and British Airways. Our achievements include winning numerous awards.

With our dynamic platform, deployment strategy is crucial, and it has presented an exciting challenge over the past seven years. From an initial user base of 20,000, we've scaled up to an impressive 5 million users and counting.

The primary drivers for choosing Octopus, then and now, are its strong emphasis on security and compliance, along with its API-first approach. These key factors continue to make Octopus our preferred choice today.

Catch up on full keynote talk from Unily:

Why do you need a Deployment Strategy?

Deployment strategy is absolutely crucial, and neglecting it could lead to the failure of your software. Whether your market is internal or external, a solid deployment strategy is the lifeline for successful software release. Initially, your software may make it to market smoothly, but as your systems expand over a year or two, the lack of a robust deployment strategy will start causing issues.

Reliability and stability are paramount in this process, and they are key factors that should be prioritised. These considerations come in almost a sequential order of importance, emphasising their critical role in ensuring a successful and sustainable deployment strategy.

Reduce Downtime

Downtime is a significant consideration in any deployment. With the right strategy, downtime can be minimised. For a startup like ours, this was absolutely crucial in swiftly delivering features to our clients. Selling a new product is impossible without the necessary features, and competitors can quickly overtake you. Therefore, having an effective resource optimisation strategy became a vital piece for our success.

Improving Collaboration

Improving collaboration is a game-changer with a deployment strategy, extending beyond internal teams to include external partnerships with your clients. Enhanced collaboration across development, QA, and operations support teams is critical, even though the latter often faces challenges in the development life cycle's final stages. When collaboration is optimised, everyone is informed about features, clients are more satisfied, and the collective effort results in a superior system.

Scalability

Scalability is a monumental aspect of any deployment strategy, and it's crucial to adopt a forward-thinking approach. Instead of focusing solely on the present, envision the next 5 or 10 years. The decisions made today regarding deployment strategies can have long-term repercussions. 

This underlines the importance of strategic foresight. A decision made today can either save you or cost you dearly in the future. Investing the time and resources to plan for scalability now can prevent the need to spend hundreds of thousands, if not millions, later to rectify past mistakes.

Reduce Cost

Whether you're a startup or an enterprise, money is king. You can go from a very streamlined system to a flawed deployment strategy that can lead to spending hundreds of thousands, or even millions, on unnecessary resources. This financial drain is a direct consequence of a poorly implemented strategy.

Implementing a cost-effective deployment strategy can significantly reduce both your operational and infrastructure expenses. It goes beyond the physical costs of equipment or cloud infrastructure to include operational expenditures, such as paying engineers for deployment tasks. When faced with the necessity of deploying fixes or introducing new features, accommodating clients' preferences for non-business hours can result in weekend work, leading to overtime expenses.

However, with a well-thought-out strategy incorporating automation, these challenges can be mitigated. Avoiding the need for weekend deployments not only saves on overtime costs but also contributes to a smoother client interaction. Whether the client is external or internal, maintaining a positive customer experience is crucial. Unhappy clients can lead to a loss of business, especially in a competitive market where alternatives are readily available.

Risk Management

In the early days of my journey seven years ago, risk management was the least of my concerns. With a small user base and 30 clients, deploying felt like a breeze. I was a proper cowboy, confidently walking down hallways, hitting the deploy button without a second thought. Fast forward to today, managing a user base of nearly 5.5 million and serving 470 clients, the landscape has changed dramatically.

Now, I can't simply press a button without considering the implications. Risk management has become a critical aspect that I take seriously. The lessons listed above highlight the importance of a proper deployment strategy. Integrating risk management into the cadence of your deployments is key. This approach aligns with ITIL principles and change management, treating risk management as an integral part of your overall deployment strategy.