What is ITIL4 Deployment Management and how to use it?

Deployment Management In Itil4

You've heard about the Deployment Management practice part of ITIL4 (Information Technology Infrastructure Library version 4) and you would like to learn more about it?

Previous ITIL versions have placed focus on the processes. In contrast, ITIL 4 emphasizes practices while giving the organization the flexibility to implement specific processes. In this blog post, let's deep dive into the ITIL4 Deployment Management practice and understand what best practices can apply to your own context.

What's Deployment Management?

Deployment Management aims to deliver changes to environments in "the BETTER, FASTER, and CHEAPER" way. ITIL 4 Foundation Edition describes the purpose of the Deployment Management practice and its importance between Change and Release Management. 3 practices are linked and necessary to deliver services both fit for use and purpose:

3 Key Practices Highlighted In The Itil4 Management Practices

Change Control

Change Control (sometimes also called "Change Enablement") helps coordinate technical changes to maintain throughput and stability.

Release Management

Release Management focuses on when and how to make new or updated components available to users.

Deployment Management

Deployment Management is the technical vehicle that looks at moving new or changed service components from one environment to another.

Deployment Techniques

Zooming on the Deployment Management practice, there are several deployment techniques available and each company has its own preferences. Depending on their specific services and requirements, some use a combination of these approaches:

Phased Delivery

Phased delivery focuses on deploying changes gradually across multiple targets.

Continuous Delivery

Continuous delivery leverages DevOps principles, such as rollout in small batch sizes to support Continuous Integration for automated deployments.

Big Bang Deployment

Big bang deployment supports the release of features to all targets simultaneously. It's sometimes necessary to mitigate risks by using blue-green deployments that keep two live targets running (old and new) and facilitate traffic to one or the other, making for easier rollback.

Pull Deployment

Pull deployment allows targets to pull changes "on demand," such as polling a central system for new changes and self-updating as required. This permits the users to control the timing of updates and enables them to request software updates only when needed.

All the above-mentioned deployment techniques can be combined together depending on your needs and can be used for both on-premise and cloud deployments.

Continuous Deployment Simply Explained

Deployment Management Best Practices

Modern application development creates competitive differentiation by enabling rapid innovation. There are some essential guidelines to achieve success when building and deploying:

  • Focus on decomposing and decoupling apps into micro-services to ease deployment and scale accordingly.
  • Pack applications and infrastructure in the same bundle using infrastructure as code.
  • Rollout with CI/CD techniques - the more automated the better
  • Focus on increasing the checks and feedback through continuous monitoring, also for your non-productive Environments
  • Make sure you use a proper deployment tool that supports audit and change management
  • If your infrastructure or software development is provided as a service, make sure you have access to all information regarding past and future deployments
  • Ensure security across the whole deployment cycle. You should maintain software components from a central secured repository to avoid changes before deployment.

How to choose your Deployment tool?

There are plenty of tools available for managing your deployments. To name a few: Jenkins, Octopus Deploy, TeamCity, Bamboo, AWS CodeDeploy, XL Release, Azure DevOps, GitLab CI, etc.

Which key elements should you consider when choosing a deployment tool?

1

Team Knowledge

Deployment tools can require very different technical expertise. Make sure to take into consideration your team's expertise and experience when you select a new deployment tool. You want your team to like it so that it can be quickly adopted.

2

Automation Capabilities

As modern software development projects often use Agile methodologies, there is a strong need to deliver new features frequently.

That's why Continuous Integration (CI) and Continuous Delivery (CD) are key. In order to cut down the time spent on repetitive tasks, you need automation. Look for tools with great automation capabilities.

3

Compatibility

If you are part of a large organization, you will probably need to support multiple platforms. Make sure your deployment tool is compatible with the main operating systems: Windows, Unix, Linux, Mac OS, Android, and iOS.

Your deployment process should support popular languages like Java, JavaScript, PHP, Python, etc. and it should integrate seamlessly with tools like GitHub.

4

Integration & Extensions

Because what you need today can be quite different from what you will need in a year, choose a deployment tool that is actively maintained and that can adapt.

It should have a well-documented Rest API and the ability to trigger Webhooks. Integration capabilities leveraging Zapier or similar automation tools will help as well. Many modern tools like Jenkins also offer the possibility to build and install third-party plugins / shared libs.

5

Financial Considerations

There is a huge range of deployment management tools available today. While the best ones usually cost money, many are free. And there are lots of free software development tools that have been used to build many great apps!

There are many good reasons for an organization to use multiple deployment tools. And with many tools, it may be complex to get an overview of all cross-application deployments. That's why we have built the Golive plugin for Jira.

It improves communication by connecting to your deployment tools and aggregating useful deployment information in Jira, a tool often used by the whole organization. It displays your cross-platform deployment history, and also helps you schedule your next deployments!

Golive For Jira Integrates With Many Deployment Tools

Apwide Golive Your Environment Hub

Apwide Golive is a Jira App giving you more visibility and control over your environments.

  • Save time when looking for environment information:
    It's in Jira, where your team already is!
  • Avoid environment booking conflicts:
    For smooth test campaigns and demos, without incidents
  • Make your inbox neat and tidy:
    Decide what environment notifications you need by email, MS Teams or Slack
  • Plan environments and release activities faster:
    Easy drag-and-drop on an intuitive timeline

Leading companies are using Golive as part of their DevOps toolchain.

Southwest Airlines Company
Mercedes-Benz Company
Manulife Financial Corporation Is A Canadian Multinational Insurance Company And Financial Services Provider.
Sky Television Company
Barclays Bank

Free trial / Free forever up to 10 Jira Cloud users!

More about Test Environment Management

6 Best Practices for Test Environment Management (TEM)

Organizations are adopting the shift-left testing approach with a heavy focus on continuous testing to improve application quality and reduce the possibility of failure after Read more

6 Best Practices for Test Environment Management (TEM)

What Test Environments do you need? Dev, Test, Staging?

Agile Software Development methodologies have enabled software companies to release their software more frequently. Unfortunately, this urge to come fast into the market has put Read more

What Test Environments do you need? Dev, Test, Staging?

About the author

David Berclaz

After working for large organizations like Deloitte and Nestlé Nespresso, David co-founded Apwide in order to help organizations improve their Test Environment Management processes.