AWS Core Services
Published: 2023-10-18 09:26:52

Hello everyone,

I hope you are all doing well. In this blog post, I will attempt to explain what I've learned from the week-1 workshop, which was a part of the #12weekawsworkshopchallenge.

---

### What are core services?

Core services are the cloud services provided by the cloud providers, these core services are what most applications require to be up an running. These services may differ from provider to provider. 

**AWS** offers a range of core services, including _<u>Compute, Storage, Databases, Analytics, Networking, Mobile, Developer Tools, Management Tools, IoT, Security, and Enterprise applications</u>_. You can find more details about these core services [here](https://docs.aws.amazon.com/whitepapers/latest/public-sector-cloud-transformation/core-services-and-additional-services.html).

Core services provide you with the means to host your application and make it globally accessible. Now, let's delve into services such as Compute, Network, Storage, Database, and briefly explore their offerings.

## Compute

Real-world applications like Amazon, Google, and Facebook receive an immense amount of global traffic, and to effectively handle such loads, well-organized computational power is crucial. Compute services offer a range of services to provide this computational power, along with features like load balancing and Auto Scaling to ensure high availability.

![Various Services Provided under Compute](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4abyty9njur87ictkx1e.png)
_<center>Various Services provided by AWS under Compute</center>_

Compute services encompass a wide array of options, catering to the needs of traditional servers, such as Amazon EC2, to more modern serverless computing solutions like AWS Lambda.

In this lab, we deployed a basic web application using an EC2 instance and learned the following:

1. We configured our EC2 instance during the launch process, including selecting the operating system from various available options, choosing suitable instance types for specific workloads, and determining the storage requirements according to our needs. Additionally, we configured security groups to control incoming and outgoing traffic, enabling us to make the instance publicly accessible using inbound and outbound rules.

2. We explored how to bring our instance to the desired state using User Data.

3. We examined different methods to connect to our already launched instance.

4. We understood the process of creating a key pair for authorization when connecting to the instance.

5. We learned how to attach an IP address to the application.

6. In the real world, it's essential for applications to be scalable, and we discovered how AWS can assist through features like scaling groups and load balancers.



## Network

> AWS provides the broadest and deepest set of networking services with the highest reliability, most security features, and highest performance in the world. This helps ensure you can run any kind of workload you have in the cloud 

![Various Services provided by AWS under Nework](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2hana3ga7i40ex8iwh11.png)
_<center>Various Services provided by AWS under Network</center>_


This was the second lab where we were introduced to how communication in the AWS cloud happens. Network services allow us to connect between resources in the AWS cloud and how various resources communicate with each other. In this lab, we used a VPC (Virtual Private Cloud).

In this lab:

1. I created a VPC (Virtual Private Cloud), which is a logical separation created in the Amazon cloud.
2. I revisited the concepts of CIDR.
3. I connected this VPC to the internet via an Internet Gateway.
4. I learned how subnets are useful in creating logical groupings inside a VPC.
5. I discovered how VPC flow logs are helpful in logging the requests.

In the second part, we created an API and observed:

1. How we can impose request validation.
2. How we can authorize requests using IAM users' associated JWT tokens.
3. How to make API resources available to specified IP addresses using security rules.

## Database

After networking, I've delved into databases. AWS offers both SQL and NoSQL databases.

I've focused on SQL databases this time and will continue to explore databases in Week 4.

AWS provides RDS (Relational Database Services), which offers SQL support for open-source databases like MySQL, PostgreSQL, and MariaDB, as well as proprietary databases like Oracle and Microsoft SQL Server. Additionally, they offer Amazon's proprietary Aurora DB.

All RDS services are managed services, which means we don't need to worry about backups and patches; AWS takes care of them.


Thank you all for following along till here 🙏. There are many other concepts in week-1 I'm a bit behind but I'll try to cover them in depth in their allotted week. But learning new things was always been an exciting journey. I'm thinking put the things I've learned into practice and will focus more on that.Thank you

I would really like to hear your valuable suggestions and in case of any queries , You can reach out to me at
LinkedIn : Vignesh bandla
Email : vignesh.bandla01@gmail.com