AWS Builder Center

From Local AI to AWS: My Hands-On Journey Building and Deploying an AI Application

Learn how to build a privacy-friendly AI career guidance chatbot using n8n and Ollama. This article A practical beginner’s journey into AWS, exploring cloud fundamentals, Amazon EC2, S3, IAM, deployment, and how AWS can be used to host and scale AI-powered applications. #aws #cloud-computing #ai #devops

From Local AI to AWS: My Hands-On Journey Building an AI Application

When I started learning cloud computing, AWS initially looked like a huge ecosystem of services, concepts, and configurations.
There were services for compute, storage, databases, networking, security, monitoring, and much more.
Instead of trying to learn everything at once, I decided to take a hands-on approach and understand the AWS services that are most useful when deploying a real application.
In this article, I will share my beginner-friendly journey of understanding AWS, EC2, S3, IAM, networking, and application deployment.

Why I Started Learning AWS

As a developer, building an application locally is only one part of the journey.
The next question is:
How can I make my application available to other users?
This is where cloud computing becomes important.
AWS provides infrastructure and services that allow developers to deploy applications without managing physical servers themselves.
My goal was to understand this complete journey:
Develop Application
↓
Prepare Application
↓
Deploy to AWS
↓
Configure Security
↓
Make Application Accessible
↓
Monitor and Improve

Understanding the AWS Cloud

AWS provides many different cloud services, but I decided to start with a few fundamental ones.
The services I focused on were:
  • Amazon EC2 – Compute
  • Amazon S3 – Object storage
  • IAM – Identity and access management
  • VPC – Networking
  • CloudWatch – Monitoring
  • This helped me understand one of the most important ideas in cloud computing:
Compute resources can be created and managed on demand.

Connecting to the Server

After launching an EC2 instance, the next step is connecting to it.
Once connected, the server can be managed using the command line.
For example:
1
sudo apt update
I can then install the required software and prepare the environment for my application.
This felt very different from local development because I was working with a remote machine hosted in the cloud.

Understanding Amazon S3

The next AWS service I explored was Amazon S3.
S3 is an object storage service that can be used to store files and other objects.
For example, an application may need to store:
  • Images
  • Documents
  • Videos
  • Backups
  • Logs
  • Static website files
A simple architecture could look like:
1
2
3
4
5
Application
↓
Amazon S3
↓
Files / Objects
This separation between application compute and file storage is an important cloud concept.

Learning IAM

Security is another important part of AWS.
I started learning about AWS Identity and Access Management (IAM).
IAM helps control who can access AWS resources and what actions they can perform.
The basic concept can be represented as:
1
2
3
4
5
User / Role
↓
Permissions
↓
AWS Resources
For example, an application may need permission to access an S3 bucket.
Instead of giving unnecessary permissions, access can be controlled through appropriate IAM policies and roles.
This helped me understand an important security principle:
Give only the permissions that are actually required.

Understanding AWS Networking

Applications deployed to AWS also need networking.
This introduced me to concepts such as:
  • VPC
  • Subnets
  • Route tables
  • Internet Gateway
  • Security Groups
A simplified architecture looks like:
1
2
3
4
5
6
7
8
9
Internet
↓
Internet Gateway
↓
VPC
↓
Subnet
↓
EC2 Instance
Understanding these components helped me see that deploying an application is not simply about starting a server.
Networking and security are equally important.

Deploying an Application

After learning the basic AWS services, I started thinking about how a real application could be deployed.
A simplified deployment process looks like this:
1
2
3
4
5
6
7
8
9
10
11
12
13
Code
↓
GitHub
↓
EC2
↓
Install Dependencies
↓
Configure Application
↓
Run Application
↓
Users Access Application
For a Python application, the server might require Python and the project's dependencies.
For example:
1
pip install -r requirements.txt
The application can then be started using its appropriate command.

Monitoring the Application

After deployment, another question becomes important:
How do I know whether my application is working correctly?
This is where monitoring becomes useful.
AWS provides Amazon CloudWatch for monitoring AWS resources and applications.
It can be used for things such as:
  • Metrics
  • Logs
  • Monitoring
  • Alarms
The basic idea is:
1
2
3
4
5
6
7
Application
↓
Metrics / Logs
↓
CloudWatch
↓
Monitoring
This showed me that deployment is not the end of the process.
A production application also needs monitoring and maintenance.

What I Learned

My AWS learning journey helped me understand several important cloud concepts.

1. Compute

EC2 provides virtual compute resources that can be used to run applications.

2. Storage

S3 provides scalable object storage for application data and files.

3. Security

IAM helps manage identities and permissions.

4. Networking

VPC and related networking components control how resources communicate.

5. Monitoring

CloudWatch helps developers monitor resources and applications.
Together, these services provide the foundation for deploying applications in the cloud.

Challenges I Faced

Learning AWS was not completely straightforward.
The biggest challenge was understanding how the different services fit together.
At first, services such as EC2, VPC, IAM, and S3 seemed independent.
With hands-on practice, I started seeing the bigger picture:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
IAM
↓
Security

VPC
↓
Networking

EC2
↓
Compute

S3
↓
Storage

CloudWatch
↓
Monitoring
This made the AWS ecosystem much easier to understand.

What I Want to Explore Next

There are many AWS technologies that I want to explore further.
Some of them are:
  • AWS Lambda
  • Amazon RDS
  • Amazon DynamoDB
  • Amazon ECS
  • Amazon EKS
  • AWS Elastic Beanstalk
  • AWS CloudFormation
  • AWS CodePipeline
  • Amazon Bedrock
I am especially interested in combining AWS and AI to build and deploy intelligent applications.
A future project could look like:
1
2
3
4
5
6
7
8
9
User
↓
Web Application
↓
AWS
↓
AI Service / Model
↓
Response
This would help me understand both cloud computing and AI engineering from a practical perspective.

Any opinions in this article are those of the individual author and may not reflect the opinions of AWS.
Enjoyed reading this content? Let the author know!

Your likes, comments, shares, and saves help creators reach more builders.

Loading recommendations

Loading article