Cloud computing is all over the place, and with it services like AWS. With Amazon Web Services, you have a fully fledged IT Infrastructure at your service. However, Infrastructure as a Services products like AWS comes with some mystery around them and what they do. Today we will explain this mystery, explaining what is AWS and how to use AWS, in the simplest way possible.
Welcome to the world of IaaS
IaaS is a popular acronym for Infrastructure as a Service. Since AWS is a product of this kind, we need to explain IaaS first, and – with it – what is an Infrastructure. If you already know about it, just skip to the how to use AWS section.
What is an IT Infrastructure?
All IT gravitates around running applications and software. In fact, this is the ultimate purpose of any IT component. While software is written with a programming language, it also needs some hardware to run on. If you have a simple Application, it will simply run on your PC. However, this is not the case for modern applications: they use Internet-based interactions with remote servers. The developers who created the application also created a Server to make it work.
Think about Facebook, or Google, or any website actually. You don’t have any information on your device, but just a simple application that contacts a server. The server has all the content, and provides you with what you need. Developers have prepared that servers so it behaves the way they want.
So far so simple, but creating a client-server application is not as simple as installing the server. The server, which is a computer, needs to be updated regularly. You also need to provide redundancy mechanisms, in case the server fails. And backups. And name resolution, and load balancing, and more depending on what you do. All of that is the Infrastructure, something not strictly related to your application, but something you actually need to get done.
What is Infrastructure as a Service?
You need to get infrastructure up and running, as your application runs on it. This means you need to purchase a server and install it in a data center, at least. Then, you also need additional servers for complementary services like DNS. On top of that, you should configure a firewall for security, maybe a directory service for authentication and so on. You can see where this is going: unsustainable effort, and high upfront costs.
With IaaS, you can focus on your application and let the infrastructure handle itself.
With IaaS, you have nothing of that. You just ask “I need an environment to run my application” and you get it. No fancy configuration or complexity. Furthermore, you don’t ask that to a person. This is completely automatic, and self-services. It is like going to Amazon and adding what you need to the shopping cart. On top of that, you don’t have set-up costs. Everything is pay-as-you-go, so you pay just for the resources you use monthly. With IaaS, you can focus on your application and let the infrastructure handle itself.
Amazon Web Services (AWS) is an IaaS provider, like Microsoft Azure and Google Cloud. Since Amazon is the market leader, today we learn how to use AWS.
How to use AWS
Registering to the AWS Console
You can control everything of your AWS infrastructure form a web panel, the AWS console. On this website, you can login or register to AWS. Once you create an account, all your IT infrastructure will be in it. On top of that, Amazon offers you the most basic services for free for a year, so that you can try them out. To have that, you just need to insert payment details.
Once you register a new account and access it, you will end up in the console. The AWS console is a big dashboard from which you can the AWS services you need and configure them. If you know what you need, configuring each is fairly simple. The list of services you can use will appear in the middle of the screen, if you expand the All Services drop-down.
Of course, you can use the search box to search the service you need. Beside searching services for names, you can also search for actual service. For example, Route 53 is the DNS service in AWS. If you search “DNS”, the console will prompt you with Route 53.
What about pricing?
Before diving into the list of services, and how to use AWS, it is all about money. The question here is: can I actually afford this? Most likely, the answer is yes. AWS is among the cheapest alternatives out there, and provides everything with the on-demand formula. This, of course, comes with some concerns.
If you don’t know how much resources your application will use, you can’t be sure about how much will it cost to run it. However, just try it for a few months, and you will get that value. Furthermore, AWS provides you with amazing billing tools to forecast costs and send you alerts if you are spending too much. Check that out in the Billing service.
In the end, even AWS runs in a data center. Not just one, actually. AWS has several data centers scattered around the world, and you can select the AWS Region you wish to run your infrastructure. You may even have multiple infrastructures in different regions, or backups between regions.
How to use AWS Services
As we saw above, AWS has a truckload of services. You don’t need all of them to get started, so we will focus on the ones you might actually need.
Elastic Computing (EC2)
Amazon EC2 is the core services of AWS. With it, you can create virtual machines on-demand: you basically ask for server setup. Setting up a new server takes a few minutes, and you can customize everything you need. First, you can select the characteristics of your server among a long list: do you need more RAM? Better CPU? More storage? There is a configuration that will work for you. Then, you can select the Operating System to install. Here you have several options, and you can also upload the ISO of your own OS if you’d like. However, this is not simple and immediate, and something you won’t do when starting out.
Each virtual server is an EC2 instance. You can start, stop, backup, destroy instances at will, always from the console. Each instance comes with a public IP, but you can also use Elastic IP. An Elastic IP is simply an IP address that you can move among your instances, in case you wish to transfer the application to another instance.
Additionally, you can configure security groups: simplified firewall rules, and load balancers inside the EC2 dashboard.
Lambda is somewhat more advanced than EC2. With EC2, you get a virtual server that you actually need to configure. Instead, with Lambda you just have a place in the cloud to run your code, in form of a “Lambda Function”. In other words, you don’t care about the server, you just give your code to the cloud. When the user calls a specific resource, the Lambda Function runs and your code is executed.
Here you have the clear advantage of not caring about the server, but not just that. Lambda can scale to incredible level, you don’t need to worry about scalability. This is a true cloud product, and will be handy if you want to serve millions of users.
Other storage alternatives exist in AWS. For example, with Glacier you pay a smaller fee for each GB than S3, but you might have to wait to retrieve for data. Useful for backups.
Most applications will need a Relational Database, and Amazon RDS can provide one. This service configures special EC2 instances in a way that they can support most SQL services, without you configuring each server manually. To do that, it leverages a special operating System: Amazon Aurora. It allows your SQL database to scale up to 64TB, definitely not bad!
Route 53 is the DNS services. However, AWS Route 53 is not a simple DNS service. Of course, it allows you to configure sample DNS settings like A and CNAME records. On top of that, it also provides you with geo location and availability services.
With Route 53, you can say that mysite.com resolves to an IP address for Europe users, and for another for US users. You can also say that in case the Europe IP is down, it should resolve to the US IP for Europe users as well.
Everybody loves online video games, and they also need a server to run. You can arrange that with Amazon GameLift, an as-a-service platform where you can run your game with the most common engines like Unreal Engine, or even with your custom C++ or C# engine. If you are a game developer, you should check this out.
Unless you are a lone cloud developer, you will have several people accessing the AWS account. This is particularly common for companies, where different employees access AWS. History teaches us that sharing the password with other people is bad, but with AWS we have a better option.
IAM allows you to create users inside your AWS account, and make them access it. You can group users and give each user or group different privileges on the services they can use, or the resources they can access. IAM can be extended with AWS Organizations, where you can have multiple AWS accounts under the same company, that all share the billing method.
Wrapping it up
In this article, we saw how to use AWS and AWS services. Now you have the tools to experiment with AWS and see if it can add value to your company or project. I’ve been using it in several projects, and it helped me focusing on the right thing, instead of wasting time on the complementary components.
What are you going to use AWS for? Do you find it as intuitive as I do? Let me know what you think in the comments!
The post How to use AWS, a 5 minutes tutorial appeared first on ICTShore.com.