Amazon Web Services (AWS) is Amazon's comprehensive cloud computing platform, offerings. AWS services can provide a company with resources like compute power, database storage, and content distribution.
Amazon Web Services (AWS) was created in 2006 as a complement to Amazon.com's own infrastructure for handling its online retail operations. AWS was one of the first businesses to provide a pay per use cloud computing model, which grows to meet users' needs for computation, storage, and throughput.
AWS provides a variety of tools and solutions for businesses and software developers that may be utilised in data centres throughout the globe. AWS services are available to government agencies, educational institutions, NGOs, and private businesses.
How AWS works
AWS is divided into several services, each of which may be customised in a variety of ways depending on the needs of the user.Users should be able to access configuration options and particular server mappings for an AWS service..
Computing, databases, infrastructure management, application development, and security are just a few of the services offered by Amazon Web Services. The following are some of the services available, organised by category:
- Compute
- Storage databases
- Data management
- Migration
- Hybrid cloud
- Networking
- Development tools
- Management
- Monitoring
- Security
- Governance
- Big data management
- Analytics
- Artificial intelligence (AI)
- Mobile development
- Messages and notification
Availability
Amazon Web Services provides services from dozens of data centres situated around the world in a range of availability zones (AZs). An AZ is a physical location with several data centres. A region is a collection of AZs linked together by low-latency network connections.
For a number of reasons, such as compliance and closeness to end consumers, a company will pick one or more availability zones. An AWS client, for example, can create virtual machines (VMs) and duplicate data across various AZs to create a highly dependable architecture that is immune to individual server or data centre failures.
Amazon Elastic Computing Cloud (EC2) is a service that provides computing capacity via EC2 instances, which are virtual computers. The Amazon Elastic Compute Cloud (EC2) service provides a number of instance types with varying capacities and sizes, each tailored to certain workloads and applications, such as memory-intensive and accelerated-computing tasks. AWS also has an Auto Scaling feature that allows you to dynamically increase capacity to keep your instances healthy and performing well.
Storage
S3 is a scalable object storage service from Amazon that may be used for data backup, gathering, and analytics. To keep data and files structured, an IT expert saves them as S3 objects, which may be up to 5 gigabytes (GB) in size. S3's Infrequent Access storage tier or Amazon Glacier for long-term cold storage can help a business save money.
When utilising EC2 instances, Amazon Elastic Block Store provides block-level storage volumes for permanent data storage. Amazon Elastic File System is a cloud-based file storage service that is maintained by Amazon.
A firm may also utilise storage transport devices like AWS Snowball and Snowmobile to move data to the cloud, or use AWS Storage Gateway to allow on -premises programmes to access cloud data.
Data management, databases
The Amazon Relational Database Service provides a relational database management system for AWS users, including choices for Oracle, SQL Server, PostgreSQL, MySQL, MariaDB, and a proprietary high-performance database called Amazon Aurora. AWS also provides managed NoSQL databases via Amazon DynamoDB.
As in-memory and real-time data caches for applications, AWS customers can utilise Amazon ElastiCache and DynamoDB Accelerator. Amazon Redshift provides a data warehouse, which allows data analysts to execute business intelligence (BI) activities more easily.
Migration, hybrid cloud
AWS offers a variety of tools and services to help users migrate their applications, databases, servers, and data to the cloud. The AWS Migration Hub is a hub for monitoring and managing migrations from on-premises to the cloud. Once in the cloud, EC2 Systems Manager aids an IT team in setting on-premises servers and AWS instances.
Amazon has also formed alliances with a number of technology suppliers to facilitate hybrid cloud installations. VMware Cloud on AWS extends VMware's software-defined data centre technologies to the AWS cloud. Another collaboration resulted in Red Hat Enterprise Linux for Amazon EC2, which extends Red Hat's operating system to the AWS cloud
Networking
An Amazon Virtual Private Cloud (Amazon VPC) offers an administrator control over a virtual network that uses an isolated part of the Amazon Web Services (AWS) cloud. AWS automatically adds new resources within a VPC for added protection..
The Elastic Load Balancing (ELB) service, which comprises the Application Load Balancer and Network Load Balancer, allows administrators to balance network traffic. AWS also offers a domain name system known as Amazon Route 53, which directs end users to applications.
A dedicated link from an on-premises data centre to the AWS cloud may be established by an IT expert using AWS Direct Connect.
Developer tools
To install and manage apps and services, a developer can use AWS command-line tools and software development kits (SDKs). This includes the following:
- Amazon's proprietary coding interface is the AWS Command Line Interface.
- AWS Tools for Powershell may be used by a developer to control cloud services from Windows environments.
- AWS Serverless Application Model allows developers to replicate an AWS environment in order to test Lambda functions.
- Java, PHP, Python, Node.js, Ruby, C++, Android, and iOS SDKs are available for a number of platforms and programming languages.
A development team may use Amazon API Gateway to design, administer, and monitor bespoke application programme interfaces (APIs) that allow apps to access data or functionality from back-end services. API Gateway handles hundreds of concurrent API calls at the same time.AWS also offers a bundled media transcoding service called Amazon Elastic Transcoder, as well as a tool called AWS Step Functions that visualises processes for microservices-based applications.
A development team may also build continuous integration and delivery pipelines using services such as:
- AWS CodePipeline
- AWS CodeBuild
- AWS CodeDeploy
- AWS CodeStar
AWS CodeCommit may be used to save code in Git repositories, and AWS X-Ray can be used to analyse the performance of microservices-based systems..
Management and monitoring
AWS Config and AWS Config Rules allow administrators to control and track cloud resource settings. These technologies, together with AWS Trusted Advisor, can assist an IT team in avoiding incorrectly configured and unnecessary cloud resource installations.AWS's portfolio includes a number of automation tools. AWS CloudFormation templates may be used to automate infrastructure provisioning, while AWS OpsWorks and Chef can be used to automate infrastructure and system settings.AWS customers may utilise Amazon CloudWatch and The AWS Personal Health Tracker is being used to monitor resource and application fitness, while AWS CloudTrail is used for monitoring user activities and API requests.
Security and governance
AWS offers a variety of cloud security services, including AWS Identity and Access Management, which allows administrators to establish and control user access to resources. An administrator may also utilise Amazon Cloud Directory to build a user directory, or use the AWS Directory Service to link cloud services to an existing Microsoft Active Directory. Furthermore, the AWS Organizations service allows a company to create and administer rules for many AWS accounts.
Amazon Web Services has also released tools that automatically evaluate possible security issues. Amazon Inspector examines an AWS environment for flaws that might compromise security and compliance. To safeguard sensitive cloud data, Amazon Macie employs machine learning (ML) technologies.
AWS also offers tools and services for providing software and hardware-based encryption, defending against DDoS assaults, issuing Secure Sockets Layer (SSL) and Transport Layer Security (TLS) certifications, and filtering potentially dangerous traffic to web applications
The AWS Management Dashboard is a browser-based AWS desktop application (Ui). Cloud computing services, cloud services, and security credentials may all be managed using the Management Console. The AWS Console provides access to all AWS resources.
Big data management and analytics
AWS offers a wide range of big data analytics and application services. This includes the following:.
- For large-scale data processing, Amazon Elastic MapReduce provides a Hadoop framework.
- Amazon Kinesis, which offers a number of tools for processing and analysing streaming data.
- AWS Glue is a service that supports extract, transform, and load operations.
- Amazon Elasticsearch Service enables a team to use the open source Elasticsearch tool to do application monitoring, log analysis, and other activities.
- Amazon Athena for S3, which enables data analysts to query their data.
- Amazon QuickSight, which assists analysts in visualising data.
Artificial intelligence
AWS provides AI model creation and delivery platforms, as well as pre-packaged AI-based applications. The Amazon AI toolkit comprises the following tools:
- Amazon Lex is a speech and text chatbot system developed by Amazon.
- Polly from Amazon for text-to-speech translation; and
- Amazon Rekognition is a facial and image recognition service.
- 3D web applications
- E-commerce & sales applications
- Marketing
- Online education
- Manufacturing
- Training simulations
- Gaming
- Support for the EC2-Classic protocol
- TCP and SSL listeners are supported.
- Application-generated cookies are used to provide sticky sessions.
AWS also offers developers with the tools they need to create smart apps that rely on machine learning and sophisticated algorithms.
Developers may use AWS Deep Learning Amazon Machine Images (AMIs) to build and train bespoke AI models on clusters of graphics processing units (GPUs) or compute-optimized instances. MXNet and TensorFlow deep learning development frameworks are also accessible on AWS.
AWS technology enable the Alexa Voice Services, and developers may utilise the Alexa Skills Kit to create voice-based apps for Echo devices
Mobile development
The AWS Mobile Hub provides a suite of tools and services for mobile app developers, including the AWS Mobile SDK, which includes code examples and libraries.A mobile app developer may also use Amazon Cognito to control user access to mobile apps and Amazon Pinpoint to deliver push notifications to app end users and then assess the efficacy of those messages.
Messages and notifications
Users and apps can interact with one another using AWS messaging services. Amazon Simple Queue Service (SQS) is a managed message queue that transmits, stores, and receives messages across dispersed application components to guarantee that the pieces of an application operate as intended.
A company can utilise Amazon Simple Notification Service (SNS) to deliver publish/subscribe messages to endpoints such as end users or services. SNS has a mobile messaging function that allows for push notifications to mobile devices. Amazon Simple Email Service (SES) allows IT professionals and marketers to send and receive emails.
Augmented reality and virtual reality
Through its Amazon Sumerian service, AWS provides augmented reality (AR) and virtual reality (VR) development tools. Amazon Sumerian enables users to develop AR and VR applications without the need for programming or 3D graphics. Users may also use the service to test and publish applications in-browser. Amazon Sumerian may be utilised in a variety of contexts.
Game development
AWS may also be used to build games. AWS services will be used by large game development firms such as Ubisoft for their titles such as For Honor. AWS can offer services at every stage of a game's lifetime. AWS, for example, will offer back-end developer services, analytics, and developer tools. Back-end services may be able to assist with developing, deploying, or growing a developer's platform, while developer tools should aid in the creation of their game. Analytics may aid developers in better understanding their clients and how they play the game. AWS servers may also be used by developers to store data or host gaming data.
Internet of Things
AWS also offers a number of services that support internet of things (IoT) installations. The AWS IoT service provides a back-end framework for managing IoT devices and ingesting data into other AWS storage and database services. AWS IoT Button offers hardware for basic IoT capability, whereas AWS Greengrass adds AWS computing capabilities to IoT devices.
EC2 instance in AWS
A virtual server on Amazon's Elastic Compute Cloud (EC2) for executing applications on the Amazon Web Services (AWS) architecture is known as an Amazon EC2 instance. AWS is a comprehensive and ever-evolving cloud computing platform, whereas EC2 is a service that allows corporate subscribers to run application programmes in a computing environment. It may be used to create an almost infinite number of virtual machines (VMs).
To meet customer demands, Amazon offers a variety of instances with varied CPU, memory, storage, and networking resource combinations. Each kind is offered in a variety of sizes to meet the needs of different workloads.
Amazon Machine Images are used to generate instances (AMI). The pictures of the machines are similar to templates. They have an operating system (OS) and other applications installed that establish the user's operational environment. Users can choose from AWS's AMIs, the user community's AMIs, or the AWS Marketplace. Users can also develop and share their own AMIs.
EC2 instance types
Based on the intended application profiles, instance types are divided into families.
Some of these groupings are as follows:
general purpose:
A general-purpose instance is a virtual machine that can manage a wide range of tasks. The amount of CPU cores, on-demand storage, and RAM in general purpose instances are optimised. Web server hosting and software development and testing are two popular use cases for general purpose instances.
Optimized for processing.
Big data applications that demand a lot of processing power and memory are operated on the AWS cloud using compute optimised instances. These instances are built and tuned to run computational and data-intensive applications that demand high input/output (I/O) operations per second, as well as rapid network performance (IOPS). Scientific and financial modelling and simulation, machine learning, enterprise data warehousing, and business intelligence are just a few examples of the sorts of applications available.
Unit for graphics processing (GPU).
These instances make it possible to execute graphics-intensive applications more quickly than ordinary EC2 instances. Gaming and design work are two examples of systems that use GPUs. GPUs are often used in Linux distributions to generate graphical user interfaces, improve compression rates, and speed up database queries, for example.
Optimized for memory
A high-speed solid-state drive is used in memory optimised instances to enable ultra-fast data access and excellent performance. Open source databases, real-time big data analytics, and in-memory caches are all good candidates for these instances, which demand more memory and less CPU power.
Optimized for storage.
Applications that demand high I/O speed, such as NoSQL databases that save and retrieve data in real time, benefit from storage optimised instances. They're also ideal for memory-intensive tasks including data processing, data warehousing, analytics, and log processing.
Micro:
A micro instance is designed for low-throughput applications. Micro instances can be used as a tiny database server, a platform for software testing, or a web server that doesn't require a lot of traffic.
Features of an Amazon EC2 instance:
Many EC2 instance characteristics, such as storage, the amount of virtual processors and RAM accessible to the instance, the OS, and the AMI on which the instance is based, are all configurable. The characteristics of an Amazon EC2 instance are as follows:
operating system
Linux, Microsoft Windows Server, CentOS, and Debian are among the OSes supported by EC2.
Storage that lasts a long time:
The Amazon Elastic Block Storage (EBS) service allows users to attach block-level storage volumes to EC2 instances and utilise them like hard drives. EBS allows you to scale up or down the amount of storage accessible to an EC2 instance, as well as attach EBS volumes to many instances at once.
IP addresses that aren't fixed.
IP addresses may be linked with instances using Amazon's Elastic IP service. Without the assistance of a network administrator, elastic IP addresses can be transferred from one instance to another. As a result, they're suitable for use in failover clusters, load balancing, and other scenarios where several servers are executing the same service
CloudWatch is a service provided by Amazon.
AWS cloud services and applications deployed on AWS may be monitored using this web service. CloudWatch is a tool for gathering, storing, and analysing historical and real-time performance data. It can also monitor applications in real time, enhance resource use, save expenses, and scale up or down in response to changing workloads.
Scaling that is automated.
In response to application demand, Amazon EC2 Auto Scaling dynamically adds or removes capacity from Amazon EC2 virtual servers. Auto Scaling adds capacity to meet spikes in traffic during a product launch or to raise or reduce capacity based on whether or not use exceeds or falls below specified criteria.
Instances that are entirely made of metal.
The physical resources, such as a CPU, storage, and network, make up these virtual server instances. They are not virtualized and do not run an operating system, resulting in a smaller memory footprint, increased security, and more processing power.
Amazon EC2 Fleet is a cloud computing service provided by Amazon.
This service allows you to install and manage many instances as if they were a single virtual server. With the Fleet service, you can start, halt, and terminate EC2 instances across all EC2 instance types with a single command. Using an API, Amazon EC2 Fleet also enables programmatic access to fleet activities. Existing management software may be used to manage fleets. Policies may be adjusted in EC2 Fleet to automatically modify a fleet's size to fit the workload.
You can pause and restart instances.
EC2 instances can be halted and restarted at a later time from the same state. If an application consumes too many resources, for example, it can be suspended without incurring instance use costs.
S3 Bucket in Aws
A public cloud storage resource provided by Amazon Web Services' (AWS) Simple Storage Service (S3), which is an object storage service, is known as an Amazon S3 bucket. Amazon S3 buckets, which function similarly to file folders, hold objects made up of data and descriptive information.
What Is an S3 Bucket and How Do I Use It?
An S3 customer first establishes a bucket in his or her preferred AWS region and gives it a globally unique name. AWS advises clients to select regions that are geographically close to them in order to decrease latency and expenses.
The user then chooses an S3 tier for the data after creating the bucket, with different S3 tiers offering varied levels of redundancy, pricing, and accessibility. Objects from several S3 storage tiers can be merged into a single bucket.
Then, using technologies such as the AWS Identity and Access Management service, bucket policies, and access control lists, the user may set access privileges for the items stored in a bucket
AWS customers can use the AWS Management Console, the AWS Command Line Interface, or application programming interfaces to connect with Amazon S3 buckets (APIs).
Features of the S3 bucket
Amazon S3 buckets come with a number of capabilities from AWS. When an action, like as a copy or delete, is done on an item, an IT professional may activate versioning for S3 buckets to preserve all versions of the object. This aids an IT staff in preventing an object from being accidentally deleted. A user may also set up server access logs, object-level API logs, tags, and encryption when creating a bucket.
S3 Transfer Acceleration also helps with fast and secure transfers from a client to an S3 bucket via AWS edge locations.
Load Balancer in AWS
Elastic Load Balancing distributes your incoming traffic over several targets in one or more Availability Zones, including EC2 instances, containers, and IP addresses. It maintains track of the health of the targets it has recorded and only delivers traffic to those who are healthy. You can scale your load balancer as your incoming traffic changes using elastic load balancing. It has the ability to scale automatically to the vast majority of workloads.
Elastic Load Balancing is compatible with application load balancers, network load balancers, gateway load balancers, and traditional load balancers. You have the option of selecting the load balancer that best fits your needs.
Overview of the Classic Load Balancer
A load balancer distributes incoming application traffic over several EC2 servers in various Availability Zones. This increases the failure tolerance of your apps. This improves your apps' failure tolerance. Elastic Load Balancing detects sick instances and only sends traffic to those that are healthy.
Clients communicate with your load balancer through a single point of contact. This improves your application's availability. As your needs change, you may add and delete instances from your load balancer without interrupting the general flow of requests to your service. Elastic Load Balancing allows you to scale your load balancer as your application's traffic varies over time. Elastic Load Balancing can grow to the majority of loads automatically..
A listener monitors for connection requests from clients using the protocol and port you specify, and then sends them to one or more registered instances using the protocol and port number you specify. To your load balancer, you add one or more listeners.
You may set up health checks to monitor the health of the registered instances so that the load balancer only delivers requests to the ones that are in good shape.
To guarantee that your registered instances can manage the request load in each Availability Zone, maintain the number of instances registered with the load balancer in each Availability Zone close to the same. If you have ten instances in Availability Zone us-west-2a and two instances in Availability Zone us-west-2b, for example, the requests are evenly divided across the two Availability Zones. As a consequence, the two us-west-2b instances serve the same amount of traffic as the ten us-west-2a instances. Instead, each Availability Zone should contain six instances.
The load balancer, by default, distributes traffic evenly across the Availability Zones you enable for your load balancer. To distribute traffic evenly across all registered instances in all specified Availability Zones, enable cross-zone load balancing on your load balancer. However, we recommend that you have roughly similar numbers of instances in each Availability Zone for higher fault tolerance.
Benefits
The following are some of the advantages of using a Classic Load Balancer rather than an Application Load Balancer: