Monolithic architecture
Applications are made of multiple components. The components communicate with each other to transmit data, fulfill requests, and keep the application running.
These components may include Servers, databases, the user interface, business logic and others. These type of architecture can be considered a monolithic application. In this approach to application architecture, if a single component fails, then other components will likely fail and possible the entire application fails.

Microservices architectures
In a microservices architecture, application components are loosely coupled. In this case, if a single component fails, the other components continue to work because they are communicating with each other.

Types of services
AWS has three main service types:
- Managed services: A managed service is a way to describe the services that require you to manage infrastructure management tasks like patching, backup, and repair. These services grant you virtual access to the underlying operating system and servers. With managed services, you are responsible for scaling and building for high availability.
- Fully managed services: A fully service is a way to describe the services that automate infrastructure management tasks that AWS handles, like patching, backup, and repair. These services do not grant you any virtual access to the underlying operating system or servers. With a fully managed service, you are still responsible for scaling and building for high availability.
- Serverless services: A way to describe the services, practices, and strategies that you can use to build more agile applications. In this way, you can innovate and respond to change faster. With serverless services, AWS handles infrastructure management tasks like capacity provisioning and patching so that you can focus on building applications that serve your customers. Serverless services come with automatic scaling, built-in high availability, and a pay-for-value billing model.

Core Services Architecture Diagram

IAM
What does IAM DO?
IAM is a centralized security management system that is included in every AWS account to control identity access to AWS services. By attaching IAM permission policies to identities, you can manage which services each identity can access and the kind of actions the identity can perform.
Iam roles:
- User: Is an entity that you create in AWS. The IAM user represents the person or service who uses the IAM user to interact with AWS.