The components that are used in AWS are:
► Amazon S3
► Amazon SQS
► Amazon SimpleDB
► Amazon EC2
Amazon SQS is a message passing mechanism that is used for communication between different connectors that are connected with each other. It also acts as a communicator between various components of Amazon. It keeps all the different functional components together. This functionality helps different components to be loosely coupled, and provide an architecture that is more failure resilient system.
It provides small instances, large instances, extra large instances that give various configuration options from low range to very high range like Computing power unit, memory, processor, etc.
The cluster compute instances consist of the high CPU with network performance and are suited with high end applications. It provides network bound application and provide extra large computing resources like 23 GB memory, 33.5 EC2 compute units. It provide general purpose graphics unit to allow user with high end configuration. It also provide highly parallelized processing application that user can use and modify the server accordingly.
Amazon private cloud provides a provision to create a private and isolated networking infrastructure to give easily the Amazon web services. - Virtual network topologies define the traditional data-center approach to control and mange the files from one place.
► It provides complete control over IP address range, creation of sub-nets and configuring the network gateways and route tables.
► It provides easy to customize network configuration like creation of public sub-net to access the Internet easily.
► It allow to create multiple security layers and provide network control list by which you can control the access to Amazon EC2 instances.
► On demand instance allow user to pay for the computing capacity according to their use every hour, whereas reserved instances provide user to pay for every instance which they use and they want to reserve.
► On demand instance provide user a free working environment in which there is no need for too much of planning related to complexities, whereas reserved instances provide user with discounts on the hourly charge of an instance and provide a easy way to manage the instances as well.
► On demand instance provide maintenance of hardware and transforms fixed cost into much smaller variable costs, whereas reserved instance provide easy way to balance the pay package.
► Multi-threading fetching in Amazon S3 is used to fetch the objects concurrently using the multiple threads and map the task so that fetching can be made simpler.
► It is not a good practice to increase the threading for a particular object as every node on the server has some bandwidth constraints.
► It provides user the ease with which they can upload the files and upload the threads in parallel.
► It provides high speed of data transfer and easy maintenance of the sever as well.
Amazon S3 provides uploading of large files and retrieve small offsets for end-to-end transfer data rates. The large file gets stored into small files that are smaller in size. Amazon S3 stores multiple of files together in a bundle or in a compressed form for example in .gzip or .gz format and then convert them into Amazon S3 objects. The files get uploaded on the Amazon server by the use of FTP or another protocol and then retrieved through the HTTP GET request. The request includes the defined parameters like URL, offset (byte-range) and size (length).
Every architecture rely on a database that is easy to maintain and gets easily configured Amazon uses the database by the name SimpleDB. This is the database that is used for cloud architecture to track the statuses of the components. The component of the system are asynchronous and discrete, it requires capturing the state of the system so that in any failure the user can easily revert back to its normal configuration. SimpleDB is schema-less database and there is no need to define the structure before the creation of any data. Every controller in the database defines their own structure and link the data to a job.
Buffer is used to make the system more resilient to burst of traffic or load by synchronizing different component. The components always receive and process the requests in unbalanced way. Buffer keeps the balance between different components and makes them work at the same speed to provide faster services.