SlideShare a Scribd company logo
1 of 93
Reliable
Messaging
with AWS
Michael Hanisch – Solutions Architect
•   Technical knowledge of AWS
•   Cloud architecture concepts
•   Understand when to use which
    of our services
Amazon Web Services is all about


 FLEXIBILITY
AWS is a set of infrastructure building blocks
Example: Video Sharing site
Queues
•   Use Queues as buffers
•   Loose coupling of components
•   Make your system more
    resilient
Amazon
Simple
Queue
Service
Amazon
 SQS
Amazon Simple Queue Service

-   Highly reliable, distributed, scalable message queue
-   Asynchronous communication between components
       - Not all components have to be available all the time
       - Buffer messages when producing / consuming at
         different speeds


- Many senders, many recipients sharing the same queue
- 1:1 communication: each message has one recipient
Amazon SQS

-   Use different queues for different purposes, applications etc.
       - Message retention
       - Delays
       - Visibility timeout


-   Send SQS messages from one AWS account to another
-   Send messages to SQS from your mobile app or data center
Amazon SQS – How does it work?

-   Someone (usually the sender) creates the queue
-   Senders put messages into the queue
       - User-defined format (up to 64 KB)

-   Receivers
       - take messages off the queue…
       - … process the data, …
       - … and delete the message from the queue
Put a message in the queue

$q = new SQSClient(AWS_ACCESS_KEY_ID,
      AWS_SECRET_ACCESS_KEY, SQS_ENDPOINT);
try{
        $result = $q->CreateQueue(‘process-req-q’);
        //echo 'Queue Created: ', $result,’n<br/>’;
   } catch(Exception $e){
        throw($e);
}

