What is the cloud?
The cloud is a term that’s used to describe a set of linked computers that work together to build, run and deploy applications. Clouds are shared by several businesses and companies like ours rent space in them and use them to deploy their apps.
Depending on the type of cloud provider you choose, you might know where the data centre that holds your information is located or it could be in a different country or even a different continent!
What’s the difference between a private and public cloud?
Private clouds usually allow you to have more autonomy over your data and applications. You still won’t own the space, but there will be allocated space within a corporate data centre nearby that you can rent and access directly. Pubic clouds also have a vast array of Software-as-a-service (SaaS) offerings which offload a huge part of the responsibility involved in running a data centre. This is what makes public cloud offerings an attractive proposition.
When we talk about the public cloud, we usually mean one of the big three: Amazon (AWS), Microsoft (Azure) or Google (GCP). Each of them has a similar offering but tend to work closely with the other products they offer. You might choose to utilise the services on the Microsoft cloud, for example, if you already use Windows, SharePoint or an SQL server.
Google, in contrast, is more focused on infrastructure and offer more limited product offerings than Microsoft, instead providing services like Kubernetes.
Amazon occupies a space somewhere in the middle. They’re giants and have a product for almost anything you can think of, ranging from machine learning and IoT to blockchain and VR functionality.
What are the pros of the cloud?
One of the big reasons why companies like ours use the cloud is for data storage. Data has exploded in recent years; every company now holds a massive amount of data but it’s useless unless you can analyse it and use it to help inform decisions. You need the power to process data and storage capacity to hold on to it. That’s where the cloud comes in. It’s quick too – before the cloud, processing a query against a large data set could take hours, now it’s almost instantaneous.
The cloud also allows us to be more flexible and evolve quickly. We can influence and scale our architecture but, at the same time, we’re not paying for it or looking after it. The speed at which we can scale/test/prototype different parts of the system is phenomenal, shifting from one to ten’s of servers, or moving between regions can occur at the flick of a switch.
In many cases, Google and Microsoft have already done a lot of the work for you. So, when you come to work on something in the cloud, it's as simple as activating the service and trust that it’ll work every time. There’s no need to download a new security patch or check for the latest version every time, the cloud takes care of it.
What are the cons of the cloud?
One drawback of moving to a public cloud is managing that transition. If you’ve spent a decade writing applications for private clouds and internal infrastructure, you’re now being forced to adapt to a whole new way of thinking. There are a lot of unknowns and a lot of testing and learning to be done.
With the cloud, you’re also trusting an external company to run your applications and take care of your data. They need to be reliable. When there is a service interruption, you only have a certain amount of control. And with notifications, the onus is on you to ensure that you have adequate monitoring in place so you are alerted of issues early. Most cloud providers ensure they have data centres in different regions around the world so that if one does fail, another region can pick up the slack, but mass outages can and have happened. This is also something you need to plan for.
A particular problem during a migration to the cloud arises when you now have parts of your system in a public and private cloud with a connection in-between that goes via the internet. This can increase latency ad could increase the complexity of your system, so again it is something to keep in mind.