
Overview
When a product has been proved to be a success and has just come out of a MVP (Minimal Viable Product) or MMP (Minimal Marketable Product) state, usually a lot of corners would have been cut in order to get a product out and act on the valuable feedback. So inevitably there will be technical debt to take care of.
What is important is having a technical vision that will reduce costs and provide value/impact/scaleable/resilient/reliable which can then be communicated to all stakeholders.
A lot of cost savings can be made when scaling out by putting together a Cloud Architecture Roadmap. The roadmap can then be communicate with your stakeholders, development teams and most importantly finance. It will provide a high level “map” of where you are now and where you want to be at some point in the future.
A roadmap is every changing, just like when my wife and I go travelling around the world. We will have a roadmap of where want to go for a year but are open to making changes half way through the trip e.g. An earthquake hits a country we planned to visit etc. The same is true in IT, sometimes budgets are cut or a budget surplus needs to be consumed, such events can affect your roadmap.
It is something that you want to review on a regular schedule. Most importantly you want to communicate the roadmap and get feedback from others.
Feedback from other engineers and stakeholders is crucial – they may spot something that you did not or provide some better alternative solutions.
Decomposition
The first stage is to decompose your ideas. Below is a list that helps get me started in the right direction. This is by no means an exhausted list, it will differ based on your industry.
Component | Description | Example |
---|---|---|
Application Run-time | Where apps are hosted | Azure Kubernetes |
Persistent Storage | Non-Volatile Data | File Store Block Store Object Store CDN Message Database Cache |
Backup/Recovery | Backup/Redundant Solutions | Managed Services Azure OMS Recovery Vaults Volume Images GEO Redundancy |
Data/IOT | Connected Devices / Sensors | Streaming Analytics Event Hubs AI/Machine Learning |
Gateway | How services are accessed | Azure Front Door, NGIX, Application Gateway, WAF, Kubernetes Ingress Controllers |
Hybrid Connectivity | On-Premise Access Cross Cloud | Express Route Jumpboxes VPN Citrix |
Source Control | Where code lives Build – CI/CD | Github, Bitbucket Azure Devops, Octopus Deploy, Jenkins |
Certificate Management | SSL Certificates | Azure Key Vault SSL Offloading strategies |
Secret Management | Store sensitive configuration | Puppet (Hiera), Azure Keyvault, Lastpass, 1Password |
Mobile Device Management | Google Play AppStore | G-Suite Enterprise MDM etc |
Once you have an idea of all your components. The next step is to breakdown your road-map into milestones that will ultimately assist in reaching your final/target state. Which of course will not be final in a few years time π or even months!
Sample Roadmap
Below is a link to a google slide presentation that you can use for your roadmap.
https://docs.google.com/presentation/d/1Hvw46vcWJyEW5b7o4Xet7jrrZ17Q0PVzQxJBzzmcn2U/edit?usp=sharing