Tuesday, June 7, 2016

11_AWS - Application Services

Amazon Web Services

 

2006: Amazon launched Amazon Web Service (AWS) on a utility computing basis although the initial released dated back to July 2002.

Amazon Web Services (AWS) is a collection of remote computing services (also called web services) that together make up a cloud computing platform, offered over the Internet by Amazon.com.

The most central and well-known of these services are Amazon EC2 (Elastic Compute Cloud )and Amazon S3 (Simple Storage Service).

 

Book:

Amazon Web Services is based on SOA standards, including HTTP, REST, and SOAP transfer protocols, open source and commercial operating systems, application servers, and browser-based access.

 

Topics:

 

1.       Amazon API Gateway

2.       Amazon AppStream

3.       Amazon CloudSearch

4.       Amazon Elastic Transcoder

5.       Amazon FPS

6.       Amazon SES

7.       Amazon SNS

8.       Amazon SQS

9.       Amazon SWF

 

 

1). Amazon API Gateway

 

·         Refer from 10_AWS - Mobile Services

 

 

2). Amazon AppStream

 

·         Amazon AppStream is an Application Streaming Service that lets you Stream Your Existing Resource-Intensive Applications from the cloud without code modifications.

·         With Amazon AppStream, your application will be deployed and rendered on AWS infrastructure and Streams The Output To Mass-Market Devices, such as personal computers, tablets, and mobile phones.

·         Amazon AppStream enables you to stream your applications from the cloud, Reaching More Users On More Devices.

·         Because your application is running in the cloud, it can scale to handle vast computational and storage needs, regardless of the devices your customers are using.

 

Amazon AppStream also provides a SDK, giving your development teams the flexibility to build experiences that are unique for your customers, streaming either all or parts of your application from the cloud. Amazon AppStream enables use cases for applications that wouldn’t be possible running natively on mass-market devices. Using Amazon AppStream, your applications are no longer constrained by the hardware in your customer’s hands.

 

 

 

 

Amazon AppStream currently supports streaming applications from Microsoft Windows Server 2008 R2 and includes a SDK to build client applications for devices running FireOS, Android, Chrome, iOS, Mac OS X, and Microsoft Windows.

 

 

3). Amazon CloudSearch

 

Amazon CloudSearch is a fully-managed service in the cloud that makes it easy to set up, manage, and scale a Search Solution for your website.

Amazon CloudSearch enables you to search large collections of data such as web pages, document files, forum posts, or product information.

 

With Amazon CloudSearch, you can Quickly Add Search Capabilities To Your Website without having to become a search expert or worry about hardware provisioning, setup, and maintenance.

As your volume of data and traffic fluctuates, Amazon CloudSearch automatically scales to meet your needs.

 

You can use Amazon CloudSearch to index and search Both Structured Data and Plain Text.

Amazon CloudSearch features:

         Full text search with language-specific text processing

         Boolean search

         Prefix searches

         Range searches

         Term boosting

         Faceting

         Highlighting

         Autocomplete Suggestions

 

You can get search results in JSON or XML, sort and filter results based on field values, and sort results alphabetically, numerically, or according to custom expressions.

 

4). Amazon Elastic Transcoder

 

Amazon Elastic Transcoder lets you convert media files that you have stored in Amazon S3 into media files in the formats required by consumer playback devices.

For example, you can convert large, high-quality digital media files into formats that users can play back on mobile devices, tablets, web browsers, and connected televisions.

 

Elastic Transcoder has four components:

         Jobs

         Pipelines

         Presets

         Notifications

 

 

5). Amazon Flexible Payments Service (FPS)

 

https://payments.amazon.com/help/Amazon-Flexible-Payments-Service/Technical-Resources/Amazon-FPS-Resource-Center

 

Amazon FPS is discontinued effective June 1, 2015

 

 

6). Amazon Simple Email Service (SES)

 

 Amazon SES is an Outbound-Only Email-Sending Service that provides an easy, cost-effective way for you to send email.

 

         Amazon SES is an email platform that provides an easy, cost-effective way for you to send and receive email using your own email addresses and domains.

         For example, you can send marketing emails such as special offers, transactional emails such as order confirmations, and other types of correspondence such as newsletters.

         You only pay for what you use, so you can send and receive as much or as little email as you like.

 

