Please what is IaaS? Learn about the benefits and pitfalls of Infrastructure as a Service.
Just like any other construction, we need to establish a good foundation for the company’s infrastructure. In the public cloud, it is attractive to use advanced services such as artificial intelligence, data warehouses or managed container services. But in most cases, we build our infrastructural foundations from the most ordinary services, which, of course, can mess with our heads. I’ll try to save you from that.
More flexibility means more responsibility (and vice versa)
In the cloud environment, there are three basic types of services that can be used: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). They differ not only in the way they are managed and disbursed, but also in the level of flexibility according to other needs. We will discuss PaaS and SaaS services in detail in the next articles, for the sake of illustration we will suffice for now with the basic idea of a shared responsibility model, the so-called. shared responsibility model (already discussed in the article on cloud types):
SaaS: Software as a Service
As shown in the figure, in the case of SaaS, the provider delivers a complete software solution. This eliminates any concern about the assigned computing power in which the application is running, including possible failures. All responsibility is delegated to the provider and you are left to worry only about the data we provide to the application – who do we allow to access it and how?
An example of a SaaS service could be Salesforce or Microsoft 365. In most cases, SaaS services are charged on a pay-as-you-go basis, i.e. according to actual consumption (e.g. number of users, GB of data, etc.).
PaaS: Platform as a Service
In the case of PaaS, our responsibility for the service is already growing significantly. We are no longer talking about the final consumed application, but a service that is partly managed by the cloud provider and partly by the client. Typically, these are databases, for example, where we worry about how our application works with the database, how to access it, and whether (and how) to configure it.
Configuration of PaaS services can sometimes be limited because we don’t have full control over the system, and sometimes not even the version on which the service runs. In this case, the provider performs basic administration, e.g. Database – guarantees that it is available, up-to-date, and resolves any system and platform issues.
IaaS: Infrastructure as a Service
And then there’s IaaS, an essential service for all public cloud providers. While I try to guide clients towards a progressive approach when using cloud services, IaaS is something we can’t do without. Despite the fact that IaaS is the cornerstone of any cloud architecture, I always warn clients against overusing this service. Why?
Please what is IaaS?
Today, you can get virtual infrastructure as a service from the vast majority of domestic “public cloud” providers. But they usually don’t offer any other PaaS or SaaS services. That’s why increasingly, even large and regulated companies are turning to foreign providers such as Microsoft Azure and Amazon Web Services.
Infrastructure as a Service is most similar to what we know from the regular on-premise world. This is why clients tend to adopt the cloud, which can lead to more frequent lift and shift of existing technologies (and new ones!) to the cloud. If you use pure IaaS services, you won’t use the cloud effectively and you’ll miss out on a lot of the other benefits it offers.
As is usually the case, each service has its advantages and disadvantages. IaaS brings with it significantly more flexibility and control over what I can do with the service (especially compared to what we know from on-premise virtualization environments).
IaaS and virtual servers
A popular representative of IaaS is virtual servers (VMs), which provide a good demonstration of the different approach of cloud services. If you use an IaaS VM, you have full control over it, you can install whatever software you want on it and configure everything as you like.
However, I also have to take care of such a VM and keep it updated. If I want it to be highly available, for example, I will have to deal with additional VMs in terms of backup nodes and maybe components like loadbalancer. In case of unavailability, the responsibility for solving the problem falls on the client (unless it is a failure/unavailability of the cloud platform itself or its part).
Virtual machines in the public cloud have a large range of parameters to choose from. In order to avoid the selection of obsolete or inexpensive instances for a given purpose, it is worth selecting the family and type of instance in larger companies by a catalogue (taking into account processor performance, memory size, speed and size of disk space, the possibility of short-term performance increase and other characteristics).
Similarly, it is necessary to have control over which region and what type of high availability is selected, especially during manual creation. We recommend that new virtual machines be included in the network, security, and backup infrastructure by policy or internal processes.
Last but not least, it is necessary to think about monitoring the new virtual machine in terms of expected availability, performance and also in terms of monitoring costs (especially deviations from the normal state).
Characteristics of Infrastructure as a Service
Billing for IaaS is usually in the form of pay-as-you-go, i.e. for the consumed services (optionally there is also the possibility of reserved instances for VMs). To make sure you don’t lose your pants in the cloud, we’ll take a closer look at the costs of IaaS in a future article.
Infrastructure as a Service is consumed on-demand according to current user requirements and can be scaled in any way (either by using more resources or by reducing the required capacity).
Today, it is also possible to use other less typical resources in the form of IaaS, such as Content Delivery Networks (CDN), load balancers, firewalls or various types of storage infrastructure.
Access to high availability
Virtualized infrastructure has the advantage that the provider takes care of the data center and its problems. In the price of services we get a certified datacentre (or more datacentres), which usually includes high availability.
Each cloud environment offers different high availability features for different types of services. Unfortunately, for example, compared to a classic VMware on-premise solution, there are significant differences between individual cloud providers and specific services.
If we focus on the basic type of infrastructure services (virtual machines and storage), in the case of on-premise solutions, this functionality is typically solved using VMware HA technologie. Thus, when the physical hardware fails, the virtual server automatically (and almost immediately) restarts on another physical server.
In the case of cloud providers, however, the situation is much more complex.
Amazon Web Services offers a range of services and solutions for high availability of applications and services. From our point of view, however, it is the most complicated compared to the classically perceived high availability of on-premise solutions.
As in the case of Microsoft Azure, it is necessary to approach the virtual server as a logical unit consisting of a computational part (EC2 – elastic compute cloud) and a storage part (EBS – elastic block storage, InstanceStore, EFS – elastic file system). Each of these components has different characteristics and different high availability features.
In terms of high availability, Microsoft Azure more closely resembles an on-premise solution built on the VMware vSphere platform using vSphere HA technology.
Generally speaking, in the event of a physical hardware failure, the virtual server will automatically restart. Unfortunately, compared to an on-premise solution, the downtime of a single VM can be incomparably longer.
If it is necessary to ensure higher availability of services, it is possible (as in the case of AWS) to use Azure Load Balancing or Azure Autoscale services.
Regions and zones
Regions and zones are the basic building blocks of high availability of global service providers. For both key representatives of global service providers (Amazon Web Services and Microsoft Azure) this functionality is similar.
The region is a completely isolated environment that shares no infrastructure with any other region. Individual regions are connected only by backbone connectivity. Regions serve as global fault-domains (geographically separated and isolated datacenters, where the failure of one does not affect the other) and aim to completely separate the environment for business continuity & disaster recovery solutions.
It is usually not possible to natively connect two virtual servers between regions over an internal network, but it is possible to replicate data between regions. Data connectivity between regions is typically chargeable, but is cheaper compared to internet connectivity.
It should be noted that the existence of a region does not automatically imply support for a particular service or service option. The range of services offered may vary from region to region.
By zone, we mean a specific data centre (or several nearby data centres in one location) within a region. Each zone is fully redundant and does not share any infrastructure elements (cooling equipment, diesel generators, network infrastructure, etc.) with another zone.
The zones are interconnected by a high-capacity network with minimal latency and connectivity within the zones is not charged.
Virtual servers (or other services) can be located in different zones within a region and are connected by an internal network.
The uptake of IaaS public cloud services is a very large chapter due to the dynamically evolving wide range of services. Advanced automation enables extremely efficient deployment and management that would be difficult to achieve in other environments.
I highly recommend you study the cloud providers’ service offerings well and don’t be afraid to test and pilot, pilot and test! And read other articles in our Cloud Encyclopedia.
This is a machine translation. Please excuse any possible errors.