SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Cloud computing with Amazon Web Services, Part
      4: Reliable messaging with SQS
      Skill Level: Introductory


      Prabhakar Chaganti (prabhakar@ylastic.com)
      CTO
      Ylastic, LLC.



      02 Dec 2008


      In this series, learn about cloud computing using Amazon Web Services. Explore
      how the services provide a compelling alternative for architecting and building
      scalable, reliable applications. In this article, learn about the reliable and scalable
      messaging service provided by Amazon Simple Queue Service (SQS).


      Amazon SQS
      Amazon Simple Queue Service (SQS) is a scalable and reliable messaging
      framework that makes it simple to create, store, and retrieve text messages. You
      can use it as a base for gluing together your Amazon Web Services-based
      applications. Using SQS is a great way to build Web-scale applications that are truly
      decoupled. You pay for the messages based entirely upon your usage. The whole
      queuing framework runs inside the secure environment of Amazon’s own data
      centers.

      Some of the most features provided by SQS are:
      Reliability
           SQS is designed to store the messages redundantly across multiple data
           centers and to make them available at all times.

      Simplicity
          The programming model for accessing and using SQS is simple and can be
          used from a variety of programming languages.

      Security


Reliable messaging with SQS
© Copyright IBM Corporation 1994, 2008. All rights reserved.                                    Page 1 of 12
developerWorks®                                                                                 ibm.com/developerWorks



             SQS is designed to provide a high level of security. Access to messages is
             restricted to authorized users.

     Scalability
          SQS gives you the ability to create queue-based applications that can read and
          write unlimited messages, with no restrictions or limits.

     Inexpensive
          SQS rates make it a very economical and compelling alternative for your
          messaging needs.


     The rest of this section explores the concepts that underpin the SQS framework.

     Messages

     Messages contain text data up to 8KB in size. Each message is stored until it is
     retrieved by a receiving application. A visibility timeout value, in seconds, is specified
     when the receiving application reads a message from a queue. This acts more like a
     lock and ensures that, for the specified time period:
               • The retrieved message will not be available to any other consumer of the
                 queue.
               • The message will only reappear in the queue when the timeout period
                 expires if, and only if, it has not been deleted by the reading process.

     Messages are retained in a queue for four days.
                          Amazon CTO Werner Vogels has a discussion of the rationale for
                          eventual consistency on his blog (see Resources).


     SQS will automatically delete any messages that have been in your queues longer
     than four days. SQS follows the model of "eventual consistency," meaning you can
     send a message to the queue, but a consumer of that queue may not see the
     message for some significant period of time. The message will eventually be
     delivered, but this is an important consideration if your application cares about the
     order of the messages.

     A message consists of the parts shown in Table 1.

     Table 1. Parts of a message
      Part                                                 Description
      MessageId                                            A unique ID that references the message.
      ReceiptHandle                                        A unique handle that's returned when a message
                                                           is received from a queue. This handle is different
                                                           each time you receive a message from the
                                                           queue. It is required when you delete the


Reliable messaging with SQS
Page 2 of 12                                                   © Copyright IBM Corporation 1994, 2008. All rights reserved.
ibm.com/developerWorks                                                                                 developerWorks®




                                                               message.
      MD5OfBody                                                The MD5 digest of the non-URL-encoded
                                                               message body string.
      Body                                                     The actual message data.


      Queues

      Queues are containers for the messages. Each message must specify a queue that
      will hold it. Messages sent to a queue remain on the queue until you explicitly delete
      them. The ordering of the queue is FIFO (first in, first out), but the order is not
      guaranteed. Each queue has a default visibility timeout of 30 seconds. You can
      change this value for the entire queue, or it can be individually set for each message
      on retrieval. The maximum visibility timeout for a queue or message is two hours
      (7200 seconds). SQS reserves the right to automatically delete queues if there has
      been no activity in the queue for 30 consecutive days.

      Design considerations

      SQS is a little different from the common queue frameworks. There are three things
      you must consider before designing your SQS-based applications:

                • SQS does not guarantee order of the messages in a queue.
                  The messages are loosely ordered in the queue; they are not really stored
                  in the order in which they are added to the queue. SQS will try to preserve
                  the order in messages, but it is not guaranteed that you will receive
                  messages in the exact order you sent them. If the ordering of messages
                  is important to your application, you will need to add sequencing data to
                  each message.

                • SQS does not guarantee deletion of a message in the queue.
                  You must design your application so that it is not affected if the same
                  message is processed more than once. Each of your messages is stored
                  on multiple servers by SQS to provide redundancy and high availability. If
                  one of these multiple servers becomes unavailable while a message is
                  being deleted, it is possible, in rare circumstances, to get a message copy
                  again while retrieving messages.

                • SQS does not guarantee that all the messages in the queue will be
                  returned when queried.
                  SQS uses message sampling based on weighted random distribution,
                  and it returns messages only from the sampled subset of servers when
                  you query for messages. Even though a particular request may not return
                  all messages in the queue, if you keep retrieving from the queue it will


