AWS Compute Services Introduction

Pratik Raut
5 min readOct 20, 2021

--

AWS offers a wide range of remote cloud services for application development like analytics, blockchain, AI etc. and it gives all the individuals and organizations in the development and sustainable growth of any application. Following are some the key building blocks of the AWS Compute environment.

1. AWS EC2

Elastic Compute Cloud or EC2 for short, is a virtual server that helps you run numerous applications on the AWS cloud infrastructure. It allows subscribers to run applications in a computing environment that is practically capable of serving an unlimited set of virtual machines.

You can create any number of servers (called “EC2 instances” in AWS context). They are just like normal servers that you can ssh to, to perform various computing tasks. Unlike local servers that have fixed hardware capacity and static software environment, EC2 instances are highly-customizable. For hardware, there are tons of EC2 instances types with different capacities in CPUs, memory, and disk storage.

With AWS, all you get is instances with different resource configurations of CPU, memory, storage, and networking. Each type is available in different sizes so that it can cater workload as required. Instances come from Amazon Machine Images (AMI). These machine images act as a template that configures an operating system, and determines the operating environment of the user. The users can also configure their own AMIs.

You can start deploying your cluster of servers as soon as you have selected your instance, along with the operating system of your choice. When it comes to creating an EC2 instance, there are three popular ways you can use for this purpose.

  • Compute Optimized — These are best suitable for instances that require high request rates and leverage industry leading processors.
  • Memory Optimized — These instances offer the most efficient memory cost.
  • Storage optimized — These instances are able to access SSD storage extremely fast to serve data retrieval requests.

AWS EC2 service offers flexibility and a variety of instance types for you to choose from. You can customize operating systems, network and security settings with ease. However, you will be responsible for provisioning capacity, monitoring fleet health and performance of your virtual servers.

2. AWS Lightsail

AWS Lightsail is a simple cloud hosting framework that is comparatively more straightforward than most AWS services. While using AWS Lightsail, you can easily setup a server in just a few clicks. It automatically equips your system with WordPress on AWS, Magento, Joomla and other commonly used web applications so that you do not have to waste time on setting up.

Despite its simplicity, you must not restrict or categorize Lightsail as a service only for the beginners. AWS Lightsail offers a variety of options such as supporting a Windows server or a choice of Linux distros, thus helping core professionals to take advantage of this service package.

One of the best advantages of using AWS Lightsail is that the size of your website doesn’t matter. This service is able to host your website on the AWS network with ease. Moreover, with data centers in all major countries of the world, the users get to enjoy a seamless and a stable connection at all times.

3. AWS Lambda

AWS Lambda is an extremely powerful and cost-friendly medium that allows your business to enjoy power and scalability at all times. This compute service allows you to run codes without managing servers.

With Lambda, you can focus on developing your applications without worrying about the infrastructure, i.e. CPU, storage or memory. It doesn’t matter whether there are a few requests per day or thousands per second, it executes the code when needed and is able to scale automatically. It is a great platform to run applications in AWS environment. Also, it allows you to stretch your budget as you only pay for what you consume.

It further allows you to upload your code, also known as a Lambda function. You can configure it to execute under specific circumstances as well. As soon as the Lambda function is in place, it will operate as frequently as its parameters indicate.

With Lambda, you are only responsible for your codes, as it manages the compute fleet itself allowing you to enjoy smooth functioning of memory, CPU, storage and network.

But, there is one drawback with Lambda! Neither you can login to compute instances, nor you can customize the operating system, or the language run time. These constraints allow Lambda to execute operational and administrative activities on your behalf. These activities include monitoring fleet health, provisioning capacity, deploying your code, applying security patches, and monitoring your Lambda functions, etc.

The Lambda functions which you can use on instances instead of server-based architecture include:

  • Application Development — It allows you to write and execute any code without dealing with the complications of auto-scaling and infrastructure performance bottlenecks.
  • Amazon S3 Cloud — It allows you to run a Lambda function as soon as you upload a new file to an S3 bucket.
  • Amazon Kinesis — It allows you to trigger Lambda functions on specific logging events for e.g. new visitors to website.
  • CloudTrail in AWS — It allows you to launch needle-like events logged in the haystack of Cloudtrail logs like enabling or disabling permissions to access resources like APIs or S3 storage buckets.

Do remember, Lambda doesn’t support every programming language, but it does support many popular programming languages and scripting languages like Java 8, Node.js or Python.

--

--