Skip to content

Infrastructure as a Service

IaaS abstracts away the management of computing resources. Teams can focus on higher-level concerns such as operating systems, runtime environments, data, and back end + front end code. While IaaS doesn’t require developers to manage physical resources, it still allows them high control of their infrastructure.

Some IaaS providers include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Today, AWS is the most widely-used IaaS provider, with 30% share of the cloud market space, compared to Azure’s 20% and GCP’s 13%. 1

Amazon Web Services (AWS) was one of the earliest cloud service providers, formed in the early 2000’s. They initially only offered a few services, AWS S3 for object storage and EC2 for on-demand computing capacity. The efficiency of cloud services was widely appealing, and throughout the 2010s AWS expanded their offerings to serve a growing market. Advantages of AWS’s cloud services include:

  • Speed - Cloud resources can be provisioned in seconds or minutes, whereas with on-premises solutions this can take days to weeks.

  • Scalability - Cloud services can automatically scale across exponential changes in demand, a flexibility that on-premises hardware cannot match.

  • Global Delivery - Cloud services are built on globally distributed infrastructure that serves users around the world more quickly than single location infrastructure.

AWS allows users to control minute details of their applications’ underlying infrastructure. Some of these include CPU count, storage type, network subnets, firewalls, caching strategies, and more.

While AWS has grown into the most dominant cloud service provider, it isn’t without drawbacks.

AWS offers over 200 global services. Each has no shortage of documentation and configuration details, requiring domain-level expertise. This can be difficult for beginners or those unfamiliar with the AWS ecosystem.

Another problem is AWS’s notorious UI/UX. Many different implementations of UI across different services have led to inconsistent and conflicting UI. For example, the deletion process for a resource can vary depending on the resource. The user may be prompted to enter the Amazon Resource Number (ARN), “confirm”, “delete”, or a variety of other prompts:

Delete Resources
Delete Resources

While this example is not too complicated, it illustrates how the process for a single task, deleting a resource, is inconsistent, and this is often the case for even more complicated tasks. In addition to these challenges around configuration, the way different resources are named and grouped in the AWS console makes even finding them difficult.

1 https://www.srgresearch.com/articles/q2-cloud-market-nears-100-billion-milestone-and-its-still-growing-by-25-year-over-year