Last Things First: Always know how to destroy something before you create it

TL;DR Write your off-boarding plan as you go, doing it at the end is too late.

Its a little appreciated fact that many procurement frameworks, e.g. G-Cloud 12, require that you have an off-boarding plan as well as an on-boarding plan.

Recently we’ve been decommissioning projects and none of these had a published off-boarding plan as a result all of them have taken significant time to decommission and hence cost.

None have had a well defined mechanism for exporting the data, we’ve been offered 4TB zip files and On-Premises SQL .BAK files as examples of companies that had no plan to do it, and no interest in doing it as they don’t get paid for it.

None have had a set of instructions on what resources will need to be removed so we’ve had to reverse engineer this.

We just supplied some software to a client and to do so we needed to do a clean install, now we could have created a new environment but some of the artefacts are scoped at an Azure Global scope so we needed to remove those as well.

Fortunately as we develop a project before we add any asset, e.g. an Azure Active Directory Application or Azure App Function we ensure the off-boarding process, which is normally a script, is updated. We test it works before we create the asset, and as thy are idempotent this means they do nothing, create the assets and then rerun the script. If they hold data, e.g. a CosmosDB we ensure they have the ability to export the data before destroying the asset.

This means if we need to clean up an environment, including decommissioning the application in a client, we have a well tested mechanism.

When we engage with third parties it is now mandatory for them to provide their off-boarding plan before they can deploy to production.

TL;CR Write your off-boarding plan as you go, doing it at the end is too late.

--

--

--

Technical Director for Simple Innovations Ltd. First paid for code in 1980, but still has all his own hair.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Jetpack Compose UI (part 3of3)

Camera! Follow Me!- Game Dev Series 92

7 Reasons Why Startup Companies Use SaaS And What You Need to Know About SaaS

Use ansible-collection from Github private repository

Unity: Switching your game from prototype to production

Using Ansible Pull In Ansible Projects

[The Speakers] How efficiently develop a platform about connected cars

Tokopedia Software Engineering

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Sebastian Rogers

Sebastian Rogers

Technical Director for Simple Innovations Ltd. First paid for code in 1980, but still has all his own hair.

More from Medium

Add, Verify or Remove Digital Signature in PowerPoint in Java

EXCEPTION HANDLING IN PYTHON

How to share environment variables between projects

Secure Synology NAS with a custom domain, dynamic DNS and a free certificate