AWS Builder Center

Learning AWS in Public: A Student Developer's Journey — Part 1

As a student developer, I've spent considerable time building applications, developing backend APIs, working with databases, and experimenting with different technologies. Most of my projects have been developed and tested locally, using tools such as Java, Spring Boot, Node.js, Docker, and databases. In this article, I'm starting a new learning series focused on Amazon Web Services (AWS).

Series: AWS for Students — From Local Projects to the Cloud (4 articles)

  1. 1
    Learning AWS in Public: A Student Developer's Journey — Part 1 This article

Introduction

As a student developer, I've spent considerable time building applications, developing backend APIs, working with databases, and experimenting with different technologies. Most of my projects have been developed and tested locally, using tools such as Java, Spring Boot, Node.js, Docker, and databases.
But there's one important question every developer eventually encounters:
How do we take an application running on our local machine and make it accessible, reliable, and scalable for users around the world?
This is where cloud computing comes in.
In this article, I'm starting a new learning series focused on Amazon Web Services (AWS). I'll document my journey from understanding the fundamentals to deploying real-world applications, sharing practical examples, challenges, solutions, and lessons learned along the way.
This series is designed for students, beginners, and developers who want to explore cloud computing through hands-on projects.

1. Why Am I Learning AWS?

While developing applications locally is an excellent way to learn programming and software development, deploying applications introduces an entirely different set of challenges.
Consider a typical web application:
  • Frontend: React or another frontend framework.
  • Backend: Java Spring Boot or Node.js.
  • Database: MySQL or PostgreSQL.
  • File storage: Local filesystem.
  • Deployment: Running the application on a local machine.
This setup works well during development. However, when real users need access to the application, we must consider several additional requirements:
  • How can users access the application over the internet?
  • Where should the backend and database be hosted?
  • How do we securely store user data and credentials?
  • How can the application handle increasing traffic?
  • How do we monitor performance and troubleshoot errors?
  • How can we manage infrastructure without manually configuring everything?
Cloud computing provides services and infrastructure to address these challenges.
My goal is to understand these concepts practically, rather than simply learning AWS service names or memorizing definitions.

2. What Is Cloud Computing?

Cloud computing is the delivery of computing resources, such as servers, storage, databases, networking, and software, over the internet.
Instead of purchasing and maintaining physical servers, developers can provision computing resources from cloud providers and manage them according to their application requirements.
For example, imagine building a student management system.
Traditionally, you might need to purchase a server, configure its operating system, install a database, set up networking, and maintain the infrastructure.
With cloud computing, you can use managed or on-demand services to perform many of these tasks without owning physical hardware.

Common cloud service models

ModelDescriptionExample
IaaSProvides virtualized computing infrastructure.Amazon EC2
PaaSProvides a managed environment for developing and deploying applications.AWS Elastic Beanstalk
SaaSProvides ready-to-use software over the internet.Web-based email applications
Cloud computing also offers different deployment approaches, including public, private, and hybrid clouds.
For this series, I'll primarily focus on learning and building with AWS's public cloud services.

3. Why Amazon Web Services?

<Entity value="Amazon Web Services (AWS)" category="software" disambig="Cloud computing platform"/> is a cloud computing platform offering services for compute, storage, databases, networking, security, analytics, machine learning, and application development.
Some AWS services I plan to explore include:
AWS ServicePurpose
Amazon EC2Virtual servers for hosting applications
Amazon S3Object storage for files, images, and documents
AWS LambdaRunning code without managing traditional servers
Amazon RDSManaged relational databases
Amazon API GatewayCreating and managing APIs
AWS IAMManaging identities, roles, and permissions
Amazon CloudWatchMonitoring applications and infrastructure
Amazon BedrockBuilding generative AI applications
Amazon VPCCreating isolated virtual networks
These services can be combined to build applications ranging from simple web APIs to complex, distributed systems.
I'll explore them gradually, focusing on how and when to use each service.

4. My Learning Roadmap

Rather than jumping directly into complex cloud architectures, I plan to follow a structured, project-based learning path.

Phase 1: Cloud fundamentals

  • Understand cloud computing and its service models.
  • Explore AWS global infrastructure, regions, and availability zones.
  • Create and secure an AWS account.
  • Learn to navigate the AWS Management Console.
  • Understand billing, budgets, and cost management.

Phase 2: Compute and storage

  • Launch and configure an Amazon EC2 instance.
  • Deploy a basic web application.
  • Understand Amazon S3 and object storage.
  • Explore AWS Lambda and serverless computing.
  • Compare traditional server hosting with serverless architectures.

