Getting started with AWS.

Getting started with AWS.

AWS stands for Amazon web service. For the sake of brevity, we will use the name- AWS.

AWS is an ever-evolving cloud platform that provides scalable and cost-effective computing solutions. AWS offers a great deal of security, compute power, database storage, content management systems, and many more on a metered pay-as-you-go basis.

Prerequisites:

  • No knowledge of AWS.

A brief history of AWS.

AWS launched its platform in 2002 with a few services that handled Amazon's retail operations. Fast forward to 2006, AWS began offering its defining IaaS (Infrastructure as a service) service:

  • Amazon Simple Queue Service

  • Simple Storage Service

  • Elastic Compute Cloud

After a series of successes with its online core services, AWS held its first event in 2012. In 2015 AWS made strides financially by reaching $6 Billion per annum. The revenue was growing by 90% every year.

AWS is waxing strong and making cloud computing easier for customers and developers.

How do AWS works?

Aws offers over 200 services which range from infrastructure technologies like computing, storage, and databases to emerging technologies such as machine learning, artificial intelligence, and many more.

Some services give the users complete control while AWS manages the underlying tasks, while for other services, AWS is fully responsible for the operation and security.

Why use AWS?

This section will discuss the pros and cons of using AWS.

  • Pros:
  1. AWS provides a user-friendly platform.

  2. It is flexible. AWS allows users use operating systems and programming languages they are already acquainted with.

  3. AWS is secured. It provides a safe passage to ensure that your data stays private.

  4. AWS is cost-effective. AWS offers a metered pay-as-you-go service, which means you only pay for the services you need and use.

  5. Scalability can be complex and overwhelming. AWS is highly scalable because it can automatically increase the capacity of constrained resources so that the application is always available.

  6. Computing power. AWS offers a high-performance computing service, so users need not worry about processing speed or latency problems.

  • Cons:
  1. User support. If users need urgent assistance, they will have to pay extra money.

  2. General Issues. These issues might arise due to downtime, security breaches, or network problems.

  3. Due to the introduction of regions and AZ (availability zones), some services may not be available in your Region or AZ.

  4. Lack of experts might pose a problem to a company looking to hire the right cloud developer.

AWS regions and availability zone.

AWS regions are the geographical location(s) of AWS data centers. These regions can be Europe, Asia, and so on. Choosing regions close to your users is recommended, as this will make data reach the specified users more quickly. Regions provide high availability. AZ is a multiple or isolated data center within a region.

Each availability zone has independent power, cooling, and networking. So if one crashes, it won't affect the others.

Pay attention to the following when deciding what Region/AZ to choose so you can get the most optimal service in your area:

  1. Distance. Select Regions/AZ close to you and your end users.

  2. Service availability. Certain services may not be available in some Regions/AZ

  3. Cost. Services in certain Regions/AZ cost significantly higher than others. For example, compare the On-Demand c6a.large instance costs:

    • $0.0765 in US East (North Virginia)

    • $0.0848 in US West (Northern California)

  1. Latency. Choose the closest region for low latency. Faster response from the server ensures better user experience and performance.

Applications of AWS.

  1. Game development: Gaming companies need a lot of storage, computing power, network, and security, to provide the best gaming experience for users. AWS makes building small and large-scale gaming engines easier.

  2. Storage: AWS storage services like S3, EBS, and EFS provide scalable, reliable, and easily accessible object storage for data backup, collection, and many more.

  3. Websites: AWS makes hosting a website more fun. It offers a wide range of web hosting options. AWS cloud provides a flexible platform that enables businesses to use tools they are accustomed with.

  4. Messages and Notifications: AWS messages and notifications enable core communication between a user and its application.

  5. Containers: AWS offers a fully-managed Docker container registry, making storing, managing, and deploying Docker container images easy for developers.

  6. Mobile Development: The AWS Mobile SDK provides code snippets and libraries. AWS contains other tools that watch the application, auto-scale, and manage relational database service for better performance.

  7. Compute Service: This service helps developers build and deploy scalable applications. Using AWS compute service, businesses can rent virtual devices and configure requirements such as: CPU, memory, storage, and networking capacity based on their application needs.

  8. Data analytics: An organization can build an entire analytics application using AWS. AWS offers a wide range of analytics services that fit all your data analytics needs and enables organizations to do more with their business data.

AWS services.

So far, we've seen the applications of AWS. Here are some services of the AWS ecosystem:

  1. Game development:

    • Amazon Lumberyard is a cross-platform infrastructure, and 3D game engine.

    • Amazon GameLift is used mainly for server infrastructure management. It enables gaming companies to deploy and scale their gaming server with little to no cost.

  2. Storage:

    • Amazon Elastic Book Store provides block storage volume used in EC2 instances.

    • Amazon Elastic file search provides a simple and scalable elastic file system.

    • Amazon file cache offers a fully managed high-speed caching system. It is an ideal storage for data in on-premises file systems.

    • Amazon FSx for Lustre offers a fully managed file system for computing heavy workloads.

  3. Websites:

    • Amazon's location service allows the creation of location-based applications.

    • Amazon Pinpoint is used for push notifications, making it easy for businesses to send targeted messages.

  4. Messages and Notifications:

    • Amazon's simple notification service enables core communication between users and the application.

    • Amazon's simple email service helps to receive or send emails.

    • Amazon's simple queue service enables businesses publish messages to end users.

  5. Mobile Development:

    • AWS Amplify manages backends for your mobile applications. It makes it easy to build, deploy and scale mobile applications.

    • AWS AppSync is a serverless backend and is used to build data-driven applications.

    • AWS Cognito manages user access to mobile apps.

    • AWS Mobile SDK provides code samples and libraries.

  6. Compute Service:

    • AWS EC2 offers virtual machines for rent.

    • AWS Batch provides fully managed batch processing at any scale.

    • AWS Elastic Container Service stores, manage, and deploy container images.

  7. Database:

    • AWS DynamoDB is a key-value and document database.

    • AWS MemoryDB for Redis is a Redis-compatible, durable, in-memory database service. Data is stored in memory, which enables you to read and write data in milliseconds.

    • AWS Neptune is a fast, reliable, and fully managed graph database service.

  8. Data Analytics:

    • AWS Athena is used in interactive analytics. Athena is serverless, so there is no infrastructure to manage.

    • AWS EMR enables organizations to process big data.

    • AWS Redshift is used in data warehousing.

Conclusion

In this article, we've briefly discussed AWS. This introduction is the tip of the iceberg regarding what AWS offers. There are tons of other services. You can check out the AWS official documentation for more.