Introduction to AWS and cloud computing

2010

Introduction to AWS

Welcome to this course on AWS Essentials!

Here you will first learn about Cloud Computing and its characteristics. Then you will understand ***What is AWS, its application and usage***. Following that you will learn in detail about the different kinds of products AWS supports.

  • Compute
  • Storage
  • Database
  • Networking and Content Delivery
  • Developer Tools
  • Management Tools
  • Security and Compliance
  • Application Services
  • Messaging
Cloud Computing
  • It is type of Internet-based computing that provides shared computer processing resources and data to computers and other devices on demand.
  • It is a model for enabling ubiquitous, on-demand access to shared pool of configurable computing resources (e.g., computer networks, servers, storage, applications and services) provisioned minimal management effort.
  • This relies on sharing of resources to achieve coherence and economy of scale, similar to a utility (like the electricity grid over an electricity network.)
Cloud Characteristics

National Institute of Standards and Technology (NIST) highlights various characteristics that are needed for a service to be regarded as “Cloud”.

  • On-demand self-service – Sign up and enjoy the services without delays.
  • Broad network access – Access service through standard platforms (laptop, mobile, desktop, etc.)
  • Resource pooling – Resources are pooled to multiple customers.
  • Rapid elasticity – Ability to meet with demand peaks.
  • Measured Service – Billing is metered and delivered as a utility service.

Three unique categories within Cloud Computing:

  • Software as a Service (SaaS)
  • Platform as a Service (PaaS)
  • Infrastructure as a Service (IaaS)
Software as a Service (SaaS)
  • Capability to run applications on a cloud infrastructure.
  • Applications are accessible from several client devices via either a thin client interface, like a web browser e.g., web-based email
  • The interplay between the outside world and organization. e.g., email newsletter campaign software
  • Software for a short term requirement. e.g., collaboration software for a particular project
  • “Vanilla” offerings where the solution is not differentiated.
  • Consumer does not control or manage the underlying cloud infrastructure, which includes servers, network, operating systems and storage.

SaaS is not suitable in scenarios where the application

  • processes quick real time data.
  • has a regulation or legislation that does not allow data being hosted externally.
  • existing on-premise solution that satisfies all the requirements of organization.
Platform as a Service (PaaS)

Computing platform that permits creating web applications effortlessly, fast, with no complexity of buying or maintaining the infrastructure and software.

  • Services to develop and test applications, as well as deploy, host and maintain applications in the similar integrated development environment.
  • Ability to deploy on cloud infrastructure with the help of programming languages, services, libraries, and tools.
  • Built in scalability of deployed software with failover and load balancing.
  • Integration with databases and web services through common standards.

PaaS is not suitable in scenarios where the application –

  • requires to be more portable with respect to where it is hosted.
  • performance needs customization of the underlying software and hardware.
  • proprietary approaches or languages would affect the development process.
Infrastructure as a Service (IaaS)

Capableness to provide networks, processing, storage, and other fundamental computing resources, and ability to deploy, run arbitrary software that can include operating systems and applications. Here, the consumer is incapable of controlling or managing the underlying cloud infrastructure.

  • Resources are distributed as a service and enables dynamic scaling
  • Utility pricing model
  • Multiple users on one hardware Applicability-
  • New organizations with less capital could invest in hardware easily
  • Organizations growing rapidly
  • Pressure on the organization to restrict capital expenditure and to migrate to operating expenditure

IaaS is not suitable in cases where

  • strict regulatory compliance is followed
  • very high level of performance is required.
Features of AWS

AWS offers numerous ways to create and manage resources. Following are the different ways to access the features offered by AWS.

AWS Management Console – A web interface for AWSvpc.

AWS Command Line Interface (AWS CLI) – Commands for a wide set of AWSvpc products.

***Command Line Tools***- Commands for individual AWSvpc 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 Command Line Interface

The AWS Command Line Interface is a unified tool that manages several AWS servicesfrom 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.

Key Features Include:

  • Fuzzy auto-completion for Resource identifiers, Options, Commands.
  • Dynamic in-line documentation
  • Execution of OS shell commands
  • Export executed commands to a text editor
AWS Cloud – Products

Let us explore about different type of products in AWS.

  • Compute – AWS provides numerous compute products that allows you 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 your 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 you 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 plethora of managed services for use with applications such as converting digital media into different formats, including search to your website, and hosting streaming application.