Monday 5 August 2024

AWS Exploration: Amazon Web Services

 AWS Exploration: Amazon Web Services


Amazon Web Services (AWS) is a powerful cloud platform that offers over 200 services from data centers around the world. In this blog, we’ll explore the history, global infrastructure, key services, and benefits of AWS. This guide is perfect for beginners looking to understand what AWS can do for their business.

In this blog, we will be Exploring the basics of Amazon Web Services

ORIGIN OF AWS

History of AWSEarly Beginnings (2002)

  • 2002: Amazon.com introduced its first web service, named Amazon.com Web Services.
  • What it did: Offer SOAP (Simple Object Access Protocol) and XML interfaces, which allowed developers to interact with Amazon’s product catalog programmatically.

Official Launch (2006)

  • 2006: Amazon Web Services (AWS) officially launched.
  • Core Services Introduced:
    1. Amazon Elastic Compute Cloud (EC2): This service lets users rent virtual servers to run their applications. Essentially, it gives you a cluster of virtual computers that you can use just like physical ones.
    2. Amazon Simple Storage Service(S3): Provides scalable and reliable storage for data, making it easy to store and retrieve any amount of data at any time.

Rapid Growth (2007–2010)

2007: By this year, AWS had attracted nearly 180,000 developers who signed up to use its services.
2010: Amazon.com, the retail website, moved its web services to AWS, meaning that the same infrastructure that AWS customers use is also powering Amazon.com.

Expansion and Adoption

  • Growth of Services: Since its launch, AWS has continuously expanded its range of services, which now includes a wide variety of cloud computing solutions like databases, machine learning, analytics, and more.
  • Global Reach: AWS has grown its global infrastructure, offering services from numerous data centers worldwide.
  • Customer Base: AWS serves millions of customers, ranging from startups and small businesses to large enterprises and public sector organizations.

Why AWS Became Popular

  • Scalability: Users can easily scale their applications up or down based on demand.
  • Pay-as-you-go: Customers pay only for what they use, which can be more cost-effective than maintaining their own servers.
  • Reliability: AWS offers high availability and robust security features.
  • Innovation: Constantly adding new features and services to meet evolving customer needs. Key Takeaways AWS started as a tool for developers to interact with Amazon’s product catalog. It officially launched in 2006 with EC2 and S3 as the core services. By 2010, Amazon.com itself was running on AWS, showcasing its reliability and scalability. Today, AWS offers a wide range of services globally and serves millions of customers across various industries.

WHAT IS AWS?

AWS (Amazon Web Services) is a comprehensive and widely adopted cloud platform offered by Amazon. It provides on-demand cloud computing resources and services such as computing power, storage, and databases to individuals, companies, and governments on a pay-as-you-go basis. AWS enables scalable and flexible solutions, ranging from web hosting and application development to data processing and machine learning. It supports a vast ecosystem of tools and integrations, making it a popular choice for various cloud computing needs.

What is AWS?

ADVANTAGES

  • Scalability and Elasticity:
    • AWS allows automatic scaling of applications up or down based on demand.
    • Ensures optimal performance and cost-efficiency.
  • Pay-as-you-go Pricing Model:
    • Users pay only for the resources they actually use.
    • Eliminates the need for a significant upfront investment.
  • High Availability and Reliability:
    • Achieved through multiple availability zones within each region.
    • Provides redundancy and disaster recovery options.
  • Global Network:
    • Ensures low latency and quick access to services for users around the world.
    • Includes numerous regions and edge locations.
  • Security and Compliance:
    • Robust encryption and access management features.
    • Compliance with numerous industry standards and certifications.
  • Ideal for Businesses of All Sizes:
    • Combination of scalability, cost-efficiency, reliability, security, extensive service offerings, and strong support ecosystem

Advantages

AWS GLOBAL INFRASTRUCTURE

AWS Global Infrastructure is designed to provide high availability, reliability, and scalability for applications and services worldwide. It consists of multiple regions and availability zones to ensure that your applications are always available and can recover quickly in case of failure.

Key Components of AWS Global Infrastructure

  • AWS Regions
  • AWS Availability Zones
  • Edge Locations
    Regions

