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
↓
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 updateI 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 / ObjectsThis 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 ResourcesFor 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 InstanceUnderstanding 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 ApplicationFor a Python application, the server might require Python and the project's dependencies.
For example:
1
pip install -r requirements.txtThe 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
↓
MonitoringThis 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
↓
MonitoringThis 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
↓
ResponseThis would help me understand both cloud computing and AI engineering from a practical perspective.
Enjoyed reading this content? Let the author know!
Your likes, comments, shares, and saves help creators reach more builders.
Loading recommendations
Loading article