Tero is a ops-guy, coach and a service manager. He is responsible for the operative side of Gofore Cloud. He also likes to keep his hands dirty by planning and implementing cloud native systems.
Before going into the cloud from your traditional datacenter or if you are just starting a new, there are few things which you should take into account. These are not showstoppers, but things that you should take into account and save yourself (possibly) from lots of headaches and refactoring in the future.
1. What kind of Cloud do you need?
Do you need to model a whole cloud infrastructure or would you be content with just some system to manage your containers off-premises? Is your system already highly entangled with Azure AD? Do you actually want to manage anything, or just a server to SSH into? These are few considerations on what kind of cloud platform you need. Cloud solutions range from simple SaaS-applications to very complex environments in AWS/Google Cloud/Azure. Between these extremes, there are possibilities like Heroku. Use the right tool for the job.
2. Location, location, location
Whilst not as critical as in the real estate business, the location also plays a major part in the cloud. If you do business mostly in a certain geographical area, it is useful to deploy your cloud near that area in order to minimize latency. Also if your organization already has a Direct Connect (or equivalent) set up in some region, it might be worth considering utilizing the (already paid for) premium link.
Do you have an existing infrastructure somewhere that you are planning to join with your cloud infrastructure at some point? If so, make sure that you have done your IP address range planning in such a manner that there aren’t any address range collisions. Even if you are dealing with a ‘cloud-only infrastructure’, it is worth spending a few moments planning private and public subnets and their ip-ranges. Modifying subnets at a later time is tedious at least, and sometimes completely impossible. You don’t want to scrap your whole infrastructure and build it anew.
.. which brings us to
4. Infrastructure as a code
When you have a shiny new cloud environment on your hands it is quite ok to play around and do some testing. You might even do a simple PoC that you are going to rip apart afterwards (which has happened to no PoC ever). But when doing stuff that is possibly going to production, try to start treating your Infrastructure as a Code. This allows you to more easily view the whole setup of the environment, create copies and reuse components in your future endeavours. Even if the Infrastructure as a Code might seem a lot of work, it will save countless hours in the future.
5. Can you do it yourself
You can do things in cloud quite easily, but doing them right is a completely different thing. I tried to bring some light to this issue in my earlier blog post (Finnish only, sorry). Basically, the whole idea boils down to the point that when you go cloud you are actually managing a whole data center by yourself. The difference is that it’s hosted in the cloud and won’t require physical activities but instead coding and automation. Remember all those things that are left to the datacenter people? Well, they are still there (apart from dragging servers and disks from one rack to another) but this time you should know all the bits and pieces. This is not an impossible task, but nothing to sneeze at either. Know your limits and most importantly choose which parts of the infrastructure you want to be responsible for. For the rest of the stuff, you should find a suitable partner who can handle them for you.