AWS Regions

An AWS Region is a physical location around the world where AWS clusters data centers. Each AWS Region is a separate geographic area that provides full redundancy and connectivity to the network. AWS currently has multiple regions spread across various continents.

AWS regionCharacteristics of AWS Regions:

  • Geographic Distribution: AWS Regions are located in different parts of the world, such as North America, Europe, Asia Pacific, and South America, to reduce latency and ensure data sovereignty.
  • Independent Resources: Each region operates independently, which means resources in one region are not automatically replicated to another region.
  • Data Residency: Users can choose a specific region to meet legal and compliance requirements regarding data residency.

AWS Availability Zones

AWS Availability Zones (AZs) are distinct locations within an AWS region. Each region has multiple availability zones, and each availability zone consists of one or more discrete data centers with redundant power, networking, and connectivity.

Global infrastructure AWS

AWS Global infrastructure 2

Characteristics of Availability Zones:

  • Isolation and Redundancy: AZs are isolated from each other to prevent a failure in one zone from affecting others. They are connected through low-latency links to enable high availability and failover support.
  • High Availability: By deploying applications across multiple AZs within a region, you can achieve high availability and fault tolerance. If one AZ fails, the others can continue to operate.
  • Scalability: AZs allow you to scale applications and resources easily within a region.

Edge Locations

Edge Locations are data centers that are used to cache and distribute content closer to end users, providing lower latency and faster access times. They are part of AWS’s content delivery network (CDN), Amazon CloudFront.

Edge LocationCharacteristics of Edge Locations:

  • Content Delivery: Edge locations are used to deliver web content, videos, and other large files to users with minimal latency.
  • Global Reach: There are many edge locations worldwide, ensuring that content can be delivered quickly to users, no matter where they are located.
  • Security and DDoS Protection: Edge locations also help protect against Distributed Denial of Service (DDoS) attacks by distributing traffic across multiple locations.

CATEGORIES OF AWS SERVICES

AWS offers a wide range of services to support various aspects of cloud computing. These services are categorized to help users easily find and utilize the tools they need for their specific use cases. Here’s an overview of the main categories and some key services within each:

AWS Services1. Compute Services

  • Amazon EC2 (Elastic Compute Cloud): Virtual servers that allow you to run applications on AWS.
  • AWS Lambda: Serverless computing service that lets you run code in response to events without provisioning servers.
  • Amazon ECS (Elastic Container Service): Fully managed container orchestration service.
  • Amazon EKS (Elastic Kubernetes Service): Managed Kubernetes service.
  • AWS Fargate: Serverless compute engine for containers that work with ECS and EKS.
  • AWS Batch: Managed service for running batch computing workloads.
    Compute Serviess

2. Storage Services

  • Amazon S3 (Simple Storage Service): Scalable object storage service.
  • Amazon EBS (Elastic Block Store): Persistent block storage for use with EC2.
  • Amazon EFS (Elastic File System): Scalable file storage for use with EC2 instances.
  • Amazon Glacier: Low-cost archive storage.
  • AWS Storage Gateway: Hybrid cloud storage service for integrating on-premises environments with AWS storage.

Storage service

3. Database 3.Services

  • Amazon RDS (Relational Database Service): Managed relational database service for databases like MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server.
  • Amazon DynamoDB: Fully managed NoSQL database service.
  • Amazon Aurora: High-performance managed relational database compatible with MySQL and PostgreSQL.
  • Amazon Redshift: Fully managed data warehouse service.
  • Amazon ElastiCache: In-memory caching service for Redis and Memcached.

Database services4. Networking and Content Delivery

  • Amazon VPC (Virtual Private Cloud): Virtual network for provisioning isolated sections of the AWS cloud.
  • AWS Direct Connect: Dedicated network connection from your premises to AWS.
  • Amazon Route 53: Scalable Domain Name System (DNS) web service.
  • Amazon CloudFront: Content delivery network (CDN) for distributing content globally with low latency.
  • AWS Global Accelerator: Improves the availability and performance of your applications with global users.

