Knowledge Bank

From how to best plan and execute a server migration through to utilising MySQL replication, this section is full of white papers and best practice guidelines, produced by the experts here at ForLinux to help you get the most from your Linux server.

Integrating Amazon Web Services

20/10/2010

Amazon Web Services (AWS) allows you to utilise Amazons massive server infrastructure without having to consider set up costs, hardware failures, network scalability or redundant hardware.

Integrating AWS into your solutions

Unless you've been on the moon you can't have missed the hype around Cloud Computing and particularly the biggest name associated with it. Amazon Web Services (AWS) allows you to utilise Amazons massive server infrastructure without having to consider set up costs, hardware failures, network scalability or redundant hardware.

Amazon Web Services (aka EC2, Amazon Cloud Computing) provides you with the ability to create virtual servers and only pay for them while they are in use. The virtual servers (known as Instances) can be various sizes in terms of CPU, RAM and temporary disk space. Disk space is temporary, once you stop an Instance, you lose all data stored on that Instance. For permanent storage, Elastic Block Store (EBS), Simple Storage Service (S3) or Simple DB are the solutions.

Instances refer to the virtual resources of the virtual server. Amazon Machine Images (AMIs) refer to the Operating System running on your Instance. You can select from prebuilt AMIs providing Linux, Windows and Solaris Operating Systems. Many AMIs are supplied with preinstalled software such as Apache/PHP/MySQL. You can also build your own AMIs and save them for provisioning later.

All services are pay as you go. You pay for the Instance in use by the hour, external bandwidth to and from the Instance and the EBS, S3 or SDB storage are charged per GB. With very little set up costs, no hardware expenditure or long term commitments, AWS looks very attractive.

When considering what exactly can you do with AWS and how can it help your business, there are 6 areas that come to mind:

  • Testing environments
  • Temporary hosting solutions
  • Unknown capacity solutions
  • Uneven web traffic patterns
  • Web Start up businesses
  • Large processing requirements
  • Software and vendor evaluation

Testing Environments

When implementing a new solution, testing is a given, however for large solutions testing is normally restricted to a small number of local servers. These local servers are often not the same specifications as the final solution and have to be rebuilt each time to ensure a clean environment as well as having the latest versions of the software installed. In addition, testing on a local area network does not reflect the true infrastructure of a hosted environment. When utilising AWS you are able to instantly provision multiple servers of high specification, with a clean installation of the latest software, on a genuine Internet infrastructure. Once testing is complete, the servers can be shutdown with no ongoing costs.

Temporary Hosting Solutions

Big brands often have advertising campaigns that only last a few months. These campaigns can be viral videos, landing pages for email marketing or just brochure websites. Rather than provision a traditional dedicated server environment with expensive set up costs, potential failures and expensive monthly payments, AWS allows a temporary solution with little upfront capital expenditure and no long term commitment.

Unknown Capacity Solutions

When implementing a new solution it can be difficult to estimate the amount of resource required to power it. Traditionally dedicated servers and networking equipment would be purchased for a colocation environment and built by experienced technicians. Alternatively, servers would be rented on a contract from a hosting supplier. Both require commitment and upfront costs for a solution where the demand is unknown. AWS allows you to start small and grow as the demand increases. Once demand is at a certain level, you have the opportunity to move to a dedicated environment if needed.

Uneven Web Traffic Patterns

Your solution may attract thousands of users during the evening, but very few during the day. In a traditional dedicated server environment you have to provision for the maximum amount of visitors. This leads to periods of the day where the servers are idle but you're still paying for them. With a well designed AWS solution, a scalable architecture can be created which will provide a flexible ondemand solution. When the traffic reaches a certain level, a new server instance can be introduced to the cluster. When the traffic decreases, the server instance can be shutdown and therefore reduce costs.

Web Start Up Businesses

Long gone are the days of bottomless money pits for technology start ups. Businesses now need a solid business case with proven results before funding is given. During the early days of a web start up, budgets are tightly controlled and every expense scrutinised. Hardware and hosting are essential and previously, hardware had to be purchased in advance or lengthy hosting contracts signed. Now with AWS, the set up costs for high specification hardware is very low and, with no long term commitment, start up businesses can establish an online presence without breaking the bank.

Large Processing Requirements

In the past a project that required hours of processing or vast processing power would require significant server hardware investment. Along with the initial set up costs, the ongoing maintenance of the hardware also needs to be taken into account. Once the project is finished, you're left with redundant hardware which will be ageing rapidly. With AWS, hundreds of servers, with a low set up cost, can be provisioned for the project which, once complete, can be instantly shutdown.

Software and Vendor Evaluation

If you need to evaluate some new software you may not have the required server specification available. AWS allows you to provision a high specification Instance, with the desired Operating System within minutes. This Instance is then available for you to install your software, test it and then terminate the Instance when the evaluation is finished.

These are just a few examples of how using AWS technology can benefit your business.

Get In Touch...