Table of contents
Open Table of contents
- What is AWS
- Features of AWS
- Create and Manage AWS resources
- AWS Cloud Products
- Compute in AWS Cloud
- Amazon EC2 (Elastic Compute Cloud)
- Amazon ECS (Elastic Container Service)
- AWS Lambda
- Storage in AWS Cloud
- Amazon S3
- Amazon Glacier
- Amazon Elastic File System (EFS)
- Database in AWS Cloud
- Amazon RDS (Relational Database Service)
- Amazon DynamoDB
- Developer Tools in AWS Cloud
- Amazon CodeBuild
- Amazon CodePipeline
- Amazon CodeDeploy
- Amazon CodeCommit
- Management tools in AWS Cloud
- Amazon CloudWatch
- Amazon CloudTrail
- Final Take-away
What is AWS
- AWS stands for Amazon Web Services. It is a comprehensive and widely used cloud computing platform provided by Amazon.com.
- Offers a wide range of cloud services, including computing power, storage, databases, machine learning, analytics, content delivery, and more.
- These services are designed to help businesses and individuals build and deploy scalable and cost-effective applications and infrastructure without investing into physical servers and data centers and maintaing them
Extending IT Infrastructure to the AWS Cloud - Four Key Areas of AWS
- Trusted Global infrastructure : Give highly secure and global infrastructure
- Broad Compatibility : Provides broad Compatibility with all of the popular workloads.
- On-Premises : One can set up first and secure private networking to the AWS cloud
- AWS provides tools to control access to all the cloud resources
Features of AWS
A vast array of features and capabilities across its cloud computing platform is offered by Amazon Web Services (AWS).
-
Scalability: It allows easily scale the resources up or down to meet the demands of the applications. This elasticity ensures that one only pays for the resources one uses and can handle traffic spikes effortlessly.
-
Global Reach: A global network of data centers and availability zones in multiple regions, allowing to deploy the applications close to the users for low-latency access.
-
Security: It provides robust security features, including network isolation, encryption, identity and access management, and compliance certifications to protect the data and applications.
-
Cost Management: Provides tools and services for cost monitoring and optimization, such as AWS Cost Explorer and AWS Trusted Advisor, to help you control your cloud spending.
-
Storage Variety: AWS provides scalable and versatile storage for object storage, block storage, and managed databases, along with various types of storage classes to optimize cost and performance.
-
Diverse Compute Options: Offers a wide range of compute options, from virtual servers to serverless, GPU instances, and custom hardware to meet various workload requirements.
-
Content Delivery: Amazon CloudFront is AWS’s content delivery network (CDN) service, distributing content globally with low-latency and high-speed access.
Create and Manage AWS resources
-
AWS Management Console - It is a web-based interface provided by Amazon Web Services (AWS) for managing and accessing various AWS services and resources. It serves as a graphical user interface (GUI) which allows users to interact with AWS services, configure resources, monitor performance, and perform administrative tasks. It is designed to provide a user-friendly interface for both beginners and experienced AWS users to manage their cloud resources efficiently.
-
AWS Command Line Interface (AWS CLI) - The AWS Command Line Interface is a unified tool that manages several AWS services from the command line and automates all the services through scripts. aws-shell is a command-line shell program to offer productivity and ease features to aid advanced and new users of the AWS Command Line Interface.
-
Command Line Tools- Commands for individual AWS products.
-
AWS Software Development Kits (SDK) - APIs that are specific to programming language or platform.
-
Query APIs - Low-level APIs that are accessible using HTTP requests.
AWS Cloud Products
- Compute - AWS provides numerous compute products that allows to deploy, run, and scale applications as virtual servers, code or containers.
- Storage - Cloud storage is secure, scalable and reliable component that includes the information used by applications.
- Database - AWS provides fully managed NoSQL and relational databases, and in-memory cache to suit the application needs.
- Developer Tools - AWS Developer tools is a set of services that are offered to allow developers securely version control and store the source code of applications. Also, it aids to build, test and deploy the application automatically.
- Management Tools - Aids to manage the applications and resources.
- Security and Compliance - Allows customers to know the proficient controls at AWS to maintain data protection and security in the cloud.
- Messaging - Provides several messaging services and tools with diverse abilities.
- Application Services - Offers a large amount of managed services for use with applications such as converting digital media into different formats, including search to one’s website, and hosting streaming application.
Compute in AWS Cloud
AWS offers a range of compute services that enable to run applications and workloads in the cloud. These services provide flexibility, scalability, and various options to meet different compute requirements.
Compute Covers
- Simple websites and applications on one or a few servers
- Control and manage cluster or server level functions such as deployment and scaling
- Manage stateful or stateless applications packaged as Docker containers
- Stateless, event-initiated applications that require fast response times
AWS Compute Offerings
-
Amazon EC2 (Elastic Compute Cloud) ~
-
Amazon EC2 is one of the foundational compute services in AWS.
-
It allows to launch virtual servers with a wide range of instance types, operating systems, and configurations.
-
EC2 instances are highly scalable, and one can choose instances optimized for various use cases, such as compute-optimized, memory-optimized, GPU instances, and more.
Amazon EC2 - Virtual Servers in the Cloud
Amazon EC2 Container Service - Run and Manage Docker Containers
Amazon EC2 Container Registry - Store and Retrieve Docker Images
-
-
AWS Lambda ~
-
AWS Lambda is a serverless compute service.
-
It enables to run code in response to events without managing servers.
-
Lambda is ideal for building event-driven applications and microservices.
-
Only pay for the compute time consumed by one’s code.
AWS Lambda - Run Code in Response to Events
-
-
AWS Elastic Beanstalk ~
- It is a Platform-as-a-Service (PaaS) offering.
- It simplifies the deployment and management of web applications and services.
- Elastic Beanstalk automatically handles the infrastructure provisioning, scaling, and monitoring, allowing developers to focus on code. AWS Elastic Beanstalk - Run and Manage Web Apps
-
Amazon Lightsail ~ Launch and Manage Virtual Private Servers
-
Amazon VPC ~ Isolated Cloud Resources
-
AWS Batch ~ Run Batch Jobs at Any Scale
-
Auto Scaling ~ Automatic Elasticity
Amazon EC2 (Elastic Compute Cloud)
- EC2 is a highly popular compute service and a core building block provided by Amazon Web Services (AWS).
- EC2 enables users to rent virtual machines (VMs), known as instances, on the AWS cloud.
- These instances can run a wide variety of applications and workloads, making EC2 one of the most versatile services in the AWS portfolio.
Features
Removes the necessity of upfront investment on computer hardwares Commission numerous instances simultaneously Pay only for the used quantity Change web-scale cloud computing easy
Applications where EC2 supports
Big data - e.g. Hadoop Database software - e.g. Aurora, DynamoDB Enterprise applications - e.g. SAP, Oracle Migrations from on-premises environments Open-source cluster management
Amazon ECS (Elastic Container Service)
- Amazon ECS is a orchestration service provided.
- ECS simplifies the deployment, management, and scaling of Docker containers within AWS environments.
- Containers are a lightweight and efficient way to package and run applications and their dependencies, making them ideal for modern, scalable, and portable cloud deployments.
Feature
- Amazon ECS removes the necessity to install, run, and scale cluster management infrastructure.
Applications where ECS supports
- Web applications Microservices Batch jobs Docker workloads
AWS Lambda
- AWS Lambda aims to run code without managing or provisioning servers.
- Lambda is the nucleus of serverless computing. So one can build and run services and event-driven applications without bothering about servers only allowing developers to focus on code logic.
- Code can run for virtually any type of backend service or application - with no administration.
- Lambda handles the uploaded code and everything else needed to run and scale the code with better availability.
- Pay only for the compute time that you use.
- Create code to automatically trigger from other AWS services, otherwise call it directly from a mobile or web app.
Applications where AWS Lambda supports
- Web applications Mobile backends IoT backends Stream processing workloads File processing workloads
Storage in AWS Cloud
Amazon Web Services (AWS) provides a wide range of storage services to meet various data storage and management needs in the cloud. These storage services are designed to be scalable, reliable, and highly available.
Storage Covers
-
Cloud storage is more secure, scalable, and reliable than conventional on-premises storage systems.
-
AWS provides a complete set of cloud storage services to support archival and application compliance needs.
-
Backup and archive applications, Databases, Internet of Things, Data warehouses, and Big data analytics depend on data storage architecture.
Amazon S3
- Amazon S3 can be described as highly scalable and durable object storage that stores and retrieves any quantity of data from anywhere on the internet. Amazon S3 features a simple web service interface.
- Renders incredible durability, Scales past trillions of objects globally.
- Once data is saved in S3, it can be tiered automatically into minimal cost, long-term cloud storage classes such as Amazon Glacier and S3 Standard - Infrequent Access for archiving.
- Serves as a target for backup and recovery, and disaster recovery; “data lake” for Big Data analytics, tier in an active archive and bulk repository for user-generated content.
Amazon Glacier
- Amazon Glacier is a low-cost, highly secure, and durable cloud-based storage service.
- It is designed for businesses and organizations that need to archive large volumes of data for long-term retention, compliance, or data preservation purposes.
- Glacier is commonly used for storing data that is rarely accessed but needs to be preserved for compliance, regulatory, or business reasons.
- Amazon Glacier offers a cost-effective storage solution for archiving data that is infrequently accessed.
Amazon Elastic File System (EFS)
- Amazon EFS offers simple, scalable file storage that can be utilized with Amazon EC2 instances in AWS Cloud.
- Amazon EFS is user-friendly and provides a simple interface allowing you to create and configure file systems effortlessly and fast.
- Storage capacity is elastic i.e. that shrinks or grows automatically.
- Several Amazon EC2 instances can access an Amazon EFS file system simultaneously, letting Amazon EFS to offer a common data source for workloads as well as applications operating on more than one Amazon EC2 instance.
Application
- Amazon EFS is offered for better durability and availability for Big Data and analytics applications, container storage, web and content serving, media processing workflows, and enterprise applications.
Database in AWS Cloud
Amazon Web Services (AWS) offers a variety of database services to cater to different data storage and management needs in the cloud. These services are designed to be scalable, highly available, and cost-effective.
AWS database services include:
-
Amazon RDS (Relational Database Service) - It is a managed relational database service that supports multiple database engines, including MySQL, PostgreSQL, Oracle, SQL Server, and MariaDB. It automates database administration tasks like patching, backups, and high availability.
-
Amazon DynamoDB - It is a managed NoSQL database service that provides fast and flexible data storage with automatic scaling. It is suitable for applications that require low-latency access to data, such as gaming and mobile apps.
-
Amazon Aurora - A fully managed, high-performance relational database engine compatible with MySQL and PostgreSQL. It offers performance and availability similar to commercial databases at a lower cost.
-
Amazon Redshift - Fully managed data warehousing service designed for running complex queries on large datasets. It is optimized for analytics and business intelligence workloads.
-
Amazon ElastiCache - A managed in-memory caching service that supports both Redis and Memcached. It helps improve the performance of read-heavy applications by reducing database load.
AWS provides AWS Database Migration Service - a service that enables you to migrate databases to AWS Cloud in an easy and economical manner.
Amazon RDS (Relational Database Service)
- Amazon RDS (Relational Database Service) is a fully managed relational database service provided by Amazon Web Services (AWS).
- It simplifies the process of setting up, operating, and scaling relational databases, making it easier for developers to focus on their applications rather than the underlying database infrastructure.
- Amazon RDS supports several popular relational database engines, including MySQL, PostgreSQL, Oracle, SQL Server, and MariaDB.
Feature
- Amazon RDS is a managed database service Automatically takes regular backups of the database, ensuring data durability and allowing for point-in-time recovery. Allows to easily scale the database vertically (by increasing instance size) or horizontally (by using read replicas for read-heavy workloads). Provides robust security features, including network isolation within Amazon Virtual Private Cloud (VPC), encryption at rest and in transit, and integration with AWS Identity and Access Management (IAM).
Application : Amazon RDS offers six database engines.
- Amazon Aurora MySQL PostgreSQL-compatible database engine Oracle MariaDB Microsoft SQL Server
Amazon DynamoDB
- Amazon DynamoDB is a fully managed NoSQL database service provided by Amazon Web Services (AWS).
- It is designed to provide fast and flexible data storage with seamless scalability.
- DynamoDB is particularly well-suited for applications that require low-latency access to data and need to handle large volumes of data and traffic.
- Reliable performance and flexible data model makes it suitable for several applications such as IoT, mobile, ad tech, web, and gaming.
Features
- DynamoDB is a fully managed service. DynamoDB is designed for seamless horizontal scalability DynamoDB automatically replicates data across multiple Availability Zones within an AWS region, ensuring high availability and durability. It provides a strong consistency option for read operations. DynamoDB offers low-latency read and write operations, making it suitable for applications requiring real-time data access.
Developer Tools in AWS Cloud
Amazon Web Services (AWS) offers a wide range of developer tools and services to help developers build, deploy, and manage applications in the cloud. These tools cover various aspects of the software development lifecycle, from coding and building to deployment and monitoring. Its also easier for developers to build, test, and deploy applications on AWS, whether they are building serverless applications, microservices, traditional web applications, or other types of software solutions. They promote automation, collaboration, and best practices in the software development process.
Amazon CodeBuild
- AWS CodeBuild is a fully managed continuous integration and continuous delivery (CI/CD) service provided by Amazon Web Services (AWS).
- It is designed to help automate and streamline the build, test, and deployment phases of the software development lifecycle.
- CodeBuild is a versatile service that supports a wide range of programming languages and build tools, making it suitable for various application types.
Features
- Pre-configured build environments, called build Docker images, for popular programming languages and runtimes. Build projects can be configured to build code stored in Amazon S3, AWS CodeCommit, GitHub, or other version control repositories. CodeBuild generates build artifacts, such as compiled code, binaries, and packages, that can be deployed to your target environments. Build scripts in various languages, including Bash, PowerShell, and more. Can automatically scale build capacity based on demand, ensuring that builds complete quickly, even during periods of high activity.
Benefits of AWS CodeBuild
- Secure Allows Continuous Integration and Delivery Extensible Pay as You Go Continuous Scaling Fully Managed Build Service
Amazon CodePipeline
- AWS CodePipeline is a fully managed continuous integration and continuous delivery (CI/CD) service provided by Amazon Web Services (AWS).
- It helps to automate and streamline the software release process, allowing you to build, test, and deploy your applications more efficiently.
- CodePipeline facilitates the creation of end-to-end CI/CD pipelines that automate code deployments across various AWS services and third-party tools.
Features
- CodePipeline allows to create custom pipelines that define the stages and actions of your CI/CD process. Pipelines consist of multiple stages, each representing a phase of your release process, such as source code retrieval, build, test, and deployment. This enables you to create complex and automated deployment workflows using AWS resources. There is a provision to extend the pipelines to work with external build systems, testing frameworks, and deployment targets. Pipelines can execute actions in parallel or sequentially, allowing for flexibility in defining the workflow of your release process.
Amazon CodeDeploy
- AWS CodeDeploy is a fully managed deployment service provided by Amazon Web Services (AWS).
- It simplifies the process of deploying applications to a variety of compute services, including Amazon EC2 instances, AWS Lambda functions, and on-premises servers.
- CodeDeploy helps developers automate and streamline application deployments, making it easier to release new features and updates while minimizing downtime and reducing errors.
Features
- CodeDeploy supports a range of deployment targets. CodeDeploy provides different deployment strategies, including in-place deployments (updating instances in a deployment group) and blue/green deployments (launching new instances alongside existing ones for zero-downtime updates). CodeDeploy integrates seamlessly with other AWS services which supports deployment hooks and scripts that allow customization during the deployment process. In the event of a deployment failure or unexpected issues, CodeDeploy can automatically roll back to a previously known, stable version of the application. CodeDeploy supports a variety of application types, including web applications, backend services, and microservices. CodeDeploy provides detailed logs and monitoring through Amazon CloudWatch, allowing you to track deployment progress and troubleshoot issues.
Amazon CodeCommit
- AWS CodeCommit is a fully managed source code control service provided by Amazon Web Services (AWS).
- It offers a secure and scalable platform for hosting and managing Git repositories for the software development projects.
- CodeCommit is designed to help development teams collaborate on code, track changes, and ensure version control best practices are followed.
Features
- CodeCommit is built on Git, a widely used and popular distributed version control system. It is fully managed by AWS, which means AWS takes care of the underlying infrastructure, including scaling, backups, and maintenance. CodeCommit repositories are private by default, ensuring that the source code remains confidential. It is designed for high availability and scalability, ensuring that your repositories are accessible and performant even as your team and codebase grow. CodeCommit supports code review workflows through pull requests or merge requests (depending on your Git client). It can trigger AWS Lambda functions or send Amazon SNS notifications when code changes occur in a repository.
Management tools in AWS Cloud
Amazon Web Services (AWS) provides a set of management and governance tools that help users efficiently and securely manage their AWS resources and services. These management tools are designed to assist with tasks such as monitoring, optimization, automation, security, and compliance. AWS also allows to track, monitor and enforce security and compliance. They are essential for both small-scale and large-scale deployments in the AWS cloud.
AWS Management Tools provides services:
-
Amazon EC2 Systems Manager - Configure and Manage EC2 Instances and On-premises Servers
-
AWS CloudTrail - Track User Activity and API Usage
-
AWS Config - Track Resource Inventory and Changes
-
AWS Service Catalog - Create and Use Standardized Products
-
AWS Personal Health Dashboard - Personalized view of AWS service health
-
Amazon CloudWatch - Monitor Resources and Applications
-
AWS Cloud Formation - Create and Manage Resources with Templates
-
AWS OpsWorks - Automate Operations with Chef
-
AWS Trusted Advisor - Optimize Performance and Security
Amazon CloudWatch
- Amazon CloudWatch is a monitoring and observability service provided by Amazon Web Services (AWS).
- It enables users to collect and analyze metrics, logs, and events from various AWS resources and applications.
- CloudWatch provides valuable insights into the health, performance, and operational state of the AWS infrastructure and applications, allowing to proactively manage and troubleshoot issues.
- It is suitable for businesses of all sizes, from startups to large enterprises, and supports a wide range of use cases, including real-time monitoring, troubleshooting, and optimizing AWS workloads.
Features
- CloudWatch allows to collect and store metrics from AWS resources and custom applications. Alarms can be set up to trigger actions based on metric thresholds, such as sending notifications or initiating automatic scaling. CloudWatch Logs enables to centralize, monitor, and analyze logs from AWS resources and applications. Developers can create metric filters to extract and graph specific log data. CloudWatch provides agents and integrations for collecting metrics and logs from EC2 instances and other AWS services. These agents allow to monitor the performance and health of your applications. CloudWatch retains metric data for a period defined by the user. CloudWatch Anomaly Detection automatically detects and alerts about the anomalies in the metric data, helping to identify unusual behavior.
Amazon CloudWatch monitors AWS resources such as
- Amazon RDS DB instances Amazon DynamoDB tables Amazon EC2 instances Custom metrics or logs created by services and applications
Amazon CloudTrail
- Amazon CloudTrail is a service provided by Amazon Web Services (AWS) that enables auditing, monitoring, and tracking of user and resource activity within your AWS environment.
- CloudTrail records API calls and events, providing a detailed history of actions taken by users, AWS services, and other resources.
- It helps you meet security and compliance requirements, troubleshoot operational issues, and gain insights into how your AWS resources are being used.
Features
- CloudTrail can be configured to capture events across multiple AWS regions, providing a centralized view of your global AWS infrastructure. It integrates seamlessly with many AWS services, such as AWS Identity and Access Management (IAM), AWS Lambda, AWS CloudWatch, and Amazon S3. CloudTrail provides an event history that enables to view, search, and analyze past activity within your AWS account. CloudTrail encrypts log files at rest and during transit, ensuring the security and integrity of your log data. CloudTrail logs are often used to meet compliance requirements and assist in security audits, providing an audit trail of user and resource activity.
Benefits
- Security Automation Visibility Into User and Resource Activity Security Analysis and Troubleshooting Simplified Compliance
Final Take-away
- AWS has a global presence with data centers and availability zones in various regions worldwide.
- This global infrastructure allows businesses to deploy their applications closer to their end-users for lower latency and improved performance.
- AWS is commonly used by startups, enterprises, government organizations, and individual developers to build, deploy, and manage a wide range of applications and services in a flexible, scalable, and cost-effective manner.