5. Security, Identity, and Compliance

  • AWS IAM (Identity and Access Management): Manage access to AWS services and resources securely.
  • AWS KMS (Key Management Service): Managed service for creating and controlling cryptographic keys.
  • AWS Shield: Managed DDoS protection service.
  • AWS WAF (Web Application Firewall): Protects web applications from common web exploits.
  • AWS Config: Service for assessing, auditing, and evaluating the configurations of your AWS resources.

6. Analytics

  • Amazon EMR (Elastic MapReduce): Managed cluster platform for running big data frameworks like Apache Hadoop and Spark.
  • Amazon Athena: Interactive query service to analyze data in S3 using SQL.
  • Amazon Redshift: Data warehousing service for big data analytics.
  • Amazon Kinesis: Platform for real-time streaming data.
  • AWS Glue: Fully managed ETL (extract, transform, load) service.
    AWS Components

7. Migration Services

  • AWS Migration Hub: Tracks and manages application migrations in a central place.
  • AWS Application Migration Service (MGN): Automates lift-and-shift migrations with continuous data replication.
  • AWS Database Migration Service (DMS): Migrates databases to AWS with minimal downtime.
  • AWS Server Migration Service (SMS): server migrations from on-premises to AWS.

8. Management & Governance

  • AWS CloudTrail: Monitor and log account activity.
  • AWS Config: Record and evaluate configurations of AWS resources.
  • AWS Systems Manager: Operational insights and resource

WAYS TO ACCESS SERVICES

 

Top 3 Cloud Computing Service Models: SaaS | PaaS | IaaS

Top 3 Cloud Computing Service Models: SaaS | PaaS | IaaS


What is Cloud Computing?

Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). This cloud model is composed of five essential characteristics, three service models, and four deployment models.

Cloud Computing Service Models

There are three main types of service models of cloud computing. Each type of cloud computing provides different levels of control, flexibility, and management so that you’ll select the proper set of services for your needs.

Three Common Cloud Service Models

The three Cloud Service Models are as follows:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)
    Cloud Service Model

1. Infrastructure As A Service (IaaS)

  • It is the most flexible type of cloud service which lets you rent the hardware and contains the basic building blocks for cloud and IT.
  • It gives complete control over the hardware that runs your application (servers, VMs, storage, networks & operating systems).
  • It’s an instant computing infrastructure, provisioned and managed over the internet.
  • IaaS gives you the very best level of flexibility and management control over your IT resources.
  • It is almost like the prevailing IT resources with which many IT departments and developers are familiar.
  • Examples of IaaS are virtual Machines or AWS EC2, Storage or Networking. DigitalOcean, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Rackspace, and Cisco Metacloud.Cloud Service Model IaaS

 

Benefits of IaaS

IaaS is an efficient and cost-effective way to deploy, operate, and scale your IT infrastructure. It’s easy to set up and configure, so you can start using it quickly. And because it’s available as a service from an external provider, you don’t have to worry about building and maintaining your own infrastructure. IaaS offers the following benefits:

Cost savings: IaaS is more cost-effective than building your own data center. You pay only for what you need — storage space, CPU power, bandwidth, and other resources. This makes it easier to scale up or down as needed.

On-demand access: You can instantly provision new resources whenever they’re needed without having to invest in new hardware and software or hire additional IT staff members. The cloud provider takes care of all the maintenance and upgrades required to keep your servers online 24/7 with 99 percent uptime guarantees (or better).

Flexibility: With cloud computing, you can easily add more resources when demand increases without having to upgrade equipment or hire more IT professionals.

Read: Azure DevOps Vs AWS DevOps

IaaS Use-Cases

Here are some common IaaS use cases:

  • IaaS is useful for backing up, storing, and recovering data and also helps in managing fluctuating storage needs.
  • It is cheaper and faster to set up test and development environments with IaaS.
  • Companies working with Big Data often use IaaS as it allows them to significantly increase their computing power.
  • IaaS can be an optimal basis for some complex web projects, particularly for sites with profoundly fluctuating traffic, as a website hosted in the cloud can profit from the verbosity rendered by a massive network of physical servers and demand scalability to manage unpredictable demands
  • Due to its stability, IaaS can be a better alternative for complex tasks which include millions of variables or calculations and in general, might require the use of supercomputers or clusters.
  • Users can easily access high-end apps with IaaS. They can run graphic-intensive applications without any latency issues as the cloud servers offer superior performance and in addition to this, they will have increased productivity because the app will run with great speed.
  • The application deployment over the cloud can be done in less time with IaaS. You can scale up or down the apps based on unpredictable demands. Moreover, all your infrastructure and storage requirements are borne by the providers so that you can easily deploy the applications.

Disadvantages of laaS 

Limited infrastructure control: Although IaaS providers normally handle upkeep, upgrades, and management of the underlying infrastructure, this might also imply that users have less control over the environment and might not be able to make some adjustments.
Security issues: Users must take responsibility for protecting their data and apps, which can be very demanding.
Restricted access: Owing to legal regulations, cloud computing may not be available in some states or nations.

To download the complete Certified AWS Solutions Architect Exam Questions Guide, click here

2. Platform As A Service (PaaS)

  • PaaS is a cloud service model that gives a ready-to-use development environment where developers can specialize in writing and executing high-quality code to make customized applications.
  • It helps to create an application quickly without managing the underlying infrastructure. For example, when deploying a web application using PaaS, you don’t have to install an operating system, web server, or even system updates. However, you can scale and add new features to your services.
  • This cloud service model makes the method of developing and deploying applications simpler and it is more expensive than IaaS but less expensive than SaaS.
  • This helps you be more efficient as you don’t get to worry about resource procurement, capacity planning, software maintenance, patching, or any of the opposite undifferentiated work involved in running your application.
  • Examples of PaaS: Elastic Beanstalk or Lambda from AWS, WebApps, Functions or Azure SQL DB from Azure, Cloud SQL DB from Google Cloud, or Oracle Database Cloud Service from Oracle Cloud.Cloud Service Model PaaS

Benefits of PaaS

PaaS is an easy way to build an application, and it offers a lot of benefits. Here are just a few:

Faster development time – You don’t have to build infrastructure before you can start coding.

Reduced costs – Your IT department won’t need to spend time on manual deployments or server management.

Enhanced security – PaaS providers lock down your applications so that they’re more secure than traditional web apps.

High availability – A PaaS provider can make sure your application is always available, even during hardware failures or maintenance windows.

Read: AWS For Testers And AWS Quality Assurance (QA)

PaaS Use-Cases

There are multiple use cases for PaaS, in a wide range of business contexts. Some of them are:

  • PaaS is useful for companies developing, running, and managing app programming interfaces and microservices. The same goes for the development of new APIs and complete API management.
  • PaaS is suitable for setting up and managing an organization’s database. It offers a scalable, secure, and on-demand platform to create, administer, and maintain databases.
  • PaaS tools allow for advanced analysis of business data, to identify patterns, make predictions, and ultimately make more qualified and data-driven decisions. These tools can help companies predict behaviors and events for better planning.
  • PaaS supports various programming languages, application environments, and tools, which allows connectivity and integrations required in IoT deployments.
  • PaaS can be a delivery mechanism for communication and collaboration which means that features like voice, chat, and videos can be added to applications built on the PaaS cloud service model.

Disadvantages of Paas

Limited infrastructure control: Although PaaS providers normally handle upkeep, upgrades, and management of the underlying infrastructure, this might also imply that users have less control over the environment and may not be able to make certain adjustments.
Dependency on the provider: Customers rely on the PaaS provider to maintain the platform’s scalability, availability, and dependability; however, this poses a risk if the provider encounters disruptions or other problems.
Restricted flexibility: The usefulness of PaaS solutions for some organizations may be limited if they cannot handle particular workloads or applications.

3. Software As A Service (SaaS)

  • SaaS provides you with a complete product that is run and managed by the service provider.
  • The software is hosted online and made available to customers on a subscription basis or for purchase in this cloud service model.
  • With a SaaS offering, you don’t need to worry about how the service is maintained or how the underlying infrastructure is managed. It would help if you believed how you’d use that specific software.
  • Examples of SaaS: Microsoft Office 365, Oracle ERP/HCM Cloud, SalesForce, Gmail, or Dropbox.Cloud Service Model SaaS

 

