AWS Cloud Fundamentals
Tags: aws, cloudcomputing, tutorial, beginners
Published: 2023-07-13 17:00:55



 **Cloud Computing** is the delivery of computing services (servers, storage, database, networking, software etc) over the internet using pay-as-you-go pricing. With this you can access technology services depending with your needs on cloud providers like Amazon Web Service, Google Cloud Platform, Microsoft Azure etc.

### Advantages of Cloud Computing

- **Cost Effectiveness** - you pay for the resources that you use this helps avoiding overbuilding and over provisioning.

- **Security** - Top notch security is provided through Virtual private cloud, encryption and API keys which help keep data secure

- **Scalability** - You can easily scale resources and storage up to meet your business demands without investing in physical infrastructure, one can also scale down if resources aren't being used.

- **Flexibility** -  It allows users to select the operating systems, language, database, and other services as per their requirements.

_you can read more on the advantages [here](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/six-advantages-of-cloud-computing.html)_


## Table of Content
 [Compute](#compute)
 [Database](#database)
 [Security](#security)
 [Networking](#networking)
 [Messaging](#messaging)
 [Management Services](#management-services)
 [Conclusion](#conclusion)

### Overview of AWS Cloud Fundamentals
- AWS provides several services which include: Compute, Storage, Security, Networking, Messaging, management services etc. Many more services are provided but we'll discuss the above.



###Compute
 
- **Amazon EC2** - provides secure, resizable capacity in the cloud based on the user requirements. It can shrink  or expand resources in accordance to the load.

- **Amazon Elastic Beanstalk** - scales and deploys web applications made in programming languages like java, python, ruby. It deals with capacity provisioning, load balancing and auto scaling.

- **Amazon LightSail** - It enables Virtual Private Server(VPS) to be launched and managed with ease. It automatically deploys and manages the computer, storage, and networking capabilities required to run your applications. 

- **EKS (Elastic Container Service for Kubernetes)** - The tool allows you to Kubernetes on Amazon cloud environment without installation.

- **AWS Lambda** - This AWS service allows you to run functions in the cloud. The tool is a big cost saver for you as you to pay only when your functions execute.

![AWS compute](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7j30bugajw3l5evg66ur.png)



More on [compute services](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/compute-services.html)


###Storage
**AWS S3 (Simple Storage Service)** - an object storage that can store and retrieve data from anywhere: websites, mobile apps, IoT sensors, and so on. It is durable, provides comprehensive security, and flexibility in managing data.
_Amazon Glacier_ - is used for archiving data and long-term backup. The glacier is used for data archiving and long term backup. 

- **Amazon EBS(Elastic Book Store)** -  provides block storage volumes for instances of Amazon EC2. EBS is a reliable storage volume that can be attached to any running instance that is in the same availability zone. _I wrote an article on [EBS ](https://dev.to/jeptoo/elastic-block-storeebs-1862)_

- **Amazon Elastic File System** - provides elastic file storage, which can be used with AWS Cloud Services and resources that are on-premises. It is easy to use and offers a simple interface that allows you to create and configure file systems quickly and easily.


![aws storage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hfia0znyl124h74i1evq.png)

_More on [storage](https://aws.amazon.com/ebs/?c=s&sec=srv)_

###Database
 - **Amazon RDS(Relational Database Service)** - Helps in administration and management of database It frees managing the hardware and enables us to focus on the application.

- **DynamoDB** - is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale. DynamoDB offers built-in security, continuous backups, automated multi-Region replication, in-memory caching, and data import and export tools.

 - **Amazon Redshift** -  users to analyze their data using SQL. It is a fast, fully managed data warehouse. It also allows users to run complex analytical queries against structured data using sophisticated query optimizations.


![database](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6z52ui25gz7mrlsk0asv.png)

_More on [database](https://aws.amazon.com/products/databases/)_

###Security
 - **Identity and access management (IAM)** - allows one to configure who can access AWS account. It controls access to resources by authenticating and authorizing  users, apps and services.

 - **Web Access Control List** - monitors HTTPs requests for AWS resources

 - **AWS Firewall Manager** - Firewall is a network security mechanism that monitors and controls incoming and outgoing traffic while the firewall manager allows configuration and management of firewall rules access accounts.

 - **AWS Shield** - provides continuous DDoS(Distributed Denial of Service) attack detection and automatic mitigations. This safeguards applications running on AWS.

_More on [security](https://aws.amazon.com/products/security/)_


###Networking
- **Elastic Load Balancing** - automatically diverts traffic to multiple targets, balances  load between servers and also provide redundancy and performance.

- **Autoscaling** - automatially adjust resource usage to ensure steady performance at the lowest cost while _EC2 autoscaling_ monitors EC2 instance and automatically adjusts by adding or removing EC2 instance based on conditions you define.

- **Route 53** - is a cloud domain name system that  has servers distributed around the globe, it routes end users to internet application.

_More on [networking](https://aws.amazon.com/products/networking/)_

###Messaging
- **SNS (Simple Notification Service)** - allows sending of notification to users on your application(large subscribers) through various protocols like email, SMS, and HTTP/S.

- **SQS (Simple Queue Service)** - allows you to integrate queuing functionality in the application. It can be Standard of FIFO(First In First Out).

**Queuing** is a data structure that holds requests(messages). Processing data using FIFO improves scalability, performance, user experience.

_More on [messaging](https://aws.amazon.com/messaging/)_ 


###Management Services
- **AWS CloudWatch** - monitors and manages AWS resources and application by collecting data in form of logo, metric and events

- **AWS CloudFormation** - models infrastructure text files template allowing provisioning of AWS resources based on the written scripts. _Infrastructure as code_ allows description and provision of all infrastructure resources in cloud environment


###Conclusion
- Cloud fundamentals are essential to grasp the basics of cloud computing, a transformative technology for data storage, access, and processing. Understanding cloud fundamentals is crucial for leveraging scalability, flexibility, cost-efficiency, and collaboration benefits. It enables informed decision-making, selection of service models, and consideration of security and privacy. Additionally, it facilitates cloud-native application development, big data utilization, and effective disaster recovery planning. Mastering cloud fundamentals is vital for competitiveness in the digital landscape.