DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • How to Install VPN on Linux?
  • Learn More About AWS DevOps Architecture and Tools
  • Understanding the Power of AWS Organizations: Streamlining Cloud Management
  • Amazon Instance Connect Endpoint

Trending

  • Data Quality: A Novel Perspective for 2025
  • Endpoint Security Controls: Designing a Secure Endpoint Architecture, Part 2
  • MySQL to PostgreSQL Database Migration: A Practical Case Study
  • How to Perform Custom Error Handling With ANTLR
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. AWS Basics

AWS Basics

A simple introduction of Amazon Web Services. We will see a few of its main services and we will also start setting up our development environment to build applications.

By 
Jawad Hasan Shani user avatar
Jawad Hasan Shani
DZone Core CORE ·
Mar. 07, 21 · Tutorial
Likes (15)
Comment
Save
Tweet
Share
27.5K Views

Join the DZone community and get the full member experience.

Join For Free

Introduction to AWS

In this post, we will get a high-level introduction to Amazon Web Services (AWS). We will see a few of its main services and we will also start setting up our development environment to build applications with AWS.

Amazon Web Services is a subsidiary of Amazon providing on-demand cloud computing platforms and APIs to individuals, companies, and governments, on a metered pay-as-you-go basis.

To start with AWS services, you will need an AWS account, which is very easy to setup and you can use free-tier for some of the upcoming demos. Free-tier is great when you are just starting with AWS. It allows you to try some AWS services free of charge and once you are comfortable with AWS, you can run bigger workloads and you will be invoiced accordingly. You can find more information about billing on the official AWS website.

AWS is a collection of over 200+ services to choose from and develop with. AWS provides on-demand cloud computing platforms and APIs on a metered pay-as-you-go basis. Most services can operate independently or by integrating with other services. Few of the popular services offered by AWS are:

  • EC2
  • S3
  • RDS
  • DynomoDB
  • ElasticCache
  • AWS Lambda

Most services in AWS are accessed with a TCP connection. Often this might simply be HTTP.

Each instance of service often called a resource, is give a local IP address with which other services can communicate. This IP is not connected with the outside world but you can assign an external IP if needed.

Alternatively, some services should be referenced by their ARN (Amazon Resource Name) instead of IP.

AWS Tooling

Options available to us are:

  • Web Console
  • CLI
  • SDKs

Even though most AWS can be worked with TCP connection, SDKs make this work even easier. There are SDKs available for .NET, Java, or other popular programming languages.

These SDKs provide robust APIs that enable you to interact with services and resources inside your codebase. SDK APIs are very similar in different languages.

In order to connect your local code to the cloud, we will need to use an AWS access key to properly configure the SDK to access our account in the cloud. AWS access-key gives access to SDK and CLI.

Elastic Compute Cloud (EC2)

The core of the web of AWS is EC2. You can think of this as a service that provides servers where your applications will be running.

EC2 also forms the basis of many other services as well, such as

  • Relational Database Service (RDS).
  • Elastic Bean Stack.
  • etc.

Compute refers to compute or server resources:

  • Application Server.
  • Web Server.
  • Database Server.
  • Mail Server.
  • Media Server.
  • File Server.

In AWS they are called EC2 instances instead of servers.

Instances are pay as you go. You only pay for running instances and only for the time they are running. EC2 instances comes with some built-in options:

  • Broad selection of HW/SW.
  • Global Hosting.

Identity and Access Management (IAM)

  • Configure and manage users.
  • This service is an integral part of AWS.

Cloud Watch

  • Used for alarms and logging.
  • Also integrated very deeply in many AWS services.
  • With cloud watch, you can configure alarms to notify you or trigger automatic activity if service goes down, overloaded, or acting crazy.
  • Cloud watch can be used with SNS to send alerts to end-points (e.g. email, SMS).

AWS Lambda

AWS Lambda is a compute service that runs your code in response to events, for example, when data is inserted in a DynamoDB table or when a file is uploaded to S3 or whenever a request hits one of the API endpoints and automatically manage the compute resources for you, making it easy to build applications that respond quickly to new information.

Lambda Core Features:

  • Runs code on demand.
  • No Servers: Servers, OS Maintenance, Scaling, Provisioning, and Deployment is managed for you.
  • Code starts running within milliseconds of receiving the event trigger.

Simple Storage Service (S3)

Amazon S3 is a storage service that can also function as a web server.

In S3, you put your files in buckets.

CloudFront

CloudFront is a Content Delivery Network (CDN) service that will copy your app to edge locations around the world to improve the speed at which your app is served to your users.

API Gateway

API Gateway is a service that allows creating a REST API fully managed by AWS that acts as the front-end for other services.

It makes it easy for developers to publish, maintain, monitor, and secure APIs at any scale. In other words, it allows you to create API endpoints for your backend application without having to manage the backend servers themselves.

Also, when we use API Gateway, we did not just build a single system with finite resources, but a fault-tolerant scalable system behind the scenes to support and grow our APIs.

Install AWS Command Line

I am using windows and for other OS you can refer to the AWS website for instructions. Download installer from AWS's official website and install CLI. After install you can check the installation by running the following command:

aws --version


Next, we configure AWS by using the credentials we got earlier:

aws configure


Windows PowerShell UI

This will ask you to provide user access-key-id and secret-key and you can enter those details. Once it's completed, you will see the following files on your machine:

Files in .aws

Install AWS Toolkit for Visual Studio

If you are using Visual Studio for development purposes, you can install the tool-kit from within the visual studio extension menu item:
AWS Toolkit for Visual Studio 2017 within Extension Menu

After installing the extension, you can open AWS explorer inside visual studio and access AWS Resources:


AWS Explorer


Summary

In this post, we covered a few of the AWS resources and we also started setting up our development environment. In the next posts, we will continue from this baseline. If you have some questions or comments, feel free to ask. Till next time, Happy Coding.

AWS Amazon Web Services Web Service Cloud computing

Published at DZone with permission of Jawad Hasan Shani. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • How to Install VPN on Linux?
  • Learn More About AWS DevOps Architecture and Tools
  • Understanding the Power of AWS Organizations: Streamlining Cloud Management
  • Amazon Instance Connect Endpoint

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!