AWS – Introduction
What is 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.)
What is AWS Cloud ?
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
-
Interplay between outside world and organization. e.g., email newsletter campaign software
-
Software for a short term requirement. e.g., collaboration software for 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 of the requirements of organization.
SaaS provides you with an application that is run and managed entirely by a service provider. Think of SaaS as an end-user application running in the cloud. In a SaaS environment, you have access to the capabilities of an application without the hassle of how it’s maintained or its underlying infrastructure
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.
PaaS frees you from having to manage the underlying infrastructure and focus on the deployment and management of your application. It frees you from having to think about resource procurement, capacity planning, software maintenance, and patching. Examples of Platform as a Service on AWS include Route 53, Elastic Load Balancing, and Auto Scaling.
Infrastructure as a Service (IaaS)
Capability 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 incompetent 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.
IaaS allows you to easily provision the IT components you require; including networking capabilities, computers, multi-tenant or dedicated, and data storage. It’s flexible and allows you to control and manage your IT resources similar to the way you would in a traditional on-premises data center, such as EC2, S3, and VPC
More on Cloud Computing
Let’s discuss some advantages to moving to the cloud
-
Variable as opposed to upfront Fixed cost
-
Economics of scale can reduce Operating cost
-
It’s easier to match capacity to demand
-
It allow you to focus on developing and deploying applications instead of the undifferentiated heavy lifting associated with managing an on-premises data center.
-
It allows you to increase the velocity of your Agile development and allows a global presence right out of the gate.
Geographical dispersement
Next let’s take a look at the infrastructure in terms of its geographical dispersement.
-
Regions are geographical areas, such as California, that contain multiple data centers in what are called availability zones.
-
Availability zones are separate physical data centers that may exist within a particular region, but has separate infrastructure dependencies, such as the electrical power grid, flood plain, and any other factors that might isolate it from the potential of outages
-
In addition to AZs, AWS supports numerous Edge locations. Throughout the globe, there’s a lot more Edge locations than there are AZs. And these are small kind of point of presence services used to deliver content, such as the Cloud Front and Content Distribution Network.
-
Infrastructure usage is the idea that you pay only for what you use, such as EC2. EC2 has various options, one of which is on-demand, which is where you only pay for the instance as long as you’re using the instance or it’s running.
-
Pricing concepts include paying for infrastructure usage, such as when using EC2; and data usage and transfer, such as when using Amazon S3 or DynamoDB.
-
Designing for high availability is a stricter requirement than designing for fault tolerance. For example, in an architecture with a single instance, with an auto scaling group of one, an instance failure will heal itself or replace the instance since the rule might say, “always provide one instance.” This is an example of fault tolerance and not high availability. If however, I have an auto scaling group with two instances in different AZs and one fails, the traffic will automatically route to the second instance. This is an example of higher availability.
-
Global infrastructure services include Identity and Access Management (IAM). Core services include networking, compute, storage, and databases, Application services include SNS, SQS, and SWF, Deployment and management services include Elastic Beanstalk and Cloud formation.
History of AWS
Extending IT Infrastructure to the AWS Cloud
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 AWS.
AWS Command Line Interface (AWS CLI)
– Commands for a wide set of AWS products.
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.
You will learn more about AWS Management Console and CLI in detail as you progress.
AWS Management Console
The above GIF shows how to perform the steps to set up PWS account.
AWS Command Line Interface
You can find the URL of a Cloud Foundry instance by
-
Logging on to the App Manager dashboard
-
Click Tools option.
Under tools option, you will be able to see the cf login procedure along with the endpoint as shown in the above image.
Cool Stuff Below !
1