Showing posts with label IaaS. Show all posts
Showing posts with label IaaS. Show all posts

Cloud Based Compute Solutions



One of the most popular reasons for businesses moving to the cloud is for the use of compute power. This can be for migrating existing on premise workloads or transitioning to a cloud based virtualisation platform. Another reason with be the use of high performance computing. We will discuss some of the various compute options in this blog post.

Compute

Running compute power in the cloud is becoming the standard way to run virtual servers, application services as well as high performance computing. Using older approaches such as onsite data centres and servers with virtualisation has become costly and underused. Often the capacity is not fully used and there is also the cost of hardware maintenance.

By migrating your existing compute workloads to the cloud you can reduce cost, maintenance and increase your reliability and up time. You can migrate your virtual machines (VM's) directly into cloud platforms with minimum or no downtime. Once in the cloud you can then only focus on the management of the software layer and not hardware.

These days its become fairly standard to migrate existing on premises VM's into the cloud despite which hypervisor platform you are using i.e VMware or Hyper-V. You are also able to Physical 2 Virtual physial servers and migrate these to cloud. Please be careful to check your chosen cloud platforms operating system requirements prior to starting any migrations.




HPC High Performance Computing

Another very interesting use of cloud computing is for high performance computing (HPC) using large scale batch compute tasks to run huge loads like rendering. This can be much easier and cheaper than trying to build and run this in an on premise data centre. In the cloud you only pay for what you use and not the spare unused capacity. In HPC you may not be constantly running these workloads so you will not pay for unused compute time.

IaaS and PaaS

You are able to run compute functions in Infrastructure as a Service (IaaS) whereby you manage and look after your own infrasructue or VM's or via Platform as a Service (PaaS) were you can directly spin up specific functions like web apps that run in the cloud. IaaS may be more suited to a business looking to import existing infrastructure into the cloud and PaaS may be better suited to developers not interested in maintaining any infrastructure.

Containers

Containers are pretty much the future of running applications in the cloud (or even on premises) and with using solutions like Docker and Kubernetes the process of deploying containers has become much easier. In the cloud you can use the relevant cloud platforms Kubernetes engines to spin up containers in seconds and to mange them going forward. Google Cloud's GKE is really leading in this space with Microsoft's AKS which has just become GA (Generally Available) quickly catching up. I will be writing a blog post post about Containers in the near future as this is becoming a really hot topic in cloud computing. 

Serverless Functions

Serverless and functions are used by developers to write and run code immediately and not have to deal with any servers or infrastructure at all. Code can be directly run and actioned without any need to worry about capacity planning or server management. Of course there are servers required but these are all managed by the cloud platforrms.

Further information on cloud compute solutions can be read here as well as getting trials activated to actually test the cloud compute options which is highly recommended:

https://cloud.google.com/products/compute/
https://azure.microsoft.com/en-us/product-categories/compute/

Implementing Cloud Infrastructure



One of the most important concepts to think about when implementing cloud solutions is your core infrastructure. This will be your base when building infrastructure in the cloud. This will comprise of virtual networks, cloud storage and compute at the base layer order to build upon in IaaS (Infrastructure as a Service)

To break it down this is very comparable to on premises infrastructure as when looking to physical storage,  physical servers, virtualisation, virtual networks and virtual machines. The cloud reduces the need have the physical infrastructure in place. You are able to utilise this on a pay per use model in any of the public cloud providers for example Google Cloud Platform or Microsoft Azure. You are charged for what you use which is great!

Virtual Networks

After activating your cloud subscription you can begin setting up your virtual network. This has different names depending on what provider you are using i.e in Microsoft Azure its called Virtual Networks and in Google Cloud Platform its called Virtual Private Cloud Networks (VPC's) Basically these are similar ways to perform network segmentation in the cloud based on virtualised networks. Subnets are used to segment these virtual networks or VPC's. You are also able to integrate load balancers and firewalls:


Within these virtual networks you can isolate specific services, i.e virtual machines, you can implement load balancers as well as connect networks from different regions togeather. You are also able to implement security with firewall's across these virtual networks both internally and externally. Another feature of virtual networks is the ability to connect them with your existing on premises networks. There are various methods available in order to achieve this as in a direct Interconnect (GCP) or Express Route (Azure) link from your site to the applicable cloud provider. Another way do to this is be using secure encrypted VPN tunnels:



Cloud Storage

Cloud Storage is absolutely critical as this is where all of your resources will be stored in the cloud. I have previously written about cloud storage if you would like to read further:

In the context of this article we will be referencing more towards storage of infrastructure like virtual machine files, virtual machine disks and general file storage. These will be the locations where your compute workloads will be stored when created. There are various different types of storage but for virtual machines you will look at options like HDD or SSD depending on workload. Google GCP has persistent disks and Azure has managed disks for VM's. http://www.ruckcloud.ml/2018/04/lets-talk-about-managed-disks.html


Compute

The compute layer is all about the computing resources that you will be utilising. This is based on virtual machines in one form or the other. You can spin up traditional VM's one at a time with a large selection of different operating systems from Windows to Linux. These are called IaaS (Infrastructure as a Service) VM's. You can also leverage batch operation with automating a large number VM creation to achieve a large processing job for example. These VM's can automatically scale up and down based on load and you are only charged when they are in use. With IaaS you have direct control and management of your VM's.

You are also able to make use of virtual machines in PaaS (Platform as a Service) where you can immediately spin up app's for computing needs without the need of managing IaaS VM's. This is very handy for developers that are not too concerned with managing VM's.

In this article I have touched on the core base infrastructure required with cloud computing. These areas all go into much more depth but sometimes its nice to get a simple overview of what they are and how they work. This is really essential to understand when first looking into the cloud to either build new services or migrate your existing infrastructure.

Further information on cloud infrastructure is available at: