Have you ever wondered if you could just borrow or rent someone else's computer and use it to run all your workloads? What if you could use any of their tools too without worrying about the infrastructure that they run on? Maybe you just want to play around with bleeding-edge technologies like machine learning or quantum computing without any limits.
The good news is that all this is possible with AWS.
What is AWS?
Amazon Web Services (AWS) is a cloud services provider owned by Amazon. It is a public cloud, meaning that anyone can access and use their services over the Internet. Individuals and organizations of any size can access infrastructure services and software applications whenever needed, on a pay-as-you-go pricing model. AWS also provides developers with a platform and a robust toolset for creating, building, testing, and deploying cloud-based applications.
The services that AWS offers are grouped into various categories. Here's a few of them:
-
Compute services providing virtual servers in the cloud
-
Data storage services
-
Machine learning services for training and deploying AI models
-
Dev tools
The following screenshot shows the major categories of AWS cloud services. As you can see, AWS provides many services, each catered for a different use case.
Review the full listing of all AWS services grouped by category and think of the services that might be helpful to you. You need to sign up first.
A brief history of AWS
AWS debuted in the early 2000s and launched its first service: Amazon Simple Queue Service, a cloud-based messaging service in 2004. However, it was only in beta then. In 2006, AWS introduced Amazon Simple Storage Service (S3), a fully managed cloud storage solution; and
Today, AWS has over 200 services ranging from infrastructure services such as virtual networks to emerging technologies such as IoT and quantum computing. AWS also regularly launches new services to meet new demands. We will explore many AWS services in this course. This will provide you with a solid foundation for working with other AWS services.
AWS accounts
To access and use AWS cloud services, you need an AWS account. This is the account that will be billed for your usage of AWS services. Opening an account is a straightforward process. During this process, you will need to provide a valid email address, contact information, and billing information. When you open a new AWS account, you get 12 months free to use and experiment with AWS services.
A root user account is created when you finish the registration process. This user has full administrative access to all AWS resources and services in the account. Other types of accounts in AWS are
The root user account has unlimited access and should be secured with multi-factor authentication (MFA). This means you need more than just a password to log in to it. Additionally, it should only be used for administrative tasks not for day-to-day tasks. For day-to-day tasks, we can use IAM accounts. Later, we will discuss AWS accounts in greater detail.
How do we access AWS services?
We can use various tools to access and manage cloud services:
-
The AWS management console
-
The AWS CLI
-
AWS SDK
The AWS management console is a web-based visual interface that provides a simple way to interact with cloud services.
Once you log in, you are redirected to your dashboard:
The dashboard gives an overview of your resources and services. It is highly customizable using widgets that help you quickly access the most relevant information to you and the resources you need. There is a wide collection of service consoles for different AWS services. If you just want a simple interface to perform one-off tasks, this is the tool for you.
Another tool that we can use to access cloud services is the AWS CLI. It is a cross-platform command line interface that allows us to interact with AWS services using text commands. We can write scripts for automating repetitive tasks and complex workflows. The CLI can be installed on all major OSes such as Windows, Linux, and macOS. We will see how this tool is used later.
If you need access to AWS services directly from your application, you can use the language-specific AWS SDKs. A Software Development Kit (SDK) is used by developers to create software for specific platforms or services. AWS provides SDKs for popular languages such as Python, Java, JavaScript, and more. For instance, you might use it to store data in
Later, we will explore these and other tools in detail.
Conclusion
If you want to use someone else's infrastructure to run your workloads, you can turn to AWS. You can also access tools and applications to accomplish various tasks without worrying about where or how they run. This way you can concentrate solely on developing your applications or running your business.
After creating an AWS account, you can use the console, CLI, and SDKs to access and manage your cloud services. We choose tools to use based on factors such as simplicity and the level of automation required. Remember to closely monitor your cloud spending to save costs and set up alerts to stay within your budget.