Cloud Computing with AWS

Cloud Computing with AWS: Why it’s Important

What is Cloud

Cloud (aka Cloud Computing) is a network of remote servers hosted on the Internet to store, manage, and deliver various computing services and resources, such as storage, computing power, applications, and other necessary services that a company or individual would need to run their business and IT.

Traditional IT vs. Cloud

“Traditional IT” is where the user (company) manages all the resources themselves, including the physical location, servers, rams, routers, switches, firewalls, and other physical components as well as the software they are going to use. This also includes the personnel required to set up the servers and services.

Doing all this requires a lot of steps, which can widen the margin for error significantly. The company must need to check all the points from their physical hardware to reach the customers. This often includes security concerns. And doing all this also requires the personnel for all the categories. 

Another core problem of Traditional IT is “scalability”. Every time the company needs to update its infrastructure i.e. adding new servers, increasing server capacity, and installing new services. The method is very error-prone and requires a lot of time. 

Other problems include customer accessibility, disaster recovery, overcost, and more.

So, what is the solution to all this problem?

It’s switching to cloud infrastructure. Not just using the cloud eliminates all the problems a company faces in traditional IT. It also adds unique features that help you to scale your business rather than worrying about adding servers, hiring personnel, and more.

Using the cloud you can decide all the services you are going to need. How much do you need them? And scale them any time it’s needed. Cloud Service Providers (CSP) has their data center in different regions that will help your customers to access your service faster and better. You can add and remove the service anytime. Conduct automatic backups and keep them in different regions. And all this can be done using the pay-as-you-go model. In this pricing model, you only pay for the resources you are going to use.

The conclusion is Cloud is the future of IT infrastructure. It fixes all the problems of traditional IT and also adds its unique power. And all this while being more cost effective than traditional IT.

Types of Cloud Deployment

To make the Cloud more robust the cloud deployment has its variant that will fulfill your specific needs. The general cloud deployment type includes “Public, Private, and Hybrid”.

1. Public

This is the model where all the cloud services are available for public use. Anyone with an account can use these services, be it a single person or a company. Another definition of this is the resources are shared with all the users. E.g. A single server is being used by multiple users. But being public doesn’t mean your data will be publicly available or anyone can access your resources panel. They have robust security measures to make sure no user can break into another user’s boundary. This is mostly used to host Web App or other Applications.

2. Private

While the private cloud uses the same services and resources as the public cloud. Here the resources are only available to the individual company. This means there’s no sharing of the resources or computing power. And this is why it’s as costly as on-premises but without compromising the cloud benefits. This is mostly used to store “high priority” data, e.g. database that contains user credentials, credit card info, and other confidential information. The private cloud is chosen for its extra layer of security and full control over the system.

This can be done on-premises where the company sets up everything or through third-party cloud providers like AWS, Azure, and IBM.

3. Hybrid

This is the sweet spot for every deployment. Here the IT infrastructure uses a combination of public and private clouds (on-premises). In this case, the company can put its high-priority data on a private cloud and manage the less-priority service using a public cloud. 

4. Multi-cloud

This model uses multiple cloud providers to run the IT infrastructure. Although the top cloud service provider (CSP) provides almost the same services, a company may find some services better than others. In this case, they can use different cloud providers to build their infrastructure.

Types of Service Models

The service model is different than the deployment model. This specifies how much control we have over a resource or service we buy from the cloud providers. It highlights the responsibilities between the customers and cloud service providers. In general, there are three types of service models. These are Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). 

Cloud Computing Responsibility Model

SaaS

Software as a Service (SaaS) is where the cloud service provider hosts and manages the application including the hardware, virtualization, networking, and everything you can think about that’s been used to make the software running. Here the customer pays the service subscription fee and directly uses the software. This can be free or paid. An example of SaaS is Google Docs, Microsoft 365 (cloud version), etc.

PaaS

Unlike SaaS, Platform as a Service (PaaS) provides you with all the software package requirements pre-installed. Leading you to directly jump on developing your application. An example will be WordPress hosting. When you buy WordPress hosting you don’t set up php, mysql, Apache/Nginx, or WordPress. All you do is connect your domain and start developing your site. This gives you control over the application you use, whereas SaaS doesn’t. You can look up the image for a better understanding.

IaaS

In Infrastructure as a Service (IaaS) the responsibility of the customer increases so does their control over the service. This model allows the customer to control everything from the Operating System stack. This means you will be able to choose the operating system you want to use, the database, application and so you will have to maintain security. And this is why it takes skilled personnel to administrate. An example would be the VPS servers that we use. This is just like using your home computer where can install delete deploy anything. The difference is that you don’t have physical access to the computer.

What is a Cloud Provider

Cloud Providers or Cloud Service Providers (CSP) are the companies that provide you these services. Among the top three, there is Amazon Web Service (AWS), Microsoft Azure, and Google Cloud Provider (GCP).

What is AWS

Amazon Web Service (AWS) is a comprehensive and widely used cloud service provider maintained by Amazon. AWS offers almost all the services an individual or organization may need to build their IT infrastructure. Currently, AWS is the #1 Cloud service provider with the most market share.

Creating AWS Account

AWS uses a very simple account creation flow. With some easy steps you can set up your account and you will be good to go. Navigate to this URL and fill up the fields with the appropriate information.

AWS Sign In

AWS will send an OTP to your email. Enter the OTP and you will be redirected to this page.

AWS Sign in

Choose a strong but memorable password. This will be the root account where you will perform all the actions. Click the “Continue” button and you will be redirected to this page.

AWS Account Create

Select the account type of account you want to create. There is no service level difference, you can use all their services on whatever account type you choose. Unless you are on behalf of a business choose the “Personal”.

Fill in the necessary information and click “Continue” by checking the check box. This will take you to the billing page.

AWS Account Create

Provide the information asked here, and click “Verify and Continue”.

AWS Account Create

Confirm your country and mobile phone number. AWS will send an OTP to your phone number. Fill that in.

AWS Account Create

On successful verification, AWS will send you to this page where you can select a support plan. 

AWS Support Plan

This will provide the support highlighted with bullet points. Now select your desired plan and click the “Complete sign up” button.

AWS Account Create

If you are seeing this “Congratulations!” you are good to go and your account creation is almost complete. Within a few minutes, you should receive an email with confirmation.

AWS Account Create

That’s it you are all done and ready to hit the ground.

Pricing

AWS has three types of pricing models in the AWS free tier, the 12 months, always free, and trials. The 12-month plan allows you to use certain services without paying any money for them. Like EC2, S3. The always free services can be used for free always within a certain limit. And you only pay when you exceed the limit. And the free trial is available for other services, which lets you try that service before paying. This way you can find out which suits your needs best. You should remember that even though the services are free they come with a limiter set.

Free Tier Pricing

AWS provides you with their AWS calculator web app that you can use to estimate the cost and create a perfect budget according to that.

UI Overview

Login into your AWS Portal with the email and password you’ve selected when creating the account.

AWS Account Log in

Upon successful login, you will see a page like this.

Home Page

On the top right corner, we have the “Region Selector”, which lets you select the region for your service. Selecting the nearest place to your customers is always a best practice to get a faster connection. 

Region

Changing the region may also limit your use of certain services. So, it’s better to keep an eye on that. 

Then there’s the account settings on the right side. That lets you access, Settings, Billing Dashboard, and other necessary action tools.

AWS

On the left side corner, you can access the “Services” offered by AWS arranged in a group. Alternatively, you can also search for the name in the search bar.

When you have some interaction with AWS, you will be able to see the section on the home page showing you data, like, Recently visited, AWS Health, Cost and usage, and more.

Console Home

The home page can also be edited according to your needs.

Creating EC2 Instance

EC2 aka Elastic Cloud 2 is by far the most used and most known AWS service. It’s an IaaS service model that lets you use a VPS to perform all the tasks that you can do with a VPS. This comes with a 12-month free on their t2.nano or t2.micro instance. 

In the t2.micro ec2, you will get 1vCPU, 1 GiB memory, and 30 GB EBS storage. 

First, select the region you want your service to be in. 

Regoin

Scroll down and select “Launch a virtual machine” from the Build a solution section. 

Select EC2

Alternatively, you can use the “Search bar” and search for “ec2”. Let’s go with the “Launch a virtual machine”.

Once selected, it will take you to the aws ec2 setup page. This will take some time to completely load. 

Select a name for your EC2 virtual machine.

Select EC2 Instance Name

Then you will have to select an image for your operating system or application.

Select EC2 OS Image

Select “Debian”, the “Free tier eligible” means the OS can be used without paying, alternatively, if you select a paid OS (Windows) you will have to pay for the license. Then you will have to select the “Instance type”. The default is “t2.micro” that’s free for 12 months.

Select EC2 instance type

By clicking the drop-down arrow, you can select the instance plan appropriate to your budget and needs.

Select EC2 instance type

Select the “t2.micro” and scroll down. 

The “Key pair” section lets you select a public and private RSA key pair. You will be using to connect to your VPS using SSH. You won’t have any “Key pair” created by default. Let’s click on “Create new key pair” to create the key pair.

Create Key Pair

This will open a pop-up window, and select the key pair name. Keep the type to “RSA” and select the Private key format. If you are going to use it in Linux and SSH select “.pem”. And if you are using putty select “.ppk”.

Create Key Pair

Let’s keep everything default and continue. This will pop up a window and let you save the “pem” key. Select a safe location and save it.

The “Network settings” section will allow you to select the security group. You can either add an existing group or create a new one. You can also specify the “IP” from where you want to log in. Also, choose if you want to allow the “HTTP” and “HTTPS” protocols that are used for web service. Click “Allow” for all of them and continue.

Create Security Group

The “Configure storage” lets you select the size for your disk. You can either choose a single disk of 30 GB or multiple disks within that size. You can also go beyond 30 GB disk size but that will cost you additional money. Let’s continue with the default size.

Create Storage EBS

Then there’s the “Advanced details” section that’s not recommended for beginners. Let’s keep everything default there. Click the “Launch instance” button.

Advance

Before clicking the “Launch instance” it’s recommended to cross-check all the settings. You can also create multiple instances at once by changing the “Number of Instances” number.

Review

Once clicked “Launch instance” it will take some time to finalize the VPS. Once done you will see a “Success” message.

Success

And just like that you have successfully created your first EC2 instance. Now click the “View all instances” button. It will take you to the dashboard for EC2.

All instance

There you will be able to see your EC2 instance and perform other necessary actions.

EC2 Dashboard

Conclusion

Cloud computing is undeniably the future of IT infrastructure. Embracing cloud technology is not just a trend; it’s a strategic move toward a more adaptable and cost-effective IT Infrastructure.