Benefits of SaaS

The benefits of SaaS are numerous and varied. Many businesses have already made the switch to SaaS, but some are still skeptical about making the change. Here are some of the top reasons why you should consider switching to SaaS:

Lower Total Cost of Ownership: One of the biggest benefits of SaaS is that it lowers your total cost of ownership (TCO) by eliminating hardware expenses and maintenance costs. There is no longer a need to buy servers or hire IT professionals to maintain or monitor them, which results in fewer upfront costs and reduced maintenance fees over time.

Better Security: Another benefit of SaaS is improved security. Since most services are hosted on secure servers in data centers with 24/7 monitoring, there’s less chance for hackers to gain access or steal your data. This makes SaaS a more secure option for storing sensitive information than other options like on-premise software or local servers. In fact, according to Gartner’s 2017 Magic Quadrant report, “Software as a service (SaaS) offerings provide better security than self-hosted software does.”

SaaS Use-Cases

  • Pop-up live events are well-suited to SaaS models, specifically live sports and esports tournaments, where the event’s temporary nature only requires services for a few hours a day in a week.
  • SaaS brings new benefits for content owners looking to take their content directly to the consumer (D2C), with deployments covering everything from the Customer Management Systems (CMS), subscriber management systems, and user experience.
  • SaaS helps in delivering applications that can be widely distributed and accessed. For example, Google’s Gmail is a fully managed email-based application and is most easily accessed over the internet without requiring you to install any software on your local device to be able to use it.

Disadvantages of Saas 

Limited customization: SaaS solutions are usually less customizable than software that is hosted on-premises. As a result, customers may not be able to customize the program to meet their unique requirements and may be forced to operate within the platform limitations of the SaaS provider.
Dependency on Internet connectivity: Since SaaS solutions are usually cloud-based, a steady Internet connection is necessary for them to operate as intended. Users who need to access the software offline or in places with spotty connectivity may find this troublesome.
Security issues: Although SaaS providers are in charge of ensuring the security of the information kept on their servers, security incidents and data breaches are still a possibility.
Limited control over data: Organizations who must maintain stringent control over their data for regulatory or other reasons may be concerned that SaaS providers may have access to a user’s data.

Read: AWS Shared Responsibility Model

Characteristics Of Cloud Service Model 

  • Multi-Tenant: Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant.
  • Self-Sevice: Self-service cloud computing is a private cloud service where the customer provisions storage and launches applications without an external cloud service provider. With a self-service cloud, users access a web-based portal to request or configure servers and launch applications.
  • Elastic (Scale-Up | Scale-Down): Elasticity is the ability to grow or shrink infrastructure resources dynamically as needed to adapt to workload changes in an autonomic manner, maximizing the use of resources. This can result in savings in infrastructure costs overall.
  • Web-Based: It means you can access your resources via Web-Based applications.
  • Automated: Most of the things in the Cloud are automated, and human intervention is less.
  • Pay As You Go Model: You only have to pay when utilizing cloud resources.
  • Modern Web-Based Integration:  It allows you to configure multiple application programs to share data in the cloud. In a network that incorporates cloud integration, diverse applications communicate either directly or through third-party software.
  • Secure: Cloud services create a copy of the data that you want to store to prevent any form of data loss. If one server loses the data by any chance, the copy version is restored from the other server.Cloud Computing

Which Cloud Service Model To Learn?

One of the most common questions I get from my students is which Cloud Service Model I should learn.

  • So, If you are a System Administrator, you should learn both Infrastructures as a Service (IaaS) and Platform as a Service (PaaS). The reason is that whatever you are building or deploying is over Infrastructure as a Service, ie. PaaS always runs on top of IaaS. That’s the reason you should know both.
  • If you are working as a consultant such as a financial consultant or working on a packaged application such as HRMS, SAP, etc., you should learn Software as a Service (SaaS).

Cloud Shared Responsibility Model 

The shared responsibility model defines cloud security, but it changes for IaaS, PaaS, and SaaS.

cloud shared responsibility model