Amazon SES integrates seamlessly with other AWS products. For example, you can:

 

         Add email capabilities to any application that runs on an Amazon EC2 instance by using the AWS SDKs or the Amazon SES API. If you want to send email through Amazon SES from an Amazon EC2 instance, you can get started with Amazon SES for free.

         Use Elastic Beanstalk to create an email-enabled application such as a program that uses Amazon SES to send a newsletter to customers.

         Set up Amazon SNS  to notify you of your emails that bounced, produced a complaint, or were successfully delivered to the recipient's mail server. When you use Amazon SES to receive emails, your email content can be published to Amazon SNS topics.

         Use the AWS Management Console to set up Easy DKIM, which is a way to authenticate your emails.

         Although you can use Easy DKIM with any DNS provider, it is especially easy to set up when you manage your domain with Amazon Route 53.

         Control user access to your email sending by using AWS Identity and Access Management (IAM).

         Store emails you receive in Amazon Simple Storage Service (Amazon S3).

         Take action on your received emails by triggering AWS Lambda functions.

         Use AWS KMS to optionally encrypt the mail you receive in you Amazon S3 bucket.

         Use AWS CloudTrail to log Amazon SES API calls that you make using the console or the Amazon SES API.

 

 

7). Amazon Simple Notification Service   (SNS)

 

Amazon SNS is a web service that enables applications, end-users, and devices to Instantly Send And Receive Notifications from the cloud.

Refer from 10_AWS - Mobile Services

 

 

8). Amazon Simple Queue Service  (SQS)

 

Amazon SQS  is a Messaging Queue Service that handles message or workflows between other components in a system.

 

·         Amazon SQS is a Distributed Queue System that enables web service applications to quickly and reliably Queue Messages that one component in the application generates to be consumed by another component.

·         A queue is a temporary repository for messages that are awaiting processing.

 

·         Using Amazon SQS, you can decouple the components of an application so they run independently, with Amazon SQS easing message management between components. Any component of a distributed application can store messages in a fail-safe queue. Messages can contain up to 256 KB of text in any format. Any component can later retrieve the messages programmatically using the Amazon SQS API.

·         Messages larger than 256 KB can be managed using the Amazon SQS Extended Client Library for Java, which uses Amazon S3 for storing larger payloads.

 

·         The queue acts as a buffer between the component producing and saving data, and the component receiving the data for processing. This means the queue resolves issues that arise if the producer is producing work faster than the consumer can process it, or if the producer or consumer are only intermittently connected to the network.

 

·         Amazon SQS ensures delivery of each message at least once, and supports multiple readers and writers interacting with the same queue. A single queue can be used simultaneously by many distributed application components, with no need for those components to coordinate with each other to share the queue.

·         Amazon SQS is engineered to always be available and deliver messages. One of the resulting tradeoffs is that SQS does not guarantee first in, first out delivery of messages. For many distributed applications, each message can stand on its own, and as long as all messages are delivered, the order is not important.

 

Message Lifecycle

 

1.     Component 1 sends Message A to a queue, and the message is redundantly distributed across the SQS servers.

2.     When Component 2 is ready to process a message, it retrieves messages from the queue, and Message A is returned. While Message A is being processed, it remains in the queue and is not returned to subsequent receive requests for the duration of the visibility timeout.

3.       Component 2 deletes Message A from the queue to avoid the message being received and processed again once the visibility timeout expires.

 

 

 

 

 

9). Amazon Simple Workflow Service  (SWF)

 

Amazon SWF makes it easy to build applications that coordinate work across distributed components.

In Amazon SWF, a task represents a logical unit of work that is performed by a component of your application.

 

Coordinating tasks across the application involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application.

Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying complexities such as tracking their progress and maintaining their state.

 

The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is performed by a component of your application. Coordinating tasks across the application involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application. Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying complexities such as tracking their progress and maintaining their state.

When using Amazon SWF, you implement workers to perform tasks. These workers can run either on cloud infrastructure, such as Amazon Elastic Compute Cloud (Amazon EC2), or on your own premises.

You can create tasks that are long-running, or that may fail, time out, or require restarts—or that may complete with varying throughput and latency. Amazon SWF stores tasks and assigns them to workers when they are ready, tracks their progress, and maintains their state, including details on their completion.

To coordinate tasks, you write a program that gets the latest state of each task from Amazon SWF and uses it to initiate subsequent tasks. Amazon SWF maintains an application's execution state durably so that the application is resilient to failures in individual components.With Amazon SWF, you can implement, deploy, scale, and modify these application components independently.

Amazon SWF offers capabilities to support a variety of application requirements. It is suitable for a range of use cases that require coordination of tasks, including media processing, web application back-ends, business process workflows, and analytics pipelines.

 

 

Regards,

Arun Manglick

 

 

 

 

 

 

 

 

 

 

 

 

 

No comments:

Post a Comment