Cloud API: What Is AWS?

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Cloud API

Q1.list down(minimum 10 API's from each Cloud vendor) different cloud


API's with AWS,AZURE,GCP with their explanations

What is AWS?
To be able to answer "What is AWS?", you must first understand that it's a cloud
provider. Among other features, cloud providers grant more storage flexibility and
enhanced security measures. They also contain features you'd find at a local data
center, like bolstered security, higher computing capacity, and database
construction. Depending on your location, you can get other features like content
caching.

One of the advantages of AWS is that you get all 160 cloud services on a pay-as-
you-go basis. This means that you pay only for the services you use. And it works on
a relative scale. That means the less you use it, the less you pay. And the more
you use it, the less you pay per unit. (i.e., The price of each unit goes down with
each new purchase.)

That's not all. Other advantages of AWS relate to the applications associated with it.

 The applications are reliable because they run on a safe and reliable
infrastructure.

 Their on-demand infrastructure allows greater scalability

 The design options available on the cloud permit large flexibility

 Thanks to the AWS Application Programing Interface (API), you can


automatize anything you want inside the AWS cloud. The AWS API acts as an
interface between your application and AWS services. There are several ways
to manage services: you can manually send requests using API, use AWS
console’s Graphical User Interface (GUI), or manage them  programmatically
using SDK. Whenever you’re using the AWS console to configure services in
the cloud, in reality you are making API calls in the background. Here are
seven of the most popular APIs that AWS has to offer (they were included
in 2ndwatch’s 30 most popular services of 2016!), and how using them can
make a big difference for your operation.

Cloud API’

 1. Amazon EC2 API


 Using the Amazon console is relatively easy. With just a few clicks of a
mouse, you can run a new EC2 instance that easily ensures compute and
storage resources. In order for a DevOps team to use the features of EC2
instances to the fullest, it’s necessary for them to access it via API. With API,
they can write robust scripts, as well as control and configure EC2 instances.
 EC2 resources are available through REST and Query API, while SOAP API
for EC2 has been deprecated since December 2015. Query API for EC2
provides HTTP and HTTPS requests that use GET or POST methods and
query parameter actions. Instead of sending requests over HTTP or HTTPS
protocols, you can adjust the SDK to whichever programming language you’re
using.

 Each GET request must have an endpoint, such as a URL. That endpoint
serves as an entrance for the web service: a parameter action that presents
the action you want to perform, as well as the parameters for action, the API
version you want to use, and the authorization parameter.

 You can see an example of one such request below*:

 https://ec2.amazonaws.com/?Action=RunInstances &ImageId=a
mi-2bb65342 &MaxCount=3 &MinCount=1 &Placement.Availabili
tyZone=us-east-1a &Monitoring.Enabled=true &Version=2016-
11-15 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-
Credential=AKIAIOSFODNN7EXAMPLEus-east-
1%2Fec2%2Faws4_request &X-Amz-Date=20130813T150206Z &X-
Amz-SignedHeaders=content-type%3host%3x-amz-date &X-Amz-
Signature=ced6826de92d2bdeed8f846f0bf508e8559e98e4b0194b8
4example54174deb456c Content-type:
application/json Host:ec2.amazonaws.com

 *Example code taken from AWS API reference guide.

 Read about how to monitor your EC2 Instances here

 2. Amazon S3 API
 Amazon Simple Storage Service (S3) gives you an infinite amount of storage.
Add in that it is also highly-scalable, reliable, and low-latency, and its
significance for storing and using data in the cloud can really be appreciated.
Whether you’re using S3 to store photos from your application or log files,
Amazon S3 API is a key tool for your communication with S3 storage.

 The Amazon S3 supports REST API, while SOAP is only available via
HTTPS, as it’s deprecated for HTTP. Requests towards Amazon S3 can be
authenticated or anonymous. For authenticated access, AWS credentials
used for authenticating requests are necessary. If you make a direct REST
API call from your application, a signature using valid AWS credentials is
created and that signature is included in the request. Making such requests
directly from code can be clumsy, however, and you would need to write
additional code. That’s why it’s better to use SDK for sending requests. You
can also use AWS CLI to make an Amazon S3 API call.

 Check how to serve websites from Amazon S3.

 3. Amazon RDS API


 Amazon Relational Database Service (RDS) makes it easy to set up or scale
a database instance, thus making many standard DBA tasks easier to
perform. With Amazon RDS API, you can use the CLI for automatization of
tasks you’d normally perform manually. One of the examples is how you can
use CLI to take automatic snapshots of your database instance. Instead of
logging in to your AWS Console and performing the action manually, you can
automatically send requests to RDS API from the CLI. You cannot perform
queries over your data inside the database instance by Amazon RDS API.

 You can use SOAP, REST API, and Query API for accessing Amazon RDS.
Keep in mind that SOAP can only be used over the HTTPS protocol. It’s also
worth mentioning that Amazon RDS is asynchronous, which means that in
certain cases you’ll need to use techniques such as polling or callback
functions to determine if a command was applied. There are also certain
scenarios where you cannot use the standard API syntax, for example, when
you are downloading a database log file. In that case, it is necessary to use
REST API because of the size of the log file.

 Discover a solution that provides AWS functionality on premise.

 4. DynamoDB API
 Amazon DynamoDB delivers low-level API actions that enable database
tables and indexes management, and also allows for reading, creating,
updating, and deleting data. Instead of accessing the low-level API directly
from your application, it is a best practice to use AWS SDK for the
programming language you currently have in use. Each API action has an
equivalent method and a CLI command.

 According to Amazon, DynamoDB low-level API is the protocol-level interface


for Amazon DynamoDB. On that level, each HTTP and HTTPS request has to
be in a valid format and digitally signed. The AWS SDK for DynamoDB takes
care of processing demands to low-level API, and you only have to worry
about the application logic. Even though DynamoDB uses JSON format for
transmitting data through the low-level, data in DynamoDB aren’t saved in
JSON format; they’re just presented to the client in that format.

 5. Amazon KMS API


 Amazon Key Management (KMS) enables you to create and control
encryption keys used for encrypting your data. With Amazon KMS, you can
import your own key using its API, and you can also encrypt your data in
transit or at rest.

 It’s recommended to use SDK inside your application for accessing KMS API
in order to have better control over an API. KMS supports AWS
CloudTrail service which logs all API calls and stores them on S3 bucket, thus
making it possible for you to see which requests towards KMS were made
and who made those requests.

 The most popular KMS APIs are Encrypt, Decrypt, GenerateDataKey and
GenerateDataKeyWithoutPlaintext. All operations with AWS KMS service
demand the requests be signed with Signature Version 4 which helps validate
the identity of the request maker, data protection in transit, as well as
protection from misuse or reuse of some parts of the signed requests. Using
signatured API requests and Amazon KMS API will bring your application’s
safety to a higher level and enable you safe placing and retrieval of data.

 Check this CIO’s Guide to Competing in a Real-Time, Always-On World.

 6. Amazon SQS API


 Amazon SQS enables safe message storing as messages travel between
applications or microservices, making it possible to decouple the components
of an application without worrying about standard queue management tasks.

 Standard Amazon SQS queues can be used in every region, while FIFO
queues, guaranteeing the correct message order delivery, are only available
in US West and US East region. Thanks to the SQS API you can create
queues from your own app, send, and receive messages inside queues.
Using SDK for accessing the SQS API automatically encrypts the signature of
the request you are sending, repeats the request, and handles error
responses. All of this is done in the background. SQS supports Query
requests for calling actions over the service, though SOAP requests aren’t
supported. For sending Query requests, you can use POST and GET
methods. Each GET request contains of an endpoint representing a queue,
Action section representing the action over the endpoint and a parameter –
any request parameters.

 Example of using an Amazon SQS API to send a GET request*:

 http://sqs.us-east-2.amazonaws.com/123456789012/queue1 ?
Action=SendMessage &MessageBody=Your%20Message%20Text &Ve
rsion=2012-11-05 &Expires=2011-10-15T12:00:00Z &AUTHPARAM
S
 *Example taken from Amazon SQS API reference guide

 IT lead? read this whitepaper to learn how to be innovation agent and thought leader

 7. Amazon SNS API


 Thanks to Amazon SNS service, you can send simple push real-time
notification messages to your subscribers over different delivery protocols.
Amazon SNS, with its mobile push feature enables a unique API for sending
push notifications to different kinds of devices such as Apple iOS, Google
Android, and Kindle Fire devices. You can connect your application with the
SNS service by using SDK. SNS is compatible with Amazon CloudTrail, which
enables it to record all API calls.

What is GCP?

Google Cloud Platform is a suite of public cloud computing services offered


by Google. The platform includes a range of hosted services for compute,
storage and application development that run on Google hardware. Google
Cloud Platform services can be accessed by software developers, cloud
administrators and other enterprise IT professionals over the public internet
or through a dedicated network connection.

Overview of Google Cloud Platform offerings


Google Cloud Platform offers services for compute, storage, networking, big data,
machine learning and the internet of things (IoT), as well as cloud management,
security and developer tools. The core cloud computing products in Google Cloud
Platform include:
 Google Compute Engine, which is an infrastructure-as-a-service (IaaS)
offering that provides users with virtual machine instances for workload
hosting.

 Google App Engine, which is a platform-as-a-service (PaaS) offering that


gives software developers access to Google's scalable hosting. Developers can
also use a software developer kit (SDK) to develop software products that run
on App Engine.

 Google Cloud Storage, which is a cloud storage platform designed to store


large, unstructured data sets. Google also offers database storage options,
including Cloud Datastore for NoSQL nonrelational storage, Cloud SQL
for MySQL fully relational storage and Google's native Cloud Bigtable
database.

 Google Container Engine, which is a management and orchestration system


for Docker containers that runs within Google's public cloud. Google Container
Engine is based on the Google Kubernetes container orchestration engine.

Google Cloud Platform offers application development and integration services.


For example, Google Cloud Pub/Sub is a managed and real-time messaging service
that allows messages to be exchanged between applications. In addition, Google
Cloud Endpoints allows developers to create services based on RESTful APIs, and
then make those services accessible to Apple iOS, Android and JavaScript
clients. Other offerings include Anycast DNS servers, direct network
interconnections, load balancing, monitoring and logging services.

Higher-level services
Google continues to add higher-level services, such as those related to big data and
machine learning, to its cloud platform. Google big data services include those for
data processing and analytics, such as Google BigQuery for SQL-like queries
made against multi-terabyte data sets. In addition, Google Cloud Dataflow is a data
processing service intended for analytics; extract, transform and load (ETL); and
real-time computational projects. The platform also includes Google Cloud
Dataproc, which offers Apache Spark and Hadoop services for big data processing.
For artificial intelligence (AI), Google offers its Cloud Machine Learning
Engine, a managed service that enables users to build and train machine
learning models. Various APIs are also available for the translation and
analysis of speech, text, images and videos.

Google also provides services for IoT, such as Google Cloud IoT Core,
which is a series of managed services that enables users to consume and
manage data from IoT devices.

The Google Cloud Platform suite of services is always evolving, and


Google periodically introduces, changes or discontinues services based on
user demand or competitive pressures. Google's main competitors in the
public cloud computing market include Amazon Web Services (AWS) and
Microsoft Azure.

You might also like