What is cloud computing?
Cloud Computing is a very broad concept, a simple google search will return many different definitions. However, most people including myself see Cloud Computing as the use of various services such as servers, storage, network devices, software and software development platforms among others, delivered over the internet.
Prior to cloud computing, it was typical for medium size businesses and larger to have a server room full of costly hardware such as servers, storage and network devices. Management and support for these devices are very time consuming and the hardware itself isn’t very price efficient. For example, you would pay the same regardless of the resources you were using.
Cloud Computing allows you to rent the hardware in a cloud providers data center, completely taking away the need for management and support for the hardware, which in business is not only more price efficient but it means people have more time to make business decisions towards improving a business instead of worrying about IT hardware.
What are the benefits?
Cloud Computing offers many benefits over the on-premises model, below are a few of the many benefits:
- Rapidly Provisioned Services: Using the cloud it is possible to create multiple virtual machines, virtual networks, load balancers, VPN connections and many more resources in a matter of seconds.
- Hardware is managed by the vendor: All of the hardware and backend services are managed by the cloud vendor so companies don’t need to employ engineers just to deal with hardware. The vendor will also manage updates for any Operating systems and software.
- Cost Efficiency: When using the cloud, a user will only pay for what they use. Many subscriptions types are available including pay-as-you-go. Unlike on-premises methods, which is not only very expensive to setup as a lot of hardware is needed but even if you don’t use all of the hardware, you have paid for it anyway.
- Scalability: Scalability is one of the biggest selling points for any company wanting to move to the cloud. If you need more processing power for an application or more virtual machines to support a backend infrastructure, Cloud allows it to be scaled in seconds and on demand. Scaling up and out in Cloud computing is very easy, whereas non-cloud environments would need more hardware and could take weeks instead of seconds.
- High Availability: Any resources you build in the Cloud will reside in a vendor’s datacentre, these datacentres are spread all over the world in many different countries and therefore so will the resources you build. This global reach along with advanced datacentre technologies mean Cloud vendors offer SLA’s of 99.95%. Something which would be very difficult and costly to a company trying to do this outside of the cloud.
- Data Security: Due to your data being stored in the cloud it makes it much harder for people to steal data and commit crimes against your organisation. It also means that if client hardware such as laptops were stolen the data would still be available from the cloud allowing the company to recover quicker from an attack.
IaaS, PaaS and SaaS
Anyone that has spent any time dealing with Cloud Computing will have come across IaaS, PaaS and SaaS, so what exactly are they and what do they mean?
When people speak about cloud technologies, they can often be placed into one of three services that are provided. Those three services are Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).
Infrastructure as a Service (IaaS) is the service that covers all the hardware needed in the cloud. Any hardware provisioned in the cloud from a vendor such as Virtual machines (Compute), storage, hosting and networking are part of the Infrastructure as a Service.
Platform as a Service (PaaS) is the service that provides tools and capabilities needed to develop and deploy applications. PaaS would make a developer’s jobs much easier as it would supply everything needed to build and deploy an application without the need of the underlying systems and infrastructure.
Software as a Service (SaaS) is the service that delivers software over the internet instead of locally installed. It is a wide-ranging terms that covers everything from email apps such as Office 365 to enterprise apps such as Salesforce.
Below is an image which illustrates what each service actually covers compared to on-premises solutions:
Who are the main vendors?
As Cloud computing as progressed over the years, so have the number of vendors offering cloud services. Competition is great for any product as it drives quality and usually allows it to become cheaper, this has been seen a lot over the last couple of years.
Below is a brief description of the top three vendors in cloud computing:
Amazon (AWS): The largest and the first major vendor with a cloud offering in 2006 with AWS EC2. They offer the most services and especially have vast experience in aggregating large sums of data.
A full list of services offered by AWS can be found here (https://aws.amazon.com/solutions/)
Microsoft (Azure): The second largest provider, they have been catching AWS quickly for the last couple of years it terms of market share. Microsoft have obviously been in the computing sphere for a very long time, their expertise has helped to create a very easy to use cloud service. Most people wanting to use compute services (Virtual Machines) will probably want windows OS, which can be easily obtained through Azure.
A full list of services offered by Azure can be found here (https://azure.microsoft.com/en-gb/)
Google: The third largest out of the three main vendors, they are less experienced in the cloud world and this shows as they also offer much less services that the other two. One of their main benefits is the experience they have with Kubernetes however this is still offered by the other two vendors.
A full list of services offered by Azure can be found Here
Is it worth it for everyone?
Some businesses may not benefit the same as others from moving to the cloud. Storing sensitive information in the cloud is not always the best method and sometimes can even be illegal. Larger businesses especially those that already have a lot of IT hardware in place may not benefit as much as a smaller company starting out. As a whole, cloud computing will benefit every company, that does not mean every feature of the cloud will benefit everyone, some features will benefit some more than others. Just be aware of this going forward, every company is different and will be governed differently, therefore their cloud setup will also be different. Also, if a company does choose to move to the cloud, depending on the current environment and systems this will usually be done in stages over a long period of time.
This post was created to help anyone who is new to cloud computing understand the fundamentals, it was not written for anyone who already has technical experience. I could have covered many more subjects such as Private Cloud Vs Public Cloud but I will save that for another post as I feel it starts to get more advanced than I intend to on this basic overview.
Cloud Computing is here to stay, it has completely changed the way the IT industry thinks and the way business provides services and it will continue to do so in the next few years and on wards. Although there are some disadvantages such as trusting someone else with your data, it is much cheaper, quicker and easier to deploy that any current on-premises systems.
For further reading I suggest going to either Microsoft Azure or AWS’s website and reading their documentation, both sites provide very detailed documentation which can help anyone from a novice to an expert.
Also, keep checking this site for more posts. Although this post was extremely simple, I thought it would be a good place to start for a blog aimed at Cloud and Server Computing.