Many businesses have a desire to move to the cloud “it will save us money”, “it will make things easier” and “it’s easy to move us to the cloud” and the truth is there are many, many good reasons to move to the “cloud” but one thing is for sure unless you have a clear strategy your experience and outcome will not be what you have planned for.
I believe there are a few stages that you should go through to make your cloud migration project and ongoing cloud usage as easy as possible:
Discover – What servers, services and applications do you have, how are people consuming them and what state are they in (what OS’s are they running, what database backend do they require and what frontend applications are being used to consume them are just some of the examples of questions you should be asking. The discovery phase, actually working out what you have to move it critical to understand the scale and size of the project. You may find (and this isn’t unusual) that you actually have a lot more than you realise and that many of these services are not native to cloud consumption or simply will not work in a cloud environment (yes I’m thinking of that Windows Server 2003 application you still have tucked away somewhere!).
Design and Plan – So you now have a good understanding of all the services and applications you’re offering to the business, what infrastructure you’re running and how your customers are viewing and consulting the next step is to plan your cloud migration journey. I have seen many businesses jump in and start to migrate their servers to Azure, you will quickly discover a couple of things here:
- You will have servers and services that do not lend themselves well to a cloud environment and there will be very few things that you can do to make this possible. Having a hybrid model with some infrastructure still being hosted within your on-premises or co-lo datacenter are to be expected especially in the short term. You will need to have a short term plan of how your customers will access these and a longer term plan of how you either upgrade older applications and services or migrate to newer SaaS or PaaS services to replace them.
- You will make mistakes in setting up the core infrastructure needed to post your cloud environment unless you have taken the time to carefully plan and write a design. Storage, network, security, access & recharge (just to name a few) are things that need to be well planned and defined. This is especially true if your teams are working in silos and have an IT model with different and distinct teams responsible for different part of the IT landscape. It will be vital to make sure you have buy-in from everyone to prevent problems further down the line.
- It’s going to be expensive (controversial!) – you will hear mixed messages about how expensive moving to cloud, some people will say it will save you a small fortune while others will give you the scare stories of just how expensive it can be. As with all things IT “It depends” without good planning doing a lift-and-shift approach (simply moving your servers to the cloud and hosting them there instead of your datacenter) you will generally find this can be far, far more expensive. The key here is planning! Having spent the time in the first stage discovering the applications and services you’re running you are in a good place to make decisions about how these will be hosted on your cloud environment, do we really need to have servers or can we start to use more cloud centric approaches such as PaaS or even SaaS (or can we get even racier and start to take advantage to containers and serverless). A good example here is do we really need to migrate those Exchange servers or can we look at SaaS services like Office365? Do we really need to migrate all of those SQL servers or can we take advantage of SQL PaaS Services like Azure SQL from Microsoft or Cloud Databases from AWS (your preferred cloud provider will have offerings to meet your needs)? Do we really need to migrate your big file servers or can we use OneDrive, Amazon Elastic File System or Azure Storage Accounts? Planning and using a more cloud centric mindset to how some of these services are delivered instead of traditional servers will help you realise many cost benefits.
- The “why do we keep getting billed?!” question OPEX vs. CAPEX – consumption based billing is likely to be a big change for the organisation when it comes to IT spend within he Business. Planning ahead and making sure the business is ready for this shift will help with that all important buy-in. The mindset of buying a server and then it’s “free” for the next 5 years are ones I have seen in pretty much every business I have seen. Although not easy as the mindset will be well engraved helping people to understand that buying a server on CAPEX is only the beginning – it will beed to be fed and watered, on-going hardware maintenance, data-centre maintenance, patching etc. are all real costs that need to be realised.
- You will move components of services in the wrong order – you will have databases running in your on-premises environment while the frontend presentation layer is sitting happily up in Azure. This mayn’t be an issue but if you have an application that is sensitive to latency you may get a bunch of unhappy people complaining about performance issues. The key here is planning, plan to ensure the complainants of a service are migrated at the same time.
Now that you have discovered what you have, planned how you need to move forward and designed the environment you will use it is time to jump in and start to deploy the services into your cloud environment of choice (and there are many!). Each provider will have their own toolset to help you with migration, build and testing along with services that you can use for monitoring and maintaining your shiny new cloud environment. It will be vital that the environment is stable and you can quickly respond to and resolve any issues to make sure the “cloud” doesn’t become byword for instability and performance problems (you will find that group of people who “told you cloud wouldn’t work”. Become very vocal). Performance benchmarking can help here, understand the performance of an application of service on-premises so that when people come back with their complaints of “it now runs slow it’s on the cloud” you can reel out the evidence (hopefully to the contrary!). Again planning it key!
So we’re there! We have services running in the cloud – job done…. but no. There are many reasons to keep going with your cloud journey and optimising your environment. Your cloud rider of choice will have tools and services that can be used to have a good look into your environment – Can some of your servers we downsize? Can we turn some of them servers off over the evenings and weekends to save some cost? Can we now retire that huge SQL server and move it onto a PasS offering instead? The continues optimisation of your cloud offering will lead to greater cost savings and easy of ownership.
These are a few of my thoughts and opinions when it comes to cockering and starting off with a Cloud Migration projects I have been involved with. Whatever the size of your IT environment putting in the work to asses, plan, design and optimise your environment will be critical to the actual and perceived success of the project.