Reliable messaging with SQS
© Copyright IBM Corporation 1994, 2008. All rights reserved.                                               Page 3 of 12
developerWorks®                                                                        ibm.com/developerWorks



                  end up sampling all of the servers and you'll get all your messages.

     API versions

     Currently there are two different versions of SQS available: the original version
     (2007-05-01) and a more recent version released earlier this year (2008-01-01).
     Each version of the API is commonly referred to using the date of the release. The
     2007-05-01 API will sunset on May 6, 2009, after which only the latest version of the
     API will be supported. It is strongly advised that users:
               • Start migrating any applications they've built using the older API version
                 as soon as possible.
               • To minimize any disruptions, use the latest version of the API when
                 creating new applications with SQS.

     The 2008-01-01 version updated the pricing, which will bring down the cost of SQS
     usage for most users, and included additional features and modifications. However,
     it also introduced significant and incompatible changes with the older APIs. All
     libraries and tools that are built on the older version will need to be modified. A
     detailed description of the changes between the versions is available on the SQS
     Web site (see Resources).


     Pricing
     The following pricing details are only for the 2008-01-01 version. (You can get the
     details of the pricing structure for the older versions on the SQS site (see
     Resources). Pricing is based on:

               • The number of requests made to SQS, which includes the following
                 operations:
                    • CreateQueue
                    • ListQueues
                    • DeleteQueue
                    • SendMessage
                    • ReceiveMessage
                    • DeleteMessage
                    • SetQueueAttributes
                    • GetQueueAttributes


Reliable messaging with SQS
Page 4 of 12                                          © Copyright IBM Corporation 1994, 2008. All rights reserved.
ibm.com/developerWorks                                                                    developerWorks®




                    Table 2. Pricing for requests
                     Type                       Cost
                     Request to                 $0.000001
                     SQS                        per
                                                request


                  • The amount of data transferred to and from SQS. There is no charge for
                    data transferred between SQS and EC2 instances.

                    Table 3. Pricing for data transfer
                     Type of transfer                          Cost
                     All data transfer                         $0.100 per GB - all data
                                                               transfer in
                                                               $0.170 per GB - first
                                                               10TB / month data
                                                               transfer out
                                                               $0.130 per GB - next
                                                               40TB / month data
                                                               transfer out
                                                               $0.110 per GB - next
                                                               100TB / month data
                                                               transfer out
                                                               $0.100 per GB - data
                                                               transfer out / month
                                                               over 150TB


      Check Amazon SQS for the latest pricing information. You can also use the Amazon
      Web Services Simple Monthly Calculator tool for calculating your monthly usage
      costs for SQS and the other Amazon Web Services (see Resources).


      Getting started with Amazon Web Services and SQS
      To start exploring SQS, you will first need to sign up for an Amazon Web Services
      account (see Resources). See Part 2 of this series for detailed instructions on
      signing up for Amazon Web Services.

      Once you have an Amazon Web Services account, you must enable Amazon SQS
      service for your account using the following steps.

             1.     Log in to your Amazon Web Services account.

             2.     Navigate to the SQS home page.

             3.     Click Sign Up For Amazon SQS on the right side.


Reliable messaging with SQS
© Copyright IBM Corporation 1994, 2008. All rights reserved.                                  Page 5 of 12
developerWorks®                                                                       ibm.com/developerWorks




            4.    Provide the requested information and complete the sign-up process.


     All communication with any of the Amazon Web Services is through either the SOAP
     interface or the query interface. In this article, you use the query interface by way of
     a third-party library to communicate with SQS.

     You will need to obtain your access keys, which you can access from your Web
     Services Account information page by selecting View Access Key Identifiers. You
     are now set up to use Amazon Web Services, and have enabled SQS service for
     your account.


     Interacting with SQS
     For this example, you use an open source third-party python library named boto to
     become familiar with SQS by running small snippets of code in a python shell.

     Install boto and set up your environment

     Download boto from the project page. The latest version, as of the writing of this
     article, was 1.4c. Unzip the archive to the directory of your choice. Change into this
     directory and run setup.py to install boto into your local python environment, as
     shown in Listing 1.

     Listing 1. Install boto

       $ cd directory_where_you_unzipped_boto
       $ python setup.py install


     Set up some environment variables to point to the Amazon Web Services access
     keys. The access keys are available from Web Services Account information.

     Listing 2. Set up environment variables

       # Export variables with your AWS access keys
       $ export AWS_ACCESS_KEY_ID=Your_AWS_Access_Key_ID
       $ export AWS_SECRET_ACCESS_KEY=Your_AWS_Secret_Access_Key


     Check to make sure everything is set up correctly by starting a python shell and
     importing the boto library, as shown in Listing 3.

     Listing 3. Check the setup

       $ python
       Python 2.4.5 (#1, Apr 12 2008, 02:18:19)
       [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin


Reliable messaging with SQS
Page 6 of 12                                         © Copyright IBM Corporation 1994, 2008. All rights reserved.
ibm.com/developerWorks                                                                  developerWorks®




       Type "help", "copyright", "credits" or "license" for more
       information.
       >>> import boto
       >>>


      Explore SQS with boto

      Use the SQSConnection class to provide the main interface for the interaction with
      SQS. The medium for the usage of boto is the python console. The example calls
      different methods on the SQSConnection object and examines the responses
      returned by SQS, which will help you get familiar with the API while you explore the
      concepts behind SQS.

      The first step is to create a connection object to SQS using the Amazon Web
      Services access keys that you exported earlier to your environment. The boto library
      always checks the environment first to see if these variables are set. If they are set,
      boto automatically uses them when it creates the connection.

      Listing 4. Create a connection to SQS

       >>> import boto
       >>> sqs_conn = boto.connect_sqs()
       >>>


      For the rest of this article you can use the sqs_conn object, created above, to
      interact with SQS. You can create a queue by specifying a name for the queue,
      along with an optional visibility timeout value. If you omit a value for the timeout, boto
      will create the queue with the default value of 30 seconds provided by SQS.

      Listing 5. Create a queue

       >>>   q1 = sqs_conn.create_queue('devworks-sqs-1')
       >>>
       >>>   q1.get_timeout()
       30
       >>>   q2 = sqs_conn.create_queue('devworks-sqs-2', 60)
       >>>
       >>>   q2.get_timeout()
       60
       >>>


      Retrieve a list of all your queues, which returns a resultset object that is essentially a
      python list, as shown in Listing 6. You can iterate over this list and access all
      pertinent information for each queue.

      Listing 6. List all the queues

       >>> all_queues = sqs_conn.get_all_queues()
       >>>
       >>> len(all_queues)
       2
       >>>


Reliable messaging with SQS
© Copyright IBM Corporation 1994, 2008. All rights reserved.                                 Page 7 of 12
developerWorks®                                                                       ibm.com/developerWorks




       >>> for q in all_queues:
       ...     print q.id
       ...     print q.count()
       ...     print q.get_timeout()
       ...     print q.url
       ...
       /devworks-sqs-1
       0
       30
       http://queue.amazonaws.com/devworks-sqs-1
       /devworks-sqs-2
       0
       60
       http://queue.amazonaws.com/devworks-sqs-2



     You must delete all the messages in a queue before deleting the queue. There is a
     clear() method in boto that you can use to delete all the messages in a queue.

     Listing 7. Clear and delete queues

       >>> q2.clear()
       0
       >>> sqs_conn.delete_queue(q2)
       True
       >>>


     You can send text messages with a maximum size of 8KB to a queue. Create a new
     message by using the boto Message class, as shown in Listing 8.

     Listing 8. Send a message

       >>> from boto.sqs.message import Message
       >>>
       >>> m1 = Message()
       >>>
       >>> m1.set_body('Hi there devworks!')
       >>>
       >>> status = q1.write(m1)
       >>>
       >>> print status
       True
       >>>


     Retrieval of messages for a queue returns a resultset object that is a python list
     containing message objects. Each message object has a unique ID and a receipt
     handle associated with it. When you read a message from a queue, that message
     automatically becomes invisible to all other consumers of the queue until the visibility
     timeout period set for the queue expires. After the expiration, the message once
     appears in the queue, giving another consumer the chance to retrieve the message
     and process it. However, if the message is deleted from the queue before the
     expiration of the visibility timeout, it is gone forever and will not appear in the queue
     again.



Reliable messaging with SQS
Page 8 of 12                                         © Copyright IBM Corporation 1994, 2008. All rights reserved.
ibm.com/developerWorks                                                            developerWorks®



      Listing 9. Retrieve a message

       >>> msgs = q1.get_messages()
       >>>
       >>> len(msgs)
       1
       >>>
       >>> for msg in msgs:
       ...     print "Message ID: ",msg.id
       ...     print "Message Handle: ",msg.receipt_handle
       ...     print "Queue ID: ", msg.queue.id
       ...     print "Message Body: ", msg.get_body()
       ...
       Message ID: 9a930aaf-87de-48ad-894d-b22dd0b1cd1b
       Message Handle:
       Prl0vft3nRjgDDT33svtLnzyPQGWFpRusXdn2v3Lwq+TDtD3hk3aBKbSH1mGc4hzO/VZO
       IC0RFyAd7MhbJKPGHn3x35CTz9dAQeNoKYAHiwERXc/xrYXBLGngyuJI+kGmbjvIKqA/wpfQpqzPk2bVA==
       Queue ID:      /devworks-sqs-1
       Message Body:       Hi there devworks!
       >>>


      You can retrieve more than one message by specifying the number of messages.
      The default option in boto is to return one message. Let’s add another message to
      the queue and then retrieve all the messages, as shown in Listing 10. Keep in mind
      that it might take a minute or so for a newly added message to show up in the
      queue.

      Listing 10. Retrieve multiple messages

       >>> m2 = Message()
       >>>
       >>> m2.set_body('Still there?')
       >>>
       >>> status = q1.write(m2)
       >>>
       >>> print status
       True
       >>>
       >>> msgs = q1.get_messages(10)
       >>>
       >>> len(msgs)
       2
       >>>
       >>> for msg in msgs:
       ...     print "Message ID: ",msg.id
       ...     print "Message Handle: ",msg.receipt_handle
       ...     print "Queue ID: ", msg.queue.id
       ...     print "Message Body: ", msg.get_body()
       ...     print "*"*80
       ...
       Message ID: 9a930aaf-87de-48ad-894d-b22dd0b1cd1b
       Message Handle:
       Prl0vft3nRjgDDT33svtLnzyPQGWFpRusXdn2v3Lwq+TDtD3hk3aBKbSH1mGc4hzO/VZOIC0R
       FyAd7MhbJKPGHn3x35CTz9dAQeNoKYAHiwERXc/xrYXBLGngyuJI+kGmbjvIKqA/wpfQpqzPk2bVA==
       Queue ID:      /devworks-sqs-1
       Message Body:       Hi there devworks!




Reliable messaging with SQS
© Copyright IBM Corporation 1994, 2008. All rights reserved.                             Page 9 of 12
developerWorks®                                                                        ibm.com/developerWorks




       Message ID:     ce1632b3-0a6e-4ee2-a5b0-b2e9821d150f
       Message Handle:
       Prl0vft3nRiRunVNVvjOQEc7Tm+uSBQpW4bZcpFMbzWTDtD3hk3aBKbSH1mGc4hzO/VZOIC0R
       FxbhtlykUxvNbRQNWJqrMXrxj5m6GwhA7iX0Nu9mqjo+9/hnda8Ou0df+LQ3dOMfXSybzbhed128w==
       Queue ID:    /devworks-sqs-1
       Message Body:     Still there?
       >>>


     Messages can be deleted from a queue by invoking the delete_message().
     Remember, you must delete all the messages in a queue before you delete a queue.

     Listing 11. Delete a message

       >>> msgs = q1.get_messages()
       >>>
       >>> len(msgs)
       1
       >>> print msgs[0].get_body()
       Hi there devworks!
       >>>
       >>> q1.delete_message(msgs[0])
       True
       >>>



     Conclusion
     This article introduced you to Amazon’s SQS service. You learned some of the basic
     concepts and explored some of the functions provided by boto, an open source
     python library for interacting with SQS. It is highly recommended that you read the
     Amazon SQS Developer Guide for more information (see Resources).

     Stay tuned for Part 5 in this series, which will examine Amazon SimpleDB for
     dataset processing in the cloud.




Reliable messaging with SQS
Page 10 of 12                                         © Copyright IBM Corporation 1994, 2008. All rights reserved.
ibm.com/developerWorks                                                             developerWorks®




      Resources
      Learn
         • Check out the other parts in this series:
                • Part 1, "Introduction: When it's smarter to rent than to buy"
                • Part 2, "Storage in the cloud with Amazon Simple Storage Service (S3)"
                • Part 3, "Servers on demand with EC2"

         • Learn about specific Amazon Web Services:
                • Amazon Simple Storage Service (S3)
                • Amazon Elastic Compute Cloud (EC2)
                • Amazon Simple Queue Service (SQS)
                • Amazon SimpleDB (SDB)
                • The Service Health Dashboard is updated by the Amazon team and
                  provides the current status of each service.
                • The latest happenings in the world of Amazon Web Services are on the
                  blog.

         • Sign up for an Amazon Web Services account.
         • The Amazon Web Services Developer Connection is the gateway to all the
           developer resources.
         • The Amazon SQS Developer Guide contains information on the various
           components of SQS, along with advanced usage and configuration.
         • Migrating to Amazon SQS API Version 2008-01-01 (Amazon Articles &
           Tutorials) describes the changes in the 2008-01-01 version.
         • Use the Simple Monthly Calculator for calculating your monthly usage costs for
           EC2 and the other Amazon Web Services.
         • Check out Werner Vogel's blog for a discussion of the rationale for eventual
           consistency.
         • Get the RSS feed for this series.
         • In the Architecture area on developerWorks, get the resources you need to
           advance your skills in the architecture arena.
         • Browse the technology bookstore for books on these and other technical topics.



Reliable messaging with SQS
© Copyright IBM Corporation 1994, 2008. All rights reserved.                              Page 11 of 12
developerWorks®                                                                      ibm.com/developerWorks



     Get products and technologies
        • Download IBM product evaluation versions and get your hands on application
          development tools and middleware products from DB2®, Lotus®, Rational,
          Tivoli® and WebSphere.
     Discuss
        • Check out developerWorks blogs and get involved in the developerWorks
          community.



     About the author
     Prabhakar Chaganti
     Prabhakar Chaganti is the CTO of Ylastic, a start-up that is building a single unified
     interface to architect, manage, and monitor a user's entire AWS Cloud computing
     environment: EC2, S3, SQS and SimpleDB. He is the author of two recent books,
     Xen Virtualization and GWT Java AJAX Programming. He is also the winner of the
     community choice award for the most innovative virtual appliance in the VMware
     Global Virtual Appliance Challenge.




     Trademarks
     IBM, the IBM logo, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, and
     WebSphere are trademarks or registered trademarks of International Business
     Machines Corporation in the United States, other countries, or both. These and other
     IBM trademarked terms are marked on their first occurrence in this information with
     the appropriate symbol (® or ™), indicating US registered or common law
     trademarks owned by IBM at the time this information was published. Such
     trademarks may also be registered or common law trademarks in other countries. A
     current list of IBM trademarks is available on the Web at
     http://www.ibm.com/legal/copytrade.shtml.
     Other company, product, or service names may be trademarks or service marks of
     others.




Reliable messaging with SQS
Page 12 of 12                                       © Copyright IBM Corporation 1994, 2008. All rights reserved.

Más contenido relacionado

La actualidad más candente

MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012Amazon Web Services
 
MED203 Scalable Media Processing - AWS re: Invent 2012
MED203 Scalable Media Processing - AWS re: Invent 2012MED203 Scalable Media Processing - AWS re: Invent 2012
MED203 Scalable Media Processing - AWS re: Invent 2012Amazon Web Services
 
Scalable Media Workflows on the Cloud
Scalable Media Workflows on the Cloud Scalable Media Workflows on the Cloud
Scalable Media Workflows on the Cloud Amazon Web Services
 
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online SeriesAmazon Web Services Korea
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsEucalyptus Systems, Inc.
 
AWS Boot Camp in Taipei
AWS Boot Camp in TaipeiAWS Boot Camp in Taipei
AWS Boot Camp in TaipeiErnest Chiang
 
Aws security overview q3 2010 v2
Aws security overview q3 2010 v2Aws security overview q3 2010 v2
Aws security overview q3 2010 v2ReadMaloney
 
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...lanfranf
 
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信Amazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
 
Keynote: Your Future With Cloud Computing - Dr. Werner Vogels - AWS Summit 2...
Keynote: Your Future With Cloud Computing - Dr. Werner Vogels  - AWS Summit 2...Keynote: Your Future With Cloud Computing - Dr. Werner Vogels  - AWS Summit 2...
Keynote: Your Future With Cloud Computing - Dr. Werner Vogels - AWS Summit 2...Amazon Web Services
 
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 AustraliaBest Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 AustraliaAmazon Web Services
 
Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Developmentelliando dias
 
Infraestructure WMWARE
Infraestructure  WMWAREInfraestructure  WMWARE
Infraestructure WMWAREaktivfinger
 
Windows Azure Platform - The Color of Cloud Computing
Windows Azure Platform - The Color of Cloud ComputingWindows Azure Platform - The Color of Cloud Computing
Windows Azure Platform - The Color of Cloud ComputingGeorge Kanellopoulos
 

La actualidad más candente (20)

MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
 
Masterclass Webinar: Amazon S3
Masterclass Webinar: Amazon S3Masterclass Webinar: Amazon S3
Masterclass Webinar: Amazon S3
 
MED203 Scalable Media Processing - AWS re: Invent 2012
MED203 Scalable Media Processing - AWS re: Invent 2012MED203 Scalable Media Processing - AWS re: Invent 2012
MED203 Scalable Media Processing - AWS re: Invent 2012
 
Eucalyptus 3 Product Overview
Eucalyptus 3 Product OverviewEucalyptus 3 Product Overview
Eucalyptus 3 Product Overview
 
Scalable Media Workflows on the Cloud
Scalable Media Workflows on the Cloud Scalable Media Workflows on the Cloud
Scalable Media Workflows on the Cloud
 
Introduction to AWS tools
Introduction to AWS toolsIntroduction to AWS tools
Introduction to AWS tools
 
Eucalyptus 3 Product Overview
Eucalyptus 3 Product OverviewEucalyptus 3 Product Overview
Eucalyptus 3 Product Overview
 
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
마이크로 서비스 아키텍처와 앱 모던화 – 김일호 :: AWS Builders Online Series
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
 
AWS Boot Camp in Taipei
AWS Boot Camp in TaipeiAWS Boot Camp in Taipei
AWS Boot Camp in Taipei
 
Aws security overview q3 2010 v2
Aws security overview q3 2010 v2Aws security overview q3 2010 v2
Aws security overview q3 2010 v2
 
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
 
Enterprise Applications on AWS
Enterprise Applications on AWSEnterprise Applications on AWS
Enterprise Applications on AWS
 
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
 
Keynote: Your Future With Cloud Computing - Dr. Werner Vogels - AWS Summit 2...
Keynote: Your Future With Cloud Computing - Dr. Werner Vogels  - AWS Summit 2...Keynote: Your Future With Cloud Computing - Dr. Werner Vogels  - AWS Summit 2...
Keynote: Your Future With Cloud Computing - Dr. Werner Vogels - AWS Summit 2...
 
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 AustraliaBest Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
Best Practices: Microsoft on AWS - Miles Ward - AWS Summit 2012 Australia
 
Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Development
 
Infraestructure WMWARE
Infraestructure  WMWAREInfraestructure  WMWARE
Infraestructure WMWARE
 
Windows Azure Platform - The Color of Cloud Computing
Windows Azure Platform - The Color of Cloud ComputingWindows Azure Platform - The Color of Cloud Computing
Windows Azure Platform - The Color of Cloud Computing
 

Destacado

Social Media: Turning The Internet Into A Conversation
Social Media: Turning The Internet Into A ConversationSocial Media: Turning The Internet Into A Conversation
Social Media: Turning The Internet Into A Conversationwhite paper
 
Facebook, Brands and TV Preview Next Conference 2010 Berlin
Facebook, Brands and TV  Preview Next Conference 2010 BerlinFacebook, Brands and TV  Preview Next Conference 2010 Berlin
Facebook, Brands and TV Preview Next Conference 2010 BerlinZucker.Kommunikation
 
Smart multichannel customer interaction management at Iberdrola, one of the w...
Smart multichannel customer interaction management at Iberdrola, one of the w...Smart multichannel customer interaction management at Iberdrola, one of the w...
Smart multichannel customer interaction management at Iberdrola, one of the w...Altitude Software
 
A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...
A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...
A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...white paper
 

Destacado (7)

Handsurgerymanualwebsite
HandsurgerymanualwebsiteHandsurgerymanualwebsite
Handsurgerymanualwebsite
 
Social Media: Turning The Internet Into A Conversation
Social Media: Turning The Internet Into A ConversationSocial Media: Turning The Internet Into A Conversation
Social Media: Turning The Internet Into A Conversation
 
Facebook, Brands and TV Preview Next Conference 2010 Berlin
Facebook, Brands and TV  Preview Next Conference 2010 BerlinFacebook, Brands and TV  Preview Next Conference 2010 Berlin
Facebook, Brands and TV Preview Next Conference 2010 Berlin
 
Out in sport
Out in sportOut in sport
Out in sport
 
The Women's Game
The Women's GameThe Women's Game
The Women's Game
 
Smart multichannel customer interaction management at Iberdrola, one of the w...
Smart multichannel customer interaction management at Iberdrola, one of the w...Smart multichannel customer interaction management at Iberdrola, one of the w...
Smart multichannel customer interaction management at Iberdrola, one of the w...
 
A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...
A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...
A Two-Tiered On-Line Server-Side Bandwidth Reservation Framework for the Real...
 

Similar a Cloud Computing With Amazon Web Services, Part 4: Reliable Messaging With SQS

AWS Serverless Introduction
AWS Serverless IntroductionAWS Serverless Introduction
AWS Serverless Introductionarconsis
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)Amazon Web Services
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Amazon Web Services
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQRavi Yogesh
 
Wi t containerizemicroservices
Wi t containerizemicroservicesWi t containerizemicroservices
Wi t containerizemicroservicesDipali Kulshrestha
 
Aws top 50 interview questions
Aws top 50 interview questionsAws top 50 interview questions
Aws top 50 interview questionsInfosecTrain
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Systems UKI
 
What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...
What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...
What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...AmitKuraria2
 
Introduction to Azure Service Bus Presentation
Introduction to Azure Service Bus PresentationIntroduction to Azure Service Bus Presentation
Introduction to Azure Service Bus PresentationKnoldus Inc.
 
Message Queuing (MSMQ)
Message Queuing (MSMQ)Message Queuing (MSMQ)
Message Queuing (MSMQ)Senior Dev
 
AWS re:Invent re:Cap 2015
AWS re:Invent re:Cap 2015AWS re:Invent re:Cap 2015
AWS re:Invent re:Cap 2015Mark Bate
 

Similar a Cloud Computing With Amazon Web Services, Part 4: Reliable Messaging With SQS (20)

AWS Serverless key services
AWS Serverless key servicesAWS Serverless key services
AWS Serverless key services
 
Mule sqs
Mule sqsMule sqs
Mule sqs
 
AWS Serverless Introduction
AWS Serverless IntroductionAWS Serverless Introduction
AWS Serverless Introduction
 
AWS Serverless Introduction
AWS Serverless IntroductionAWS Serverless Introduction
AWS Serverless Introduction
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
 
AWS SQS SNS
AWS SQS SNSAWS SQS SNS
AWS SQS SNS
 
AWS Messaging
AWS MessagingAWS Messaging
AWS Messaging
 
Messaging in the AWS Cloud
Messaging in the AWS CloudMessaging in the AWS Cloud
Messaging in the AWS Cloud
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
 
Wi t containerizemicroservices
Wi t containerizemicroservicesWi t containerizemicroservices
Wi t containerizemicroservices
 
Aws top 50 interview questions
Aws top 50 interview questionsAws top 50 interview questions
Aws top 50 interview questions
 
IBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ ClustersIBM Managing Workload Scalability with MQ Clusters
IBM Managing Workload Scalability with MQ Clusters
 
What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...
What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...
What is AWS and What can you do with it | by Kunal Yadav | Noteworthy - The J...
 
Messaging Systems on AWS
Messaging Systems on AWSMessaging Systems on AWS
Messaging Systems on AWS
 
ISUG SSB Lior King
ISUG SSB Lior KingISUG SSB Lior King
ISUG SSB Lior King
 
Introduction to Azure Service Bus Presentation
Introduction to Azure Service Bus PresentationIntroduction to Azure Service Bus Presentation
Introduction to Azure Service Bus Presentation
 
Message Queuing (MSMQ)
Message Queuing (MSMQ)Message Queuing (MSMQ)
Message Queuing (MSMQ)
 
Sqs and loose coupling
Sqs and loose couplingSqs and loose coupling
Sqs and loose coupling
 
AWS re:Invent re:Cap 2015
AWS re:Invent re:Cap 2015AWS re:Invent re:Cap 2015
AWS re:Invent re:Cap 2015
 

Más de white paper

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Javawhite paper
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overviewwhite paper
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guidewhite paper
 
Java Standard Edition 5 Performance
Java Standard Edition 5 PerformanceJava Standard Edition 5 Performance
Java Standard Edition 5 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machinewhite paper
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Changewhite paper
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paperwhite paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applicationswhite paper
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIwhite paper
 
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...white paper
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platformwhite paper
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overviewwhite paper
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systemswhite paper
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarkswhite paper
 

Más de white paper (20)

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Java
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overview
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guide
 
Java Standard Edition 5 Performance
Java Standard Edition 5 PerformanceJava Standard Edition 5 Performance
Java Standard Edition 5 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machine
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Change
 
Java Web Start
Java Web StartJava Web Start
Java Web Start
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging API
 
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...     * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Proce...
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overview
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systems
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarks
 

Último

Cuttack Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Cuttack Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableCuttack Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Cuttack Call Girl Just Call 8084732287 Top Class Call Girl Service Availablepr788182
 
Cannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 UpdatedCannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 UpdatedCannaBusinessPlans
 
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...meghakumariji156
 
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service AvailableNashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Availablepr788182
 
Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...
Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...
Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...pr788182
 
obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...
obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...
obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...yulianti213969
 
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...pujan9679
 
Puri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDING
Puri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDINGPuri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDING
Puri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDINGpriyakumari801827
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Adnet Communications
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwaitdaisycvs
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGpr788182
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1kcpayne
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizharallensay1
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book nowkapoorjyoti4444
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfwill854175
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPanhandleOilandGas
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGpr788182
 
Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableNanded Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service Availablepr788182
 
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAIGetting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAITim Wilson
 

Último (20)

Cuttack Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Cuttack Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableCuttack Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Cuttack Call Girl Just Call 8084732287 Top Class Call Girl Service Available
 
Cannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 UpdatedCannabis Legalization World Map: 2024 Updated
Cannabis Legalization World Map: 2024 Updated
 
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
Escorts in Nungambakkam Phone 8250092165 Enjoy 24/7 Escort Service Enjoy Your...
 
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service AvailableNashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
 
Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...
Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...
Bangalore Call Girl Just Call♥️ 8084732287 ♥️Top Class Call Girl Service Avai...
 
obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...
obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...
obat aborsi bandung wa 081336238223 jual obat aborsi cytotec asli di bandung9...
 
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
Chennai Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Av...
 
Puri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDING
Puri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDINGPuri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDING
Puri CALL GIRL ❤️8084732287❤️ CALL GIRLS IN ESCORT SERVICE WE ARW PROVIDING
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
 
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book nowPARK STREET 💋 Call Girl 9827461493 Call Girls in  Escort service book now
PARK STREET 💋 Call Girl 9827461493 Call Girls in Escort service book now
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation Final
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service AvailableNanded Call Girl Just Call 8084732287 Top Class Call Girl Service Available
Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service Available
 
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAIGetting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
 

Cloud Computing With Amazon Web Services, Part 4: Reliable Messaging With SQS

  • 1. Cloud computing with Amazon Web Services, Part 4: Reliable messaging with SQS Skill Level: Introductory Prabhakar Chaganti (prabhakar@ylastic.com) CTO Ylastic, LLC. 02 Dec 2008 In this series, learn about cloud computing using Amazon Web Services. Explore how the services provide a compelling alternative for architecting and building scalable, reliable applications. In this article, learn about the reliable and scalable messaging service provided by Amazon Simple Queue Service (SQS). Amazon SQS Amazon Simple Queue Service (SQS) is a scalable and reliable messaging framework that makes it simple to create, store, and retrieve text messages. You can use it as a base for gluing together your Amazon Web Services-based applications. Using SQS is a great way to build Web-scale applications that are truly decoupled. You pay for the messages based entirely upon your usage. The whole queuing framework runs inside the secure environment of Amazon’s own data centers. Some of the most features provided by SQS are: Reliability SQS is designed to store the messages redundantly across multiple data centers and to make them available at all times. Simplicity The programming model for accessing and using SQS is simple and can be used from a variety of programming languages. Security Reliable messaging with SQS © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 12
  • 2. developerWorks® ibm.com/developerWorks SQS is designed to provide a high level of security. Access to messages is restricted to authorized users. Scalability SQS gives you the ability to create queue-based applications that can read and write unlimited messages, with no restrictions or limits. Inexpensive SQS rates make it a very economical and compelling alternative for your messaging needs. The rest of this section explores the concepts that underpin the SQS framework. Messages Messages contain text data up to 8KB in size. Each message is stored until it is retrieved by a receiving application. A visibility timeout value, in seconds, is specified when the receiving application reads a message from a queue. This acts more like a lock and ensures that, for the specified time period: • The retrieved message will not be available to any other consumer of the queue. • The message will only reappear in the queue when the timeout period expires if, and only if, it has not been deleted by the reading process. Messages are retained in a queue for four days. Amazon CTO Werner Vogels has a discussion of the rationale for eventual consistency on his blog (see Resources). SQS will automatically delete any messages that have been in your queues longer than four days. SQS follows the model of "eventual consistency," meaning you can send a message to the queue, but a consumer of that queue may not see the message for some significant period of time. The message will eventually be delivered, but this is an important consideration if your application cares about the order of the messages. A message consists of the parts shown in Table 1. Table 1. Parts of a message Part Description MessageId A unique ID that references the message. ReceiptHandle A unique handle that's returned when a message is received from a queue. This handle is different each time you receive a message from the queue. It is required when you delete the Reliable messaging with SQS Page 2 of 12 © Copyright IBM Corporation 1994, 2008. All rights reserved.
  • 3. ibm.com/developerWorks developerWorks® message. MD5OfBody The MD5 digest of the non-URL-encoded message body string. Body The actual message data. Queues Queues are containers for the messages. Each message must specify a queue that will hold it. Messages sent to a queue remain on the queue until you explicitly delete them. The ordering of the queue is FIFO (first in, first out), but the order is not guaranteed. Each queue has a default visibility timeout of 30 seconds. You can change this value for the entire queue, or it can be individually set for each message on retrieval. The maximum visibility timeout for a queue or message is two hours (7200 seconds). SQS reserves the right to automatically delete queues if there has been no activity in the queue for 30 consecutive days. Design considerations SQS is a little different from the common queue frameworks. There are three things you must consider before designing your SQS-based applications: • SQS does not guarantee order of the messages in a queue. The messages are loosely ordered in the queue; they are not really stored in the order in which they are added to the queue. SQS will try to preserve the order in messages, but it is not guaranteed that you will receive messages in the exact order you sent them. If the ordering of messages is important to your application, you will need to add sequencing data to each message. • SQS does not guarantee deletion of a message in the queue. You must design your application so that it is not affected if the same message is processed more than once. Each of your messages is stored on multiple servers by SQS to provide redundancy and high availability. If one of these multiple servers becomes unavailable while a message is being deleted, it is possible, in rare circumstances, to get a message copy again while retrieving messages. • SQS does not guarantee that all the messages in the queue will be returned when queried. SQS uses message sampling based on weighted random distribution, and it returns messages only from the sampled subset of servers when you query for messages. Even though a particular request may not return all messages in the queue, if you keep retrieving from the queue it will Reliable messaging with SQS © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 3 of 12
  • 4. developerWorks® ibm.com/developerWorks end up sampling all of the servers and you'll get all your messages. API versions Currently there are two different versions of SQS available: the original version (2007-05-01) and a more recent version released earlier this year (2008-01-01). Each version of the API is commonly referred to using the date of the release. The 2007-05-01 API will sunset on May 6, 2009, after which only the latest version of the API will be supported. It is strongly advised that users: • Start migrating any applications they've built using the older API version as soon as possible. • To minimize any disruptions, use the latest version of the API when creating new applications with SQS. The 2008-01-01 version updated the pricing, which will bring down the cost of SQS usage for most users, and included additional features and modifications. However, it also introduced significant and incompatible changes with the older APIs. All libraries and tools that are built on the older version will need to be modified. A detailed description of the changes between the versions is available on the SQS Web site (see Resources). Pricing The following pricing details are only for the 2008-01-01 version. (You can get the details of the pricing structure for the older versions on the SQS site (see Resources). Pricing is based on: • The number of requests made to SQS, which includes the following operations: • CreateQueue • ListQueues • DeleteQueue • SendMessage • ReceiveMessage • DeleteMessage • SetQueueAttributes • GetQueueAttributes Reliable messaging with SQS Page 4 of 12 © Copyright IBM Corporation 1994, 2008. All rights reserved.
  • 5. ibm.com/developerWorks developerWorks® Table 2. Pricing for requests Type Cost Request to $0.000001 SQS per request • The amount of data transferred to and from SQS. There is no charge for data transferred between SQS and EC2 instances. Table 3. Pricing for data transfer Type of transfer Cost All data transfer $0.100 per GB - all data transfer in $0.170 per GB - first 10TB / month data transfer out $0.130 per GB - next 40TB / month data transfer out $0.110 per GB - next 100TB / month data transfer out $0.100 per GB - data transfer out / month over 150TB Check Amazon SQS for the latest pricing information. You can also use the Amazon Web Services Simple Monthly Calculator tool for calculating your monthly usage costs for SQS and the other Amazon Web Services (see Resources). Getting started with Amazon Web Services and SQS To start exploring SQS, you will first need to sign up for an Amazon Web Services account (see Resources). See Part 2 of this series for detailed instructions on signing up for Amazon Web Services. Once you have an Amazon Web Services account, you must enable Amazon SQS service for your account using the following steps. 1. Log in to your Amazon Web Services account. 2. Navigate to the SQS home page. 3. Click Sign Up For Amazon SQS on the right side. Reliable messaging with SQS © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 5 of 12
  • 6. developerWorks® ibm.com/developerWorks 4. Provide the requested information and complete the sign-up process. All communication with any of the Amazon Web Services is through either the SOAP interface or the query interface. In this article, you use the query interface by way of a third-party library to communicate with SQS. You will need to obtain your access keys, which you can access from your Web Services Account information page by selecting View Access Key Identifiers. You are now set up to use Amazon Web Services, and have enabled SQS service for your account. Interacting with SQS For this example, you use an open source third-party python library named boto to become familiar with SQS by running small snippets of code in a python shell. Install boto and set up your environment Download boto from the project page. The latest version, as of the writing of this article, was 1.4c. Unzip the archive to the directory of your choice. Change into this directory and run setup.py to install boto into your local python environment, as shown in Listing 1. Listing 1. Install boto $ cd directory_where_you_unzipped_boto $ python setup.py install Set up some environment variables to point to the Amazon Web Services access keys. The access keys are available from Web Services Account information. Listing 2. Set up environment variables # Export variables with your AWS access keys $ export AWS_ACCESS_KEY_ID=Your_AWS_Access_Key_ID $ export AWS_SECRET_ACCESS_KEY=Your_AWS_Secret_Access_Key Check to make sure everything is set up correctly by starting a python shell and importing the boto library, as shown in Listing 3. Listing 3. Check the setup $ python Python 2.4.5 (#1, Apr 12 2008, 02:18:19) [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin Reliable messaging with SQS Page 6 of 12 © Copyright IBM Corporation 1994, 2008. All rights reserved.
  • 7. ibm.com/developerWorks developerWorks® Type "help", "copyright", "credits" or "license" for more information. >>> import boto >>> Explore SQS with boto Use the SQSConnection class to provide the main interface for the interaction with SQS. The medium for the usage of boto is the python console. The example calls different methods on the SQSConnection object and examines the responses returned by SQS, which will help you get familiar with the API while you explore the concepts behind SQS. The first step is to create a connection object to SQS using the Amazon Web Services access keys that you exported earlier to your environment. The boto library always checks the environment first to see if these variables are set. If they are set, boto automatically uses them when it creates the connection. Listing 4. Create a connection to SQS >>> import boto >>> sqs_conn = boto.connect_sqs() >>> For the rest of this article you can use the sqs_conn object, created above, to interact with SQS. You can create a queue by specifying a name for the queue, along with an optional visibility timeout value. If you omit a value for the timeout, boto will create the queue with the default value of 30 seconds provided by SQS. Listing 5. Create a queue >>> q1 = sqs_conn.create_queue('devworks-sqs-1') >>> >>> q1.get_timeout() 30 >>> q2 = sqs_conn.create_queue('devworks-sqs-2', 60) >>> >>> q2.get_timeout() 60 >>> Retrieve a list of all your queues, which returns a resultset object that is essentially a python list, as shown in Listing 6. You can iterate over this list and access all pertinent information for each queue. Listing 6. List all the queues >>> all_queues = sqs_conn.get_all_queues() >>> >>> len(all_queues) 2 >>> Reliable messaging with SQS © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 7 of 12
  • 8. developerWorks® ibm.com/developerWorks >>> for q in all_queues: ... print q.id ... print q.count() ... print q.get_timeout() ... print q.url ... /devworks-sqs-1 0 30 http://queue.amazonaws.com/devworks-sqs-1 /devworks-sqs-2 0 60 http://queue.amazonaws.com/devworks-sqs-2 You must delete all the messages in a queue before deleting the queue. There is a clear() method in boto that you can use to delete all the messages in a queue. Listing 7. Clear and delete queues >>> q2.clear() 0 >>> sqs_conn.delete_queue(q2) True >>> You can send text messages with a maximum size of 8KB to a queue. Create a new message by using the boto Message class, as shown in Listing 8. Listing 8. Send a message >>> from boto.sqs.message import Message >>> >>> m1 = Message() >>> >>> m1.set_body('Hi there devworks!') >>> >>> status = q1.write(m1) >>> >>> print status True >>> Retrieval of messages for a queue returns a resultset object that is a python list containing message objects. Each message object has a unique ID and a receipt handle associated with it. When you read a message from a queue, that message automatically becomes invisible to all other consumers of the queue until the visibility timeout period set for the queue expires. After the expiration, the message once appears in the queue, giving another consumer the chance to retrieve the message and process it. However, if the message is deleted from the queue before the expiration of the visibility timeout, it is gone forever and will not appear in the queue again. Reliable messaging with SQS Page 8 of 12 © Copyright IBM Corporation 1994, 2008. All rights reserved.
  • 9. ibm.com/developerWorks developerWorks® Listing 9. Retrieve a message >>> msgs = q1.get_messages() >>> >>> len(msgs) 1 >>> >>> for msg in msgs: ... print "Message ID: ",msg.id ... print "Message Handle: ",msg.receipt_handle ... print "Queue ID: ", msg.queue.id ... print "Message Body: ", msg.get_body() ... Message ID: 9a930aaf-87de-48ad-894d-b22dd0b1cd1b Message Handle: Prl0vft3nRjgDDT33svtLnzyPQGWFpRusXdn2v3Lwq+TDtD3hk3aBKbSH1mGc4hzO/VZO IC0RFyAd7MhbJKPGHn3x35CTz9dAQeNoKYAHiwERXc/xrYXBLGngyuJI+kGmbjvIKqA/wpfQpqzPk2bVA== Queue ID: /devworks-sqs-1 Message Body: Hi there devworks! >>> You can retrieve more than one message by specifying the number of messages. The default option in boto is to return one message. Let’s add another message to the queue and then retrieve all the messages, as shown in Listing 10. Keep in mind that it might take a minute or so for a newly added message to show up in the queue. Listing 10. Retrieve multiple messages >>> m2 = Message() >>> >>> m2.set_body('Still there?') >>> >>> status = q1.write(m2) >>> >>> print status True >>> >>> msgs = q1.get_messages(10) >>> >>> len(msgs) 2 >>> >>> for msg in msgs: ... print "Message ID: ",msg.id ... print "Message Handle: ",msg.receipt_handle ... print "Queue ID: ", msg.queue.id ... print "Message Body: ", msg.get_body() ... print "*"*80 ... Message ID: 9a930aaf-87de-48ad-894d-b22dd0b1cd1b Message Handle: Prl0vft3nRjgDDT33svtLnzyPQGWFpRusXdn2v3Lwq+TDtD3hk3aBKbSH1mGc4hzO/VZOIC0R FyAd7MhbJKPGHn3x35CTz9dAQeNoKYAHiwERXc/xrYXBLGngyuJI+kGmbjvIKqA/wpfQpqzPk2bVA== Queue ID: /devworks-sqs-1 Message Body: Hi there devworks! Reliable messaging with SQS © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 9 of 12
  • 10. developerWorks® ibm.com/developerWorks Message ID: ce1632b3-0a6e-4ee2-a5b0-b2e9821d150f Message Handle: Prl0vft3nRiRunVNVvjOQEc7Tm+uSBQpW4bZcpFMbzWTDtD3hk3aBKbSH1mGc4hzO/VZOIC0R FxbhtlykUxvNbRQNWJqrMXrxj5m6GwhA7iX0Nu9mqjo+9/hnda8Ou0df+LQ3dOMfXSybzbhed128w== Queue ID: /devworks-sqs-1 Message Body: Still there? >>> Messages can be deleted from a queue by invoking the delete_message(). Remember, you must delete all the messages in a queue before you delete a queue. Listing 11. Delete a message >>> msgs = q1.get_messages() >>> >>> len(msgs) 1 >>> print msgs[0].get_body() Hi there devworks! >>> >>> q1.delete_message(msgs[0]) True >>> Conclusion This article introduced you to Amazon’s SQS service. You learned some of the basic concepts and explored some of the functions provided by boto, an open source python library for interacting with SQS. It is highly recommended that you read the Amazon SQS Developer Guide for more information (see Resources). Stay tuned for Part 5 in this series, which will examine Amazon SimpleDB for dataset processing in the cloud. Reliable messaging with SQS Page 10 of 12 © Copyright IBM Corporation 1994, 2008. All rights reserved.
  • 11. ibm.com/developerWorks developerWorks® Resources Learn • Check out the other parts in this series: • Part 1, "Introduction: When it's smarter to rent than to buy" • Part 2, "Storage in the cloud with Amazon Simple Storage Service (S3)" • Part 3, "Servers on demand with EC2" • Learn about specific Amazon Web Services: • Amazon Simple Storage Service (S3) • Amazon Elastic Compute Cloud (EC2) • Amazon Simple Queue Service (SQS) • Amazon SimpleDB (SDB) • The Service Health Dashboard is updated by the Amazon team and provides the current status of each service. • The latest happenings in the world of Amazon Web Services are on the blog. • Sign up for an Amazon Web Services account. • The Amazon Web Services Developer Connection is the gateway to all the developer resources. • The Amazon SQS Developer Guide contains information on the various components of SQS, along with advanced usage and configuration. • Migrating to Amazon SQS API Version 2008-01-01 (Amazon Articles & Tutorials) describes the changes in the 2008-01-01 version. • Use the Simple Monthly Calculator for calculating your monthly usage costs for EC2 and the other Amazon Web Services. • Check out Werner Vogel's blog for a discussion of the rationale for eventual consistency. • Get the RSS feed for this series. • In the Architecture area on developerWorks, get the resources you need to advance your skills in the architecture arena. • Browse the technology bookstore for books on these and other technical topics. Reliable messaging with SQS © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 11 of 12
  • 12. developerWorks® ibm.com/developerWorks Get products and technologies • Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational, Tivoli® and WebSphere. Discuss • Check out developerWorks blogs and get involved in the developerWorks community. About the author Prabhakar Chaganti Prabhakar Chaganti is the CTO of Ylastic, a start-up that is building a single unified interface to architect, manage, and monitor a user's entire AWS Cloud computing environment: EC2, S3, SQS and SimpleDB. He is the author of two recent books, Xen Virtualization and GWT Java AJAX Programming. He is also the winner of the community choice award for the most innovative virtual appliance in the VMware Global Virtual Appliance Challenge. Trademarks IBM, the IBM logo, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, and WebSphere are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml. Other company, product, or service names may be trademarks or service marks of others. Reliable messaging with SQS Page 12 of 12 © Copyright IBM Corporation 1994, 2008. All rights reserved.