$messageId = $q->SendMessage(“s3://$bucket/$key”);
Take messages off the queue
$q = new SQSClient(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,
       SQS_ENDPOINT,‘process-req-q’);

// poll until there’s a message available
do { $nextMessage = $q->ReceiveMessage(1); }
while ( count($nextMessage) == 0);

foreach ($nextMessage as $message) {
       $S3URL = $message->Body;
       $handle = $message->ReceiptHandle; // keep this!

       // TODO: Get file from $S3URL and process it

      $q->DeleteMessage($handle);
}
Amazon Simple Queue Service

-   Simpler than most message queues
-   No admin required
-   No setup required

-   Amazon SQS is affordable:
       $0.01 per 10,000 requests
« Everything fails
  all the time »
Werner Vogels – CTO of Amazon
Failures

Receiver can fail after taking message off the queue
      -   Network partition
      -   Instance failure
      -   OS failure
      -   Code bug


What happens to the message when the receiver
dies while processing it?
“At-least-once delivery”
VisibilityTimeout
0s / timeout: 30s
0s / timeout: 30s
10s / timeout: 30s
20s / timeout: 30s
30s / timeout: 30s
31s / timeout: 30s
Timer is reset,
message is visible again
0s / timeout: 30s
“At-least-once delivery”


Takeaways:
- Set VisibilityTimeout long enough to allow for processing
- Delete messages when you’re done with them
- Processing must be idempotent (in case the same message
   arrives more than once)
Auto Scaling
Automatically scale up/down EC2 capacity
Autoscaling workers, step #1

Create a launch configuration:
What kind of instances should we launch?




PROMPT> as-create-launch-config MediaProcLC
--image-id ami-xxxxxxxx --instance-type
m1.small
Autoscaling workers, step #2

Create an AutoScaling group:
Give the group of instances a name, define the size…




PROMPT> as-create-auto-scaling-group
MediaProcAS --launch-configuration MediaProcLC
--availability-zones us-east-1a us-east-1b --
min-size 1 --max-size 10
Autoscaling workers, step #3

Define the scaling policy:
How do we scale this group?

PROMPT>as-put-scaling-policy MediaProcScaleUp -
-auto-scaling-group MediaProcAS --adjustment=1
--type ChangeInCapacity --cooldown 300

Returns a policy ARN:
POLICY-ARN arn:aws:autoscaling:us-east-
1:0123456789:scalingPolicy/abc-1234- def-567
Amazon CloudWatch
  Monitoring for AWS resources
SQS Data in CloudWatch

Several metrics per queue:

- ApproximateNumberOfMessagesVisible
- NumberOfEmptyReceives
- …


Use these to determine the number of processing nodes!
Autoscaling workers, step #4

Define a Cloudwatch Alarm:
When should the scaling happen?

PROMPT>mon-put-metric-alarm QSizeAlarm
--comparison-operator GreaterThanThreshold
--statistic Average –threshold 100
--evaluation-periods 1 --period 600
--namespace "AWS/SQS”
--metric-name
ApproximateNumberOfMessagesVisible
--dimensions "QueueName=process-req-q”
--alarm-actions POLICY-ARN_from_previous_step

Use Autoscaling for
 batch processing
     workers
Spot Instances

Use spot instances for
  batch processing
      workers
Let’s extend our
processing system…
You can build complex
 networks of queues
But how do you
coordinate the work?
Coordinate
   Manage state
Keep track of failures
 Respond to failures
Amazon
 Simple
Workflow
 Service
Amazon
 SWF
Introducing Amazon SWF

•   Enables scalable, resilient, distributed applications
•   Applications are built as a coordination of tasks

•   Run application workflows and business processes
    in the cloud
•   Accessible anywhere from any programming
    language
•   Programming model and framework


                                                            62
Introducing Amazon SWF

Enables scalable, resilient, distributed applications

•   All application components are stateless
•   Components can be scaled independently
•   SWF provides durable, distributed state
    management




                                                        63
Introducing Amazon SWF

Enables scalable, resilient, distributed applications

•   Components are stateless, failed components can
    be replaced easily
•   SWF keeps track of executed tasks and state,
    timeouts, failures, …
•   Workflow can respond to these failures




                                                        64
Introducing Amazon SWF

Enables scalable, resilient, distributed applications

•   Application components anywhere (EC2, on-
    premise, mobile)
•   Components poll for work using HTTPS, easy to go
    through firewalls
•   No need to keep distributed state
•   Component & network failures are easy to handle


                                                        65
How Amazon SWF works
                                                      Start > Encode video > Add DRM protection > Finish




                                                                                                    Get task
                                                                                 Amazon                                         Worker for
                                                                                  SWF               Long Poll                   encoding
             Web Server Front End

                Accepts video URL,          Start Workflow Execution
             Starts execution with URL                                      Encode Tasks             Return results


                                                                             DRM Tasks
                                                    Return decisions
                                                                           Decision Tasks
                                                                                                    Get task

                                                                                                    Long Poll
                                                           Long poll                                                  Worker for adding
                                                                         Execution History                                 DRM
Decisions:                                                Get task
                                                                       - Input data (Video URL)
1. Schedule encoding of the video
                                                                       - Encode task complete
2. Schedule DRM protection                 DECIDER                                                   Return results
                                                                       - DRM task complete
3. Complete execution              Makes decisions on what tasks to
                                   schedule, when, in what order       - Execution complete
Using Amazon SWF

      Determine
                       Write workers      Start workers
    application flow
                       for activities     and deciders
     and activities




                       Write deciders         Start
    Setup domains         to drive         executions
                       application flow




      Determine                               View
                       Write workflow     executions in
     workflow and
                       initiator code      the console
     activity types




                                                          67
Workflow components

Activity Workers
    Perform activity tasks they receive from SWF
    Different workers for different kinds of tasks


Deciders
    Decide what to do next
    Pick the next step in the workflow based on workflow
     history
Writing Workflow components

Writing Activity Workers
   • Poll for work on a specific task list
   • Do the work, send heartbeats as required
      • Use input data
   • Report success or failure to Amazon SWF
      • You can provide detailed data to the decider
   • Repeat
Writing Workflow components

Writing Deciders
   • Poll for work on a decision task list
   • Evaluate workflow execution history
      • SWF sends full history in JSON format
   • Return decision to Amazon SWF
      • Usually this means scheduling another task
   • Repeat

   All the coordination logic of your application is
   encapsulated in this one component!
AWS Flow Framework
Entire workflow looks like simple, sequential code
Abstracts polling, scheduling tasks, remote execution
Easy to program complex dependencies
 Simple method call to asynchronously execute an application step
 Express dependencies by passing output of one task as input of another.
 Handle remote failures as standard exceptions
Uses Amazon SWF as the backend
Open-sourced on Github.
Currently in Java. Soon in more languages.




                                                                            71
Handling Failures
Timeouts

•   SWF keeps track of execution times on every step
      • Time to start, time to finish, … for every activity task
      • Time to finish for overall workflow
      • Timeouts controlled for each of these (and more)

•   Heartbeats for long-running activities (optional)

•   Decider is informed of timeouts and controls the reaction
       • Schedule retries or
       • Schedule new “mitigation” or cleanup tasks
Failures

-   Workers reply with failure messages when they failed to do
    their work
-   Replies can contain application-specific data
-   Decider can react to these messages accordingly
-   Decider can reschedule, skip incorrect results or even cancel
    the whole workflow execution
SWF and SQS
Amazon SWF compared to SQS

• Centralized control logic        • No centralized logic
• All activities are coordinated   • No coordination between
• Task-oriented                      different queues
• Tasks delivered only once        • Message-oriented

• Tasks run in order               • At-least-once delivery

• Auditable execution history      • “best-effort” order

• Visibility APIs                  • No history maintained

• Flow framework for Java
• Long-running processes
Amazon SWF Pricing

Several dimensions to pricing:
- Workflow executions
       $1 for 10,000 workflows started
-   Actions run
       $0.25 for 10,000 actions
-   History retention
       $0.05 per day for every 10,000 workflows
Notifications
“Push” Notifications
Amazon
  Simple
Notification
  Service
Amazon
 SNS
Amazon SNS Features

- Publish – Subscribe messaging, i.e. “1 to many”
- Define topics
- Multiple subscribers per topic
- Different endpoints for subscribers:
     •   E-Mail
     •   SMS
     •   HTTP(S) POST (delivers JSON messages)
     •   Amazon SQS
Amazon SNS Pricing

2 dimensions:

- Pay per request to the API
        first 100,000 requests / month are free

-   Pay for each notification sent, e.g.
       - 100,000 HTTP notifications are $0.06
       - 100,000 email notifications are $2.00
Amazon SNS Use Case: Monitoring

-   Use CLI tools to publish events from your instances via startup
    scripts etc.
-   Subscribe to events published by AWS infrastructure:
       -   Autoscaling added / removed an instance
       -   CloudWatch alarms
       -   CloudFormation stack setup / teardown


-   Subscribe via eMail for development & testing
-   Connect to your monitoring system via HTTP or SQS endpoint
Amazon CloudWatch
  Monitoring for AWS resources

               +
    Amazon SNS
   Simple Notification Service
Use notifications
You need to know when something's wrong
Amazon SNS Use Case: Decoupling apps

- Use SDKs and API to publish relevant events for your app
- Use topics as part of your API to provide loose coupling
- Other applications can subscribe to topics they care about
- Subscriptions can be changed at any time




-   Subscribe an SQS endpoint for message persistence
-   Subscribe via eMail for development & testing
Use notifications
to tell other systems what’s going on
Use SNS
for 1:many push notifications
#1   Use SQS for loose coupling
#2   Set VisibilityTimeout correctly
#3   Autoscale your queue workers
#4   Use spot instances for (some of) your workers
#5   Use Amazon SWF to coordinate tasks
#6   Use SNS notifications to stay up to date
Q &A
THANK YOU
aws.amazon.com
Reliable Messaging with AWS

More Related Content

What's hot

Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...
Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...
Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...Amazon Web Services
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWSAmazon Web Services
 
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...Amazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...Amazon Web Services
 
AWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Smart Deployment on AWS - Andy KimAWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Smart Deployment on AWS - Andy KimAmazon Web Services Korea
 
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...Amazon Web Services
 
SRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentAmazon Web Services
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSAmazon Web Services
 
HSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and ServerlessHSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and ServerlessAmazon Web Services
 
AWS SQS for better architecture
AWS SQS for better architectureAWS SQS for better architecture
AWS SQS for better architectureSaurabh Bangad
 
Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017
Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017
Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017Amazon Web Services
 
Getting Started with Amazon EC2 and Compute Services
Getting Started with Amazon EC2 and Compute ServicesGetting Started with Amazon EC2 and Compute Services
Getting Started with Amazon EC2 and Compute ServicesAmazon Web Services
 
Accelerating the Transition to Broadcast and OTT Infrastructure in the Cloud
Accelerating the Transition to Broadcast and OTT Infrastructure in the CloudAccelerating the Transition to Broadcast and OTT Infrastructure in the Cloud
Accelerating the Transition to Broadcast and OTT Infrastructure in the CloudAmazon Web Services
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of ComputingAmazon Web Services
 
Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Amazon Web Services
 

What's hot (20)

Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...
Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...
Massive Message Processing with Amazon SQS and Amazon DynamoDB (ARC301) | AWS...
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
 
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
NEW LAUNCH! Introducing AWS Batch: Easy and efficient batch computing on Amaz...
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
AWS re:Invent 2016| GAM303 | Develop Games Using Lumberyard and Leverage AWS ...
 
AWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Smart Deployment on AWS - Andy KimAWS Innovate: Smart Deployment on AWS - Andy Kim
AWS Innovate: Smart Deployment on AWS - Andy Kim
 
Cost Optimization at Scale
Cost Optimization at ScaleCost Optimization at Scale
Cost Optimization at Scale
 
Messaging Systems on AWS
Messaging Systems on AWSMessaging Systems on AWS
Messaging Systems on AWS
 
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
AWS re:Invent 2016: Building SaaS Offerings for Desktop Apps with Amazon AppS...
 
SRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application Development
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECS
 
HSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and ServerlessHSBC and AWS Day - Microservices and Serverless
HSBC and AWS Day - Microservices and Serverless
 
AWS SQS for better architecture
AWS SQS for better architectureAWS SQS for better architecture
AWS SQS for better architecture
 
Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017
Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017
Deep Dive on Microservices and Docker - AWS Summit Cape Town 2017
 
Getting Started with Amazon EC2 and Compute Services
Getting Started with Amazon EC2 and Compute ServicesGetting Started with Amazon EC2 and Compute Services
Getting Started with Amazon EC2 and Compute Services
 
Accelerating the Transition to Broadcast and OTT Infrastructure in the Cloud
Accelerating the Transition to Broadcast and OTT Infrastructure in the CloudAccelerating the Transition to Broadcast and OTT Infrastructure in the Cloud
Accelerating the Transition to Broadcast and OTT Infrastructure in the Cloud
 
Microsoft Best Practices on AWS
Microsoft Best Practices on AWSMicrosoft Best Practices on AWS
Microsoft Best Practices on AWS
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of Computing
 
Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”
 

Viewers also liked

Arduino technical session 1
Arduino technical session 1Arduino technical session 1
Arduino technical session 1Audiomas Soni
 
Introducing Amazon Simple Workflow (Amazon SWF)
Introducing Amazon Simple Workflow (Amazon SWF)Introducing Amazon Simple Workflow (Amazon SWF)
Introducing Amazon Simple Workflow (Amazon SWF)Amazon Web Services
 
(ARC342) Designing & Building An End-To-End Email Solution Using AWS
(ARC342) Designing & Building An End-To-End Email Solution Using AWS(ARC342) Designing & Building An End-To-End Email Solution Using AWS
(ARC342) Designing & Building An End-To-End Email Solution Using AWSAmazon Web Services
 
Big Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSBig Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSAmazon Web Services
 
From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...
From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...
From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...Amazon Web Services
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full TutorialAkshay Sharma
 

Viewers also liked (7)

Amazon Simple Email Service
Amazon Simple Email ServiceAmazon Simple Email Service
Amazon Simple Email Service
 
Arduino technical session 1
Arduino technical session 1Arduino technical session 1
Arduino technical session 1
 
Introducing Amazon Simple Workflow (Amazon SWF)
Introducing Amazon Simple Workflow (Amazon SWF)Introducing Amazon Simple Workflow (Amazon SWF)
Introducing Amazon Simple Workflow (Amazon SWF)
 
(ARC342) Designing & Building An End-To-End Email Solution Using AWS
(ARC342) Designing & Building An End-To-End Email Solution Using AWS(ARC342) Designing & Building An End-To-End Email Solution Using AWS
(ARC342) Designing & Building An End-To-End Email Solution Using AWS
 
Big Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSBig Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWS
 
From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...
From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...
From 0 to 100M+ Emails Per Day: Sending Email with Amazon SES (SVC301) | AWS ...
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full Tutorial
 

Similar to Reliable Messaging with AWS

Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...
Give your little scripts big wings: Using cron in the cloud with Amazon Simp...Amazon Web Services
 
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...Amazon Web Services
 
Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013
Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013
Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013Amazon Web Services
 
MS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsMS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsSpiffy
 
AWS - Migrating Internal IT Applications
AWS - Migrating Internal IT Applications AWS - Migrating Internal IT Applications
AWS - Migrating Internal IT Applications Amazon Web Services
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixPerforce
 
Migrating Internal IT Apps - Jenn Boden
 Migrating Internal IT Apps - Jenn Boden Migrating Internal IT Apps - Jenn Boden
Migrating Internal IT Apps - Jenn BodenAmazon Web Services
 
Bootstrapping - Session 1 - Your First Week with Amazon EC2
Bootstrapping - Session 1 - Your First Week with Amazon EC2Bootstrapping - Session 1 - Your First Week with Amazon EC2
Bootstrapping - Session 1 - Your First Week with Amazon EC2Amazon Web Services
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the CloudRyan Cuprak
 
Docker for Ops - Scott Coulton, Puppet
Docker for Ops - Scott Coulton, PuppetDocker for Ops - Scott Coulton, Puppet
Docker for Ops - Scott Coulton, PuppetDocker, Inc.
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Amazon Web Services
 
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016Amazon Web Services
 
Migrating Jive To The Cloud
Migrating Jive To The CloudMigrating Jive To The Cloud
Migrating Jive To The Cloudmattjive
 
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...Amazon Web Services
 

Similar to Reliable Messaging with AWS (20)

Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...Give your little scripts big wings:  Using cron in the cloud with Amazon Simp...
Give your little scripts big wings: Using cron in the cloud with Amazon Simp...
 
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
 
Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013
Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013
Automated Media Workflows in the Cloud (MED304) | AWS re:Invent 2013
 
MS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applicationsMS Cloud Day - Deploying and monitoring windows azure applications
MS Cloud Day - Deploying and monitoring windows azure applications
 
AWS - Migrating Internal IT Applications
AWS - Migrating Internal IT Applications AWS - Migrating Internal IT Applications
AWS - Migrating Internal IT Applications
 
DB2 for z/OS Solutions
DB2 for z/OS SolutionsDB2 for z/OS Solutions
DB2 for z/OS Solutions
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
Migrating Internal IT Apps - Jenn Boden
 Migrating Internal IT Apps - Jenn Boden Migrating Internal IT Apps - Jenn Boden
Migrating Internal IT Apps - Jenn Boden
 
Wipro-Projects
Wipro-ProjectsWipro-Projects
Wipro-Projects
 
How Postman adopted Docker
How Postman adopted DockerHow Postman adopted Docker
How Postman adopted Docker
 
Bootstrapping - Session 1 - Your First Week with Amazon EC2
Bootstrapping - Session 1 - Your First Week with Amazon EC2Bootstrapping - Session 1 - Your First Week with Amazon EC2
Bootstrapping - Session 1 - Your First Week with Amazon EC2
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the Cloud
 
Docker for Ops - Scott Coulton, Puppet
Docker for Ops - Scott Coulton, PuppetDocker for Ops - Scott Coulton, Puppet
Docker for Ops - Scott Coulton, Puppet
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Netflix conductor
Netflix conductorNetflix conductor
Netflix conductor
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
 
Migrating Jive To The Cloud
Migrating Jive To The CloudMigrating Jive To The Cloud
Migrating Jive To The Cloud
 
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Reliable Messaging with AWS

  • 2. Technical knowledge of AWS • Cloud architecture concepts • Understand when to use which of our services
  • 3. Amazon Web Services is all about FLEXIBILITY
  • 4. AWS is a set of infrastructure building blocks
  • 6.
  • 7.
  • 8.
  • 10. Use Queues as buffers • Loose coupling of components • Make your system more resilient
  • 11.
  • 12.
  • 13.
  • 16. Amazon Simple Queue Service - Highly reliable, distributed, scalable message queue - Asynchronous communication between components - Not all components have to be available all the time - Buffer messages when producing / consuming at different speeds - Many senders, many recipients sharing the same queue - 1:1 communication: each message has one recipient
  • 17. Amazon SQS - Use different queues for different purposes, applications etc. - Message retention - Delays - Visibility timeout - Send SQS messages from one AWS account to another - Send messages to SQS from your mobile app or data center
  • 18. Amazon SQS – How does it work? - Someone (usually the sender) creates the queue - Senders put messages into the queue - User-defined format (up to 64 KB) - Receivers - take messages off the queue… - … process the data, … - … and delete the message from the queue
  • 19. Put a message in the queue $q = new SQSClient(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, SQS_ENDPOINT); try{ $result = $q->CreateQueue(‘process-req-q’); //echo 'Queue Created: ', $result,’n<br/>’; } catch(Exception $e){ throw($e); } $messageId = $q->SendMessage(“s3://$bucket/$key”);
  • 20. Take messages off the queue $q = new SQSClient(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, SQS_ENDPOINT,‘process-req-q’); // poll until there’s a message available do { $nextMessage = $q->ReceiveMessage(1); } while ( count($nextMessage) == 0); foreach ($nextMessage as $message) { $S3URL = $message->Body; $handle = $message->ReceiptHandle; // keep this! // TODO: Get file from $S3URL and process it $q->DeleteMessage($handle); }
  • 21. Amazon Simple Queue Service - Simpler than most message queues - No admin required - No setup required - Amazon SQS is affordable: $0.01 per 10,000 requests
  • 22. « Everything fails all the time » Werner Vogels – CTO of Amazon
  • 23. Failures Receiver can fail after taking message off the queue - Network partition - Instance failure - OS failure - Code bug What happens to the message when the receiver dies while processing it?
  • 26.
  • 27.
  • 33. 31s / timeout: 30s Timer is reset, message is visible again
  • 35. “At-least-once delivery” Takeaways: - Set VisibilityTimeout long enough to allow for processing - Delete messages when you’re done with them - Processing must be idempotent (in case the same message arrives more than once)
  • 36. Auto Scaling Automatically scale up/down EC2 capacity
  • 37.
  • 38.
  • 39. Autoscaling workers, step #1 Create a launch configuration: What kind of instances should we launch? PROMPT> as-create-launch-config MediaProcLC --image-id ami-xxxxxxxx --instance-type m1.small
  • 40. Autoscaling workers, step #2 Create an AutoScaling group: Give the group of instances a name, define the size… PROMPT> as-create-auto-scaling-group MediaProcAS --launch-configuration MediaProcLC --availability-zones us-east-1a us-east-1b -- min-size 1 --max-size 10
  • 41. Autoscaling workers, step #3 Define the scaling policy: How do we scale this group? PROMPT>as-put-scaling-policy MediaProcScaleUp - -auto-scaling-group MediaProcAS --adjustment=1 --type ChangeInCapacity --cooldown 300 Returns a policy ARN: POLICY-ARN arn:aws:autoscaling:us-east- 1:0123456789:scalingPolicy/abc-1234- def-567
  • 42. Amazon CloudWatch Monitoring for AWS resources
  • 43. SQS Data in CloudWatch Several metrics per queue: - ApproximateNumberOfMessagesVisible - NumberOfEmptyReceives - … Use these to determine the number of processing nodes!
  • 44. Autoscaling workers, step #4 Define a Cloudwatch Alarm: When should the scaling happen? PROMPT>mon-put-metric-alarm QSizeAlarm --comparison-operator GreaterThanThreshold --statistic Average –threshold 100 --evaluation-periods 1 --period 600 --namespace "AWS/SQS” --metric-name ApproximateNumberOfMessagesVisible --dimensions "QueueName=process-req-q” --alarm-actions POLICY-ARN_from_previous_step
  • 45.  Use Autoscaling for batch processing workers
  • 47.
  • 48.  Use spot instances for batch processing workers
  • 50.
  • 51.
  • 52.
  • 53. You can build complex networks of queues
  • 54. But how do you coordinate the work?
  • 55. Coordinate Manage state Keep track of failures Respond to failures
  • 58. Introducing Amazon SWF • Enables scalable, resilient, distributed applications • Applications are built as a coordination of tasks • Run application workflows and business processes in the cloud • Accessible anywhere from any programming language • Programming model and framework 62
  • 59. Introducing Amazon SWF Enables scalable, resilient, distributed applications • All application components are stateless • Components can be scaled independently • SWF provides durable, distributed state management 63
  • 60. Introducing Amazon SWF Enables scalable, resilient, distributed applications • Components are stateless, failed components can be replaced easily • SWF keeps track of executed tasks and state, timeouts, failures, … • Workflow can respond to these failures 64
  • 61. Introducing Amazon SWF Enables scalable, resilient, distributed applications • Application components anywhere (EC2, on- premise, mobile) • Components poll for work using HTTPS, easy to go through firewalls • No need to keep distributed state • Component & network failures are easy to handle 65
  • 62. How Amazon SWF works Start > Encode video > Add DRM protection > Finish Get task Amazon Worker for SWF Long Poll encoding Web Server Front End Accepts video URL, Start Workflow Execution Starts execution with URL Encode Tasks Return results DRM Tasks Return decisions Decision Tasks Get task Long Poll Long poll Worker for adding Execution History DRM Decisions: Get task - Input data (Video URL) 1. Schedule encoding of the video - Encode task complete 2. Schedule DRM protection DECIDER Return results - DRM task complete 3. Complete execution Makes decisions on what tasks to schedule, when, in what order - Execution complete
  • 63. Using Amazon SWF Determine Write workers Start workers application flow for activities and deciders and activities Write deciders Start Setup domains to drive executions application flow Determine View Write workflow executions in workflow and initiator code the console activity types 67
  • 64. Workflow components Activity Workers  Perform activity tasks they receive from SWF  Different workers for different kinds of tasks Deciders  Decide what to do next  Pick the next step in the workflow based on workflow history
  • 65. Writing Workflow components Writing Activity Workers • Poll for work on a specific task list • Do the work, send heartbeats as required • Use input data • Report success or failure to Amazon SWF • You can provide detailed data to the decider • Repeat
  • 66. Writing Workflow components Writing Deciders • Poll for work on a decision task list • Evaluate workflow execution history • SWF sends full history in JSON format • Return decision to Amazon SWF • Usually this means scheduling another task • Repeat All the coordination logic of your application is encapsulated in this one component!
  • 67. AWS Flow Framework Entire workflow looks like simple, sequential code Abstracts polling, scheduling tasks, remote execution Easy to program complex dependencies  Simple method call to asynchronously execute an application step  Express dependencies by passing output of one task as input of another.  Handle remote failures as standard exceptions Uses Amazon SWF as the backend Open-sourced on Github. Currently in Java. Soon in more languages. 71
  • 69. Timeouts • SWF keeps track of execution times on every step • Time to start, time to finish, … for every activity task • Time to finish for overall workflow • Timeouts controlled for each of these (and more) • Heartbeats for long-running activities (optional) • Decider is informed of timeouts and controls the reaction • Schedule retries or • Schedule new “mitigation” or cleanup tasks
  • 70. Failures - Workers reply with failure messages when they failed to do their work - Replies can contain application-specific data - Decider can react to these messages accordingly - Decider can reschedule, skip incorrect results or even cancel the whole workflow execution
  • 72.
  • 73.
  • 74.
  • 75.
  • 76. Amazon SWF compared to SQS • Centralized control logic • No centralized logic • All activities are coordinated • No coordination between • Task-oriented different queues • Tasks delivered only once • Message-oriented • Tasks run in order • At-least-once delivery • Auditable execution history • “best-effort” order • Visibility APIs • No history maintained • Flow framework for Java • Long-running processes
  • 77. Amazon SWF Pricing Several dimensions to pricing: - Workflow executions $1 for 10,000 workflows started - Actions run $0.25 for 10,000 actions - History retention $0.05 per day for every 10,000 workflows
  • 82. Amazon SNS Features - Publish – Subscribe messaging, i.e. “1 to many” - Define topics - Multiple subscribers per topic - Different endpoints for subscribers: • E-Mail • SMS • HTTP(S) POST (delivers JSON messages) • Amazon SQS
  • 83. Amazon SNS Pricing 2 dimensions: - Pay per request to the API first 100,000 requests / month are free - Pay for each notification sent, e.g. - 100,000 HTTP notifications are $0.06 - 100,000 email notifications are $2.00
  • 84. Amazon SNS Use Case: Monitoring - Use CLI tools to publish events from your instances via startup scripts etc. - Subscribe to events published by AWS infrastructure: - Autoscaling added / removed an instance - CloudWatch alarms - CloudFormation stack setup / teardown - Subscribe via eMail for development & testing - Connect to your monitoring system via HTTP or SQS endpoint
  • 85. Amazon CloudWatch Monitoring for AWS resources + Amazon SNS Simple Notification Service
  • 86. Use notifications You need to know when something's wrong
  • 87. Amazon SNS Use Case: Decoupling apps - Use SDKs and API to publish relevant events for your app - Use topics as part of your API to provide loose coupling - Other applications can subscribe to topics they care about - Subscriptions can be changed at any time - Subscribe an SQS endpoint for message persistence - Subscribe via eMail for development & testing
  • 88. Use notifications to tell other systems what’s going on
  • 89. Use SNS for 1:many push notifications
  • 90. #1 Use SQS for loose coupling #2 Set VisibilityTimeout correctly #3 Autoscale your queue workers #4 Use spot instances for (some of) your workers #5 Use Amazon SWF to coordinate tasks #6 Use SNS notifications to stay up to date
  • 91. Q &A