Phase 3: Backend and database deployment

  • Deploy a Java Spring Boot or Node.js REST API.
  • Configure application environments and secrets.
  • Connect an application to Amazon RDS.
  • Understand networking, security groups, and IAM.
  • Learn how to expose APIs securely.

Phase 4: DevOps and automation

  • Containerize applications using Docker.
  • Explore infrastructure as code with Terraform.
  • Automate deployments using GitHub Actions.
  • Configure application logging and monitoring.
  • Learn basic cloud security and operational practices.

Phase 5: AI and production applications

  • Explore Amazon Bedrock.
  • Build a simple generative AI application.
  • Develop a retrieval-augmented generation (RAG) application.
  • Understand application scalability, resilience, and cost optimization.
  • Deploy a complete cloud-based project.
This roadmap may evolve as I learn more and encounter new challenges.

5. My First Hands-On Project

To make this journey practical, I'll use a simple web application as the foundation for learning AWS.
Project: Deploying a Backend API to the Cloud
The initial application will include:
  • A REST API built using Java Spring Boot or Node.js.
  • A simple database-backed feature.
  • An application deployment on AWS.
  • Basic monitoring and security configuration.
The initial architecture will look something like this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
User / Browser
|
v
Internet
|
v
AWS Application
(EC2 or Lambda)
|
v
Backend API
|
v
Database (RDS)
As I progress, I'll extend this architecture with services such as Amazon S3, API Gateway, IAM, and CloudWatch.
The objective is to understand not only how to deploy the application, but also why each infrastructure component is required.

6. Learning AWS Without Unexpected Costs

One of the most important considerations for students learning cloud computing is cost.
Although AWS offers free-tier benefits and free usage allowances for eligible services, not every service or usage pattern is free. Charges may apply depending on the service, region, configuration, and account eligibility.
Before creating resources, I'll make it a priority to:
  1. Review the pricing information for each service.
  2. Configure AWS Budgets and billing alerts.
  3. Use the smallest suitable resources for practice.
  4. Stop or delete resources when they are no longer required.
  5. Review the billing dashboard regularly.
Important: Billing alerts are notifications, not automatic spending limits. They may arrive after charges have accrued. Always verify current pricing and free-tier eligibility before deploying resources.
For beginners, developing good cost-management habits from the beginning is just as important as learning to configure cloud infrastructure.

7. How I'll Document This Journey

This series will follow a simple principle: Learn, Build, Document, and Share.
For each topic, I'll aim to provide:
  • A beginner-friendly explanation of the underlying concept.
  • A practical implementation with clear steps.
  • Architecture diagrams where useful.
  • Code examples and configuration instructions.
  • Common errors and troubleshooting tips from my own experiments.
  • Security and cost considerations.
  • A small hands-on exercise for readers.
I'll also share relevant source code and project repositories where possible, so readers can follow along and experiment independently.
Since this is a learning journey, I'll distinguish between things I've personally tested and concepts I'm still exploring. The goal is to make the content practical, honest, and accessible to fellow learners.

8. Who Is This Series For?

This series is primarily intended for:
  • Students who want to begin learning cloud computing.
  • Backend developers who have built applications locally and want to deploy them.
  • Beginners exploring AWS and its core services.
  • Developers interested in DevOps, serverless computing, and cloud-native applications.
  • Learners who prefer hands-on tutorials over purely theoretical explanations.
You don't need extensive AWS experience to follow along. Basic programming knowledge and familiarity with web applications will be helpful.

Conclusion

Learning cloud computing is an important step in my journey as a software developer. While I've already explored backend development, databases, Docker, and application architecture, I want to gain practical experience with cloud infrastructure and understand how modern applications are deployed and operated.
Through this series, I'll explore AWS one service at a time, build practical projects, and document the entire process—from the first AWS account setup to deploying complete applications.
I'm starting as a learner, and this series is an opportunity to grow while helping other students and developers who are on a similar path.
The next article will cover AWS account setup, navigating the AWS Management Console, understanding regions and availability zones, and configuring billing alerts before deploying any resources.
Let's learn AWS by building, experimenting, and sharing what we discover.

Series: Learning AWS in Public: A Student Developer's Journey
Part: 1 — Introduction and Learning Roadmap
Next: Part 2 — Getting Started with AWS: Account Setup, Console, and Billing
Resources:

Series: AWS for Students — From Local Projects to the Cloud (4 articles)

  1. 1
    Learning AWS in Public: A Student Developer's Journey — Part 1 This article
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