Masaryk university faculty of informatics


Amazon Web Services 5.1 Introduction to AWS



Download 150.94 Kb.
Page3/12
Date23.05.2017
Size150.94 Kb.
#18797
1   2   3   4   5   6   7   8   9   ...   12

5 Amazon Web Services

5.1 Introduction to AWS


Amazon Web Services is IaaS that provides on demand computing resources and services that can be used to build and run applications quickly and cost-efficiently. Introduced in 2006 their birth can be attributed to rapidly growing enthusiasm for cloud computing as well as introduction of Amazon.com, world’s largest online retailer at the beginning of 21st century. After launching its online shopping platform, each year Amazon kept spending large amount of money on expansion and maintenance of underlying infrastructure in order to provide for short-termed spikes in purchasing throughout the year. These spikes mainly exhibited themselves before Christmas when millions of people were using the platform to purchase gifts, which resulted in considerable amount of strain on Amazon servers. However, for the rest of the year majority of this massive infrastructure remained idle, forcing Amazon to pay for hardware the company wasn’t using. For this reason Amazon decided to eliminate this maintenance cost by renting its infrastructure for highly affordable prices to other companies or individuals. Hence Amazon EC213, the first service in AWS, was introduced in 2006. And shortly afterwards other services like Amazon S314 followed. Today AWS feature more than 30 different cloud services [13].

Most of Amazon Web Services are not exposed directly, but instead offer functionality that end users can use in their applications. Currently Amazon provides as much as four different ways of interacting with AWS. The fastest and for AWS beginners the easiest way is using AWS management console. This approach doesn’t require any previous technical knowledge or any installation as a user can manage AWS through rich graphical user interface. However, not all the services are available through management console, which is why other approaches are needed. Second way of controlling AWS, popular mainly among system administrators, is AWS command line interface. Unlike management console, AWS CLI requires installation, after which a user can control AWS with the use of simple commands (command prompt/PowerShell on Windows machines, shell on Linux machines). The remaining two ways are mainly for developers. Query API represents a series of low-level actions exposed through service-specific endpoints, which a user can exploit by using HTTP15 requests. Query API still supports SOAP16 although it is being slowly deprecated and replaced with newer and easier-to-use protocol – REST17. Query API is mainly to be used with programming and scripting languages that don’t have SDK18 written for them, which is the last way of interacting with AWS. This approach refers to class libraries and tools that are meant for controlling AWS resources and are written for great variety of languages such as C#/.NET, Java, PHP, Ruby, Python, and JavaScript and even for mobile platforms such as iOS and Android. The SDKs are the easiest way to program for AWS, since they offer a level of abstraction on top of Query API and provide built-in functions/methods to authenticate connection to AWS [14]. For these very reasons my project uses AWS SDK for .NET.

To start using AWS a user must first sign up for the service by creating an AWS account. After filling up registration form with his information and details and authenticating himself with his credit/debit card the user can start using the services. As already mentioned the user only pays for services and resources that he uses. Total price for services is calculated from the amount of usage based on AWS pricing guide and the bill is available monthly. Additionally, AWS feature AWS Simple Monthly Calculator application to provide rough estimate of the costs for a specific user.

When a new customer account is created, AWS automatically make it eligible for so called free usage tier. This feature is introduced to help new customers to start with AWS. Free usage tier applies to majority of Amazon services and allows to use them (in a limited way) free of charge for the duration of one year [15]. Originally, it was my intention to use Amazon Web Services only to the extent the free usage tier would allow me. However, this decision proved to be highly inefficient in development and insufficient in terms of necessary resources. For this reason a contract was established between Kentico Software and me. As part of this contract my AWS account was added to a consolidated billing account managed by Kentico Software. This AWS feature has allowed Kentico to take responsibility for my charges and has granted me much wider access to AWS.


5.2 Regions and Availability Zones


To gain a deeper insight into how AWS operate the concept of regions and availability zones must be established. Most of the services are hosted world-wide; however they are constraint to separate geographic locations. These locations are called regions and each region is composed of multiple isolated areas known as availability zones. By default, services and resources of one region cannot be replicated into another region. This independence of regions was introduced to achieve high availability of services, fault tolerance and stability. Availability zones within the same region are also isolated; however they are interconnected through the network of fast, low-latency links. Currently, AWS have eight regions covering America, Europe and East Asia each of them corresponding to a location of one of Amazon’s data centers – US East (Northern Virginia), US West (Oregon), US West (Northern California), EU (Ireland), Asia Pacific (Singapore), Asia Pacific (Tokyo), Asia Pacific (Sydney) and South America (Sao Paolo). When a resource is being created, for example an instance is being launched, it makes sense to do so in a region that is as close to a customer as possible so that he can benefit from the lowest possible latency. Additionally, running requests against AWS API, whether through Query API or with the user of SDKs, requires from developers to specify the region where resources are present or are to be created. And if the performance is absolutely crucial the user can go as far as to choose a specific availability zone based on his location [16].

Download 150.94 Kb.

Share with your friends:
1   2   3   4   5   6   7   8   9   ...   12




The database is protected by copyright ©ininet.org 2024
send message

    Main page