Cloud Computing is one of the fastest-growing technologies in the Computer Science world. Amazon Web Services or AWS, is an evolving Cloud platform. It provides PaaS to the developer community and acts as a virtual platform on the Web World.
In this article, you would be able to understand what AWS, EC2, Instance, and the various types of Instances in AWS are. But first let’s get a brief idea about AWS, EC2, and Instance.
Demystifying AWS EC2 and Instance
AWS is a comprehensive cloud platform service provider. It is also internally linked with many cloud-based DaaS (Data as a Service) platforms. AWS with hosted Kernel provides a fast runtime environment for testing large programs.
EC2 or Elastic Compute Cloud is a service provided by Amazon. It is a web interface through which developers can easily create object instances and work with them. EC2 can also help scale different modes to fit the need. Depending upon the environment, EC2 can be applicable for a handful of various purposes.
One of the most useful concepts of programming is Object Oriented Programming or OOP. In OOP, developers define many objects. An Instance is only the occurrence of that object in the programming paradigm.
What is the Family of Instances?
There are some families of AWS Instances. With time, the tech world is becoming more and more advanced, which is effectively driving the Instances to upgrade. With the advancement of architecture, Processors surge the development of new Instances. So, it runs under a continuous flow. This feature is another benefit of working through cloud systems.
You can divide the Instance families into five types. The naming convention of Instances is confusing. Each of the Instances has a prefix of its family, followed by a number that typically represents its generation.
- General Purpose: The instances under this family are A1, T2, T3a, T4g, M4, M5a, M5n, and M6g. The prefix families ‘A’, ‘T’, and ‘M’ belong to this type. This family is the most popular with applications in servers and environments.
- Compute Optimised: The instances under this family are C4, C5, C5a, C5n, and C6g. The prefix family ‘C’ belongs to this type. These are used for high computation systems, such as scientific modelling.
- Memory Optimised: The instances under this family are R4, R5, R5a, R5n, R6g, X1, X1e, and Z1d. The prefix families ‘R’, ‘X’, and ‘Z’ belong to this type. As the name says, this is ideal for large memory application systems. Data scientific or Big Data architecture are the perfect match for this type.
- Accelerated Computing: The instances under this family are P2, P3, F1, G3, and G4. The prefix families ‘G’, ‘F’, and ‘P’ belong to this type. Parallel computing architecture requires these instances. GPUs very often include this type.
- Storage Optimised: The instances under this family are D2, H1, I3, and I3en. The prefix families ‘D’, ‘H’, and ‘I’ belong to this type. For sequential processing, broad storage is preferable. This class is ideal for those purposes.
Must Read: AWS Salary in India
Types of Instances in AWS
- A1: These instances use ARM architecture instead of AMD. Open Source programs such as the ones with Java or Python background are often preferable with this instance.
- M5: These instances generally use Intel Xeon processors, Intel AVX-512, and for that reason, they prefer to build x86 architecture. They are better than A1 in terms of high computation, storage of memory, and network performance issues.
- T3 and T3a: They are a bit different, as they are less costly and less effective when compared to M5. T3 generally prefers Intel architecture. On the other hand, T3a uses AMD architecture. They are quite good at computing data and storing it. Therefore, these instances are often called ‘Burstable performance instances’.
- C5: When the user is looking for a better gaming experience, better Web services, Scientific modelling, and better encoding and decoding of media, they should use C5 instances. These instances work on Intel Xeon Platinum processors. They are 25% more effective than the previous-gen C4 Instances.
- R5 and R5a: They are applicable in Big Data analytics, highly efficient databases, and memory optimisation. They generally use Intel and AMD architecture. They can get all the data and memory resources of the operating system with the help of the AWS Nitro System. They are comparatively cheaper than other instances.
- X1 and X1e: Among all the EC2 instances, they produce the highest ratio of computational memory. Therefore, they are applicable in high memorisation of computational data applications (e.g. SAP HANA).
- High Memory Instances: These Instances have a higher capability of storing data and information as they have 6, 9, or 12 TB of RAM in their memory. Their applications are quite similar to the X1 and X1e Instances. If you purchase high memory Instances, you would have a 3-year security reservation and have your Web server, unlike other AWS offerings.
- P3: These Instances use separate GPUs (Graphical Processing Units). They are applicable in Machine learning and parallel processing workloads.
- G3: They also use GPUs for graphic designing, streaming, and transcoding applications.
- F1: They are the ones that use FPGAs (Field Programmable Gate Arrays) for processing data. They work on FPGA – specifically Ami or AFIs. Therefore, you can leverage them for various purposes and applications.
- H1 and D2: These Instances have a higher storage capacity compared to other Instances. H1 ensures 16 TB of memory, whereas D2 has 48 TB of memory for storage. They are applicable in Hadoop deployments or HDDs.
- I3: They also have higher memory and are applicable in SSDs with almost 16 GiB storage. They rely on AWS Nitro System for getting access to all the data and storage resources of the operating system, which is termed as ‘Bare Metal’ access.
Also Read: AWS Project Ideas & Topics
So, we have broadly illustrated AWS, EC2, and Instances, families of Instances, types of Instances in AWS, their various applications, and all. If you want to gain more knowledge about the types of Instances in AWS and their uses, get yourself registered for upGrad and IIT Madras’s Advanced Certification Program in Machine Learning and Cloud Computing.
The key features of this program include placement assistance, practical workshop skills, and most importantly, a rich learning experience. This course would certainly help you build a successful career in Machine Learning and Cloud Computing.