Amazon Elastic Compute Cloud (EC2)

Amazon Elastic Compute Cloud (EC2)

Amazon Elastic Compute Cloud or EC2 instance is a virtual computer provided by AWS which is completely resizable, scalable, and secure which is easy to configure and manage.

Why AWS EC2?

Before getting started with EC2 let's think of the scenario where there is no EC2 instance. Imagine that you own a website or an application that needs to deploy on the internet. The normal way is to hire a Webhosting service but if your website and architecture are really larger you would probably go for buying the servers and installing them in a data center. This type of installment is known as on-premises or traditional deployment. If you want to know about more deployment methods go through this article types-of-cloud-computing-all-you-need.

So to carry out the above condition first we need to buy a server and wait for them to be delivered. This can take a lot of time based on your distributors. After getting the servers you need to install them with all proper wiring and cooling for them. Then install the website or application which needs to be deployed in the servers. We should also know the no of servers we need to run because sometimes we might run servers where there are fewer users and most of the servers are idle or maybe you have a limited no of servers and during the peak time, your system cannot handle the load so this is also an important point to consider. One more thing to consider is renewing the servers which are usually done 3year's time. Or if one server shuts down we need to fix that without having interruptions to the other servers. After all, we are doing all this so their users on the internet can experience your service without any interruptions. This traditional issue is solved by cloud computing using AWS EC2 instance we run multiple compute engines which are easy to configure and fully scalable.

Amazon Elastic Compute Cloud (EC2)

Using Amazon's EC2 instance we can launch as many engines within few minutes and even seconds. The other major advantage of using EC2 or cloud computing is "pay as you go" or pay only for the resources which you are using. This can save a lot of income as we talked about the less and over usage of servers. We can deploy engines whenever we want using simple commands or GUI. When the use of the instance is over we can simply terminate them. AWS also gives an option to choose the type of instance there is a wide variety of instances starting from micro to large and extra-large where the no of processors and memory increases. They also give chance to choose the type of processor for instance which are Intel or AMD.

The instances are located at the amazon data centers which are made and handled by Amazon. To use an EC2 instance, we need to do 3 steps they are 
  • Launch: It's just checking the type of configuration for the instance like memory and no of processors or choosing some specific hardware types and even software like the operating system. We can choose any type of operating system we need from Linux to Windows and Centos to Mac. Read more about operating systems here the-need-of-operating-system.
  • Connect: After deploying the types of instances the next step is to connect to the host. This can be done in many ways the popular method is using an SSH and login into the host. While creating the instance AWS asks for the types of configuration for the connections whether it is key-pair access or password access etc.

  • Use: This is the final step where you have full access to the instance. Here you need to install the required software which needs to be deployed on the internet and configure it.

Types Of EC2 Instances

As every deployment of Application needs different types of configurations there are a variety of EC2 instances. They are divided based upon the memory which they use, The amount of work they need to perform, the types of the network they need to be worked on, or Application-specific instances.
  • Memory-Optimized Instance: When we think of memory we usually mean the speed of the instance. Every program needs to be brought to the main memory to execute it. Suppose the application needs a huge amount of memory to execute then the instance needs to satisfy its requirement or it can deploy it. Memory-Optimized instances are used for great performance and faster deployment of engines.
  • Storage Optimized Instance: The amount of data an instance can handle is a critical standard of compute engines. INPUT/OUTPUT operations per second (IOPS) is a measurement used for storage optimized instances for calculating their performance. These types of instances are used where there are high input and output operations on the data or big data or even machine-learning and big data analysis.

  • Accelerated Computing Instance: This is the instance that needs to perform heavy workload operations such as solving a complex mathematical function or cracking a hash or even rendering high-end textures. These instances are accelerated instances that give more throughput. They are used of game streaming or running application which requires a lot of graphics.
  • Compute Optimized Instance: They are dedicated instances that are run to do specific tasks such as running a web application or some service on the internet. These types of instances are not used mostly because they are task-specific instances and dedicated and only do one job at a time.

Advantages of EC2 Over On-Premise:

The major and huge difference between EC2 and traditional data centers is they are fully scalable which allows the user to deploy multiple instances without worrying about the hardware configuration and maintenance of the servers. Suppose you host an online retail website and consider the lifetime of the servers during a year. During normal days there might be very little traffic to your site and in the times of festivals or weekends, the traffic may reach peaks values where the servers need to properly respond to each request without any latency. In traditional data centers, the no of servers are fixed and this can be a problem sometimes where some servers are idle with no traffic or some servers cannot handle the traffic on the website where the customers may face problem to buy products from the website.

This can cause huge economic losses sometimes. Using EC2 instance we can quickly deploy multiple instances when there is a need and quickly terminate them when they are idle. Amazon EC2 instance provides an EC2 Auto Scaling service which deploys the instance based upon the usage. Another main advantage is they are really high secure instances that are isolated from other instances. A breach in one of the instances cannot deplete the other instances. 

Amazon Instances are run and handled by Amazon in their data centers which are known as regions that are spread wide across the Globe for proper availability. Each region has multiple data centers which are completely isolated from other data centers and any outage and disaster at one location doesn't interfere with the working of other datacenters. Which provides high Availability for the application

Regions, Availability Zone and Edge Locations

AWS data centers are located in different locations of the world and they are divided among the continents or areas such as North America (NA), South America (SA), Europe/ Middle-East/ Africa and the Asia Pacific so know more information about the location visit the official page of AWS Global Infrastructure Regions & AZs.

Regions are the physical locations of the data centers as we talked each region has multiple data centers. Amazon is proud to announce that every reason has 2 data centers and it is close to getting regions with 3 data centers. Another major point to notice is that some AWS services might not be available in some regions so the services are also region-dependent AWS tests the services on different regions before deploying them to all regions. The datacenters of the regions are known as Availaibitly zones they all are isolated from each there they have their own power supply, their own network, and all. Interruptions in one AZ's don't cause interference in the other. Edge locations are the data center where the data needs to be transformed from one location or continent to other. They use a service called AWS CloudFront (CDN) to transfer data with low latency.

Post a Comment

Previous Post Next Post