Introduction
Cloud computing has become an important part of modern software development. From storing photos and hosting websites to running large-scale applications, cloud technology helps individuals and organizations access computing resources over the internet.
For software engineering students and beginners, understanding cloud computing is a valuable step toward learning modern application development and deployment.
In this article, we will explore the fundamentals of cloud computing, understand Amazon Web Services (AWS), learn about AWS pricing and infrastructure, explore major service categories, discuss the shared responsibility model, and take a closer look at Amazon S3.
1. What Is Cloud Computing?
Cloud computing is the delivery of computing resources—such as servers, storage, databases, networking, and software—over the internet, usually with pay-as-you-go pricing.
Instead of purchasing and maintaining physical servers, users can rent computing resources from a cloud provider whenever they need them.
Traditional IT vs. Cloud Computing
Traditional IT
Buy physical servers, maintain hardware, manage upgrades, and plan capacity in advance.
Cloud Computing
Provision resources online, scale when needed, and pay according to usage and service pricing.
Example
Imagine you want to build a website.
With traditional IT, you may need to purchase a physical server, configure it, and maintain it yourself.
With cloud computing, you can launch a virtual server through AWS, deploy your website, and adjust resources as your traffic changes.
Main Types of Cloud Computing
Description
Public Cloud
Cloud resources provided over the internet by a cloud provider.
Private Cloud
Cloud infrastructure dedicated to one organization.
Hybrid Cloud
A combination of private infrastructure and public cloud services.
Cloud computing is also commonly categorized by service model:
IaaS: Infrastructure as a Service — virtual machines, networking, and storage.
PaaS: Platform as a Service — managed platforms for building and running applications.
SaaS: Software as a Service — ready-to-use applications delivered over the internet.
2. Advantages of Cloud Computing
Cloud computing offers several benefits for developers, students, startups, and businesses.
- Cost Efficiency
Avoid large upfront hardware purchases. Pay for the cloud resources you use, while monitoring ongoing costs.
- Scalability
Increase or decrease resources as application requirements and traffic change.
- Faster Development
Provision servers, databases, and other resources in minutes rather than waiting to purchase and install hardware.
- Global Reach
Deploy applications in different geographic regions to serve users in multiple locations.
- Backup and Recovery Options
Use cloud services and architectures to support backups, data replication, and disaster recovery planning.
These benefits can help teams experiment, build, and deploy applications more quickly, although actual costs and reliability depend on how systems are designed and managed.
3. What Is AWS?
AWS (Amazon Web Services) is a cloud computing platform from Amazon that provides services for computing, storage, databases, networking, security, analytics, and much more.
Developers can use AWS to build, deploy, and operate applications without having to own all the underlying physical infrastructure.
What Can You Build With AWS?
Host a website or web application.
Store images, videos, documents, and backups.
Create and manage databases.
Deploy APIs and backend services.
Build data analytics and machine learning solutions.
Set up monitoring, security, and networking.
Simple AWS Application Example
Imagine you are building a recipe website.
User's Browser
Views recipes and uploads images
Amazon EC2
Runs the website's backend
Amazon RDS
Stores recipe information
Amazon S3
Stores recipe images
This is a simplified example. A real application may use additional services for networking, authentication, content delivery, monitoring, and security.
4. Fundamentals of AWS Pricing
AWS generally follows a pay-as-you-go model: charges depend on the services you use and their specific pricing rules. Some services also offer different commitment-based or discounted pricing options.
Important Pricing Concepts
Meaning
Pay-as-you-go
Pay for measured usage instead of purchasing all infrastructure upfront.
On-demand
Use eligible resources without a long-term commitment.
Reserved/commitment pricing
Some services offer discounts in exchange for a defined usage commitment.
Free Tier and credits
Eligible accounts and services may receive limited free usage or credits under applicable terms.
Data transfer
Some data transfers are chargeable, depending on direction, service, and destination.
What Can Affect Your AWS Bill?
Compute time, such as running virtual machines.
Amount of data stored.
Number and type of requests.
Data transferred out of a service or between locations.
Additional features, monitoring, and managed services.
Important: AWS is not automatically free. Free usage and credits have eligibility rules, limits, and time periods. Always check the current terms for your account.
Example: Understanding EC2 Costs
Suppose you launch a virtual machine using Amazon EC2.
Your bill may depend on:
The instance type you select.
How long it runs.
The operating system and pricing option.
Attached storage and data transfer.
Other services you use alongside it.
To estimate costs before deploying, use the AWS Pricing Calculator .
A useful habit for beginners is to set up billing alerts and regularly review resource usage.
5. AWS Infrastructure Overview
AWS operates a global cloud infrastructure that allows customers to deploy applications in different geographic locations.
Three important infrastructure concepts are Regions, Availability Zones, and edge locations.
1. AWS Regions
A Region is a separate geographic area where AWS provides cloud infrastructure.
For example, when deploying an application, you choose a Region based on factors such as:
User location and latency.
Service availability.
Data residency requirements.
Cost and operational needs.
2. Availability Zones (AZs)
An Availability Zone is an isolated location within an AWS Region, consisting of one or more data centers with independent infrastructure.
Deploying across multiple Availability Zones can help improve application availability and resilience when designed appropriately.
Reliability Pillar
3. Edge Locations
Edge locations support services such as Amazon Cloud-Front, helping deliver content closer to users.
Simple Infrastructure Relationship
AWS Global Infrastructure
AWS Region
Availability Zone A
Isolated infrastructure
Availability Zone B
Isolated infrastructure
Edge locations are distributed separately and support services such as content delivery.
6. AWS Services and Their Categories
AWS provides services for different parts of application development and infrastructure management.
Here are some commonly used services beginners should recognize.
AWS Service
Purpose
Compute
Amazon EC2
Virtual servers
Server-less
AWS Lambda
Run code without managing servers
Storage
Amazon S3
Store objects such as files and images
Block Storage
Amazon EBS
Persistent block storage for EC2
Database
Amazon RDS
Managed relational databases
NoSQL Database
Amazon DynamoDB
Managed NoSQL database
Networking
Amazon VPC
Create isolated virtual networks
Content Delivery
Amazon Cloud Front
Deliver content through a global edge network
Identity & Security
AWS IAM
Manage users, roles, and permissions
Monitoring
Amazon Cloud Watch
Monitor metrics, logs, and alarms
How These Services Work Together
For a typical web application:
EC2 or Lambda runs application logic.
S3 stores uploaded files and static assets.
RDS stores structured application data.
VPC provides network configuration.
IAM controls access to AWS resources.
Cloud Watch helps monitor application behavior.
Learning how services connect is just as important as memorizing their names.
7. AWS Shared Responsibility Model
One of the most important AWS concepts is the Shared Responsibility Model.
Security in the cloud is shared between AWS and the customer. AWS protects the infrastructure that runs its cloud services, while customers are responsible for securing their data, applications, and configurations according to the services they use.
Security Pillar
+1
Security of the Cloud — AWS Responsibility
AWS is responsible for the security of the underlying cloud infrastructure, including:
Physical data center security.
Hardware and underlying infrastructure.
Foundational networking and virtualization layers.
Infrastructure supporting AWS services.
Security in the Cloud — Customer Responsibility
Customers are responsible for securing their use of AWS, including:
Managing data and access permissions.
Configuring security settings.
Protecting application code and credentials.
Managing operating systems and patches where applicable.
Choosing appropriate encryption and backup settings.
The exact division varies by service. For example, customers managing an EC2 instance have more operating-system responsibilities than customers using a fully managed service such as S3.
Security Pillar
+1
Shared Responsibility Example
Customer
Configures bucket permissions, manages data, controls access, and selects appropriate security options.
AWS
Manages the underlying infrastructure, facilities, and service platform.
Remember: Using AWS does not mean you can ignore security. AWS provides security capabilities, but you must configure and use them appropriately.
8. Amazon S3 (Simple Storage Service)
Amazon S3 is an object storage service that allows you to store and retrieve data from anywhere through supported interfaces and APIs.
It is commonly used for images, videos, documents, backups, static website assets, and application data. S3 is designed to scale as your storage needs grow.
AWS
+1
Important Amazon S3 Concepts
- Bucket
A bucket is a container for storing objects in S3. It is created in a specific AWS Region and has a globally unique bucket name within the applicable AWS partition.
- Object
An object is the data you store in a bucket. It includes the actual data, a key (name), and associated metadata.
- Object Key
The key identifies an object within its bucket. For example, images/profile.jpg is an object key. Folder-like views are created using prefixes in object keys.
How Amazon S3 Works
User or Application
Uploads a file
Amazon S3 Bucket
Stores the object under its key
Object Retrieved
An authorized request retrieves the data
Example: Creating an S3 Bucket for a Website
Suppose you are developing a portfolio website and want to store project screenshots.
You can:
Open the AWS Management Console.
Navigate to Amazon S3.
Create a bucket and choose its Region.
Upload your images as objects.
Configure appropriate permissions and security settings.
Access the objects through authorized requests or an appropriate delivery setup.
Console labels and options may change. Avoid making a bucket public unless you have a clear requirement and understand the security implications.
S3 Storage Classes
S3 offers different storage classes for different access patterns and cost requirements.
Typical use
S3 Standard
Frequently accessed data
S3 Intelligent-Tiering
Data with changing or unpredictable access patterns
S3 Standard-IA
Infrequently accessed data that needs rapid access
S3 One Zone-IA
Infrequently accessed, re-creatable data where single-AZ storage is acceptable
S3 Glacier Instant Retrieval
Archive data needing rapid retrieval
S3 Glacier Flexible Retrieval
Archive data where retrieval can take longer
S3 Glacier Deep Archive
Long-term archive data with infrequent retrieval
The right choice depends on access frequency, retrieval requirements, resilience needs, and total cost.
S3 Security Features
Some important S3 security features include:
Block Public Access: Helps prevent unintended public access.
Bucket policies: Define access permissions for a bucket and its objects.
IAM policies: Control which AWS identities can perform actions.
Encryption: Protects data at rest using supported encryption options.
Versioning: Keeps multiple versions of objects, helping recover from some accidental changes or deletions.
Lifecycle rules: Automatically transition or expire objects according to configured policies.
Replication: Copies objects between supported S3 locations according to replication configuration.
These features need to be configured according to your application’s requirements. Versioning and replication, for example, do not replace a complete backup and recovery plan.
Understanding S3 Pricing
Amazon S3 pricing can include storage, requests, data retrieval, data transfer, and optional management or replication features. The amount charged depends on the storage class, Region, usage, and selected features.
Check the official S3 pricing page before deploying a project.
Conclusion
Cloud computing has changed how developers build and deploy software. Instead of managing every part of physical infrastructure, developers can use cloud services to build applications with flexible computing, storage, and networking resources.
AWS provides a broad set of services that support these needs. Understanding its pricing, global infrastructure, service categories, and shared responsibility model gives beginners a foundation for using the platform more effectively.
Amazon S3 is a particularly useful service to learn because it introduces core cloud concepts such as object storage, permissions, encryption, lifecycle management, and cost optimization.
My learning takeaway: Start with the fundamentals, practice with small projects, understand the costs, and make security part of your development process from day one.
Cloud computing is a broad field, but learning one concept at a time can make it much easier to understand.
Top comments (0)