Posts Tagged 'AWS'

Billing Alerts Help Prevent Surprise Bills

Recently I was travelling from my home town Leicester to London by train for a meeting with a consulting client. I arrived at the train station at 6am for a 6.30am train, purchased a ticket and then heard an announcement that the train drivers were on strike and a very limited service was running. A little frustrated I went to the train companies Web site to see if any schedule of this limited service was available only to be greeted by the screen below.

My immediate thought was that this could easily have been averted with the use of the auto scaling of cloud computing which works perfectly in such times of large spikes of traffic to a Web application.

Autoscaling of resources is a great facility but it is not as straightforward as maybe first appears. Technically, it requires configuration on most cloud services. Take for instance Amazon’s AWS. Here a load balancer must be configured and then the CloudWatch service must be enabled with thresholds set for scaling up and down the number of server instances. Added to this there are business concerns too. The obvious one being how much the services will really cost in any particular month. We could be happily running our systems, but at what financial cost ?

Cloud services such as Amazon and Microsoft do not enable the setting of spending thresholds, although Google’s App Engine does. This means paying by credit card or by invoice may result in a surprise at the end of each month–the bill may be much larger than expected if usage is large. As a user of Amazon AWS, my company have been aware of this for some time and regularly check our billing data for abnormal patterns. We were thus delighted to hear that Amazon have now announced billing alerts. This service allows you to configure spending thresholds which when reached for any particular service will send you an immediate notification. This means that you will be aware as soon as spending is above your accepted limit and can take appropriate action at that time. The billing service makes use of the standard CloudWatch alarms and Amazon Simple Notification Service (SNS) for sending alerts. The free monthly usage tier of CloudWatch is 10 alarms and unto 1000 email notifications can be sent before charges are incurred. This facility is a much needed and welcome addition to the Amazon Web Service portfolio.

If you would like to understand more about cloud computing, consider attending Learning Tree’s course, Cloud Computing Technologies:  A Comprehensive Hands-On Introduction,  which provides a thorough coverage of the business and technical benefits of cloud computing as well as exposure to the products from the major vendors. For those looking to use Amazon Web Services, Learning Tree also have an excellent four day hands-on Amazon Web Services course where the lower level details of using and integrating these services are covered.

Hope to see you at one of these courses soon.

Chris Czarnecki

Amazon AWS Releases Beanstalk for .NET

I have written about Amazon’s Elastic Beanstalk for Java and more recently for PHP. This Platform as a Service (PaaS) is incredibly good and eliminates the need for much of the traditional administration required when running Web applications. For Java and PHP developers, as well as Ruby, Python and other languages, there is a wide choice of PaaS available from different vendors, which means that there is no fear of vendor lock-in when selecting a PaaS.

For .NET developers, the choice of PaaS has been limited to Microsoft Azure, or as of this week, Cloud Services. This is not a reason not to use the Azure PaaS, but with little competition, price , quality and performance, pressures do not come so readily to bear as when the market is competitive. Using other cloud vendors for deploying .NET applications, such as Amazon, means using their Infrastructure as a Service (IaaS) where servers are provisioned and configured behind a load balancer. This leaves all responsibility for updates and patches on server software with the end user–something PaaS eliminates. Today the landscape changes significantly for the better for .NET developers. Amazon announced the release (in Beta) of Elastic Beanstalk for .NET. This is a significant move by Amazon in the PaaS market and provides, immediately, a proven deployment platform for .NET application deployment.

Beanstalk for .NET uses Windows Server 2008 R2 virtual machines with IIS 7.5 installed for hosting the .NET applications. The AWS toolkit for Visual Studio enables the development of standard .NET Web applications, including Web Forms and ASP.NET MVC, and via the toolkit these applications can be deployed to Beanstalk. There is no additional cost for using Beanstalk. You just pay for the AWS resources provisioned. By default this is a micro instance machine and a load balancer. For new accounts a micro instance is free for the first year.

For anybody wanting to use SQL Server in the cloud, SQL Azure, or as its known as of this week, SQL Database has been a zero administration solution. Again this has changed as of this week as Amazon have announced that it has expanded its Relational Data Service–a Cloud managed database service offering MySQL and Oracle to now also include Microsoft SQL Server. Multiple editions including Express, Web, Standard and Enterprise Editions of SQL Server 2008 R2 are available, and support for SQL Server 2012 will be available later this year. For organisations that already have licenses for SQL Server, Amazon has a “bring your own license” agreement where you pay just for the compute on an hourly basis. If you are not familiar with Amazon’s RDS, it handles the administrative side of databases, that is, the deploying, scaling, patching, and backing up  as part of the price plan.

So in summary, Amazon’s releases relating to Microsoft products is a direct, proven alternative to Microsoft’s cloud services, which enable developers to work with their standard tools, build applications using proven techniques and deploy with minimal effort. It will be interesting to see how this pushes Microsoft, both on pricing and innovation. My own view is that Amazon may well have just eaten Microsoft’s lunch in the PaaS and relational data area of Cloud Computing.

Chris Czarnecki

New Amazon Web Services and EC2 Training Class

Great news!  Learning Tree recently decided to write a new class on cloud computing with Amazon Web Services. As far as I know, no author has been hired, but the tentative list of topics includes:
  • Amazon EC2 for Infrastructure as a Service (IaaS)
  • Amazon S3 for cloud-based storage
  • Amazon Elastic Beanstalk for Platform as a Service (PaaS)
  • Amazon RDS for Database as a Service (DaaS)

I’m sure there will be many other topics covered as the course content becomes more finalized.  If you have any suggestions or requests please let us know!

Over the last year, we’ve written quite a few artices on Amazon Web Services. Here are a few you might be interested in.

Understanding Amazon EC2 Security Groups and Firewalls
Using the Amazon EC2 Command Line Tools and API
Amazon Mechanical Turk – Artificial Artificial Intelligence
Amazon’s Relational Database Service (RDS)
Amazon AWS and ISO 27001 Certification
Save Even More with Amazon EC2’s Micro Instances
Elastic IP in Amazon EC2
Amazon Launches Email Service
Amazon Moves Towards PaaS with Elastic Beanstalk
Creating Amazon EC2 Machine Instances (AMIs) for Test Servers
Using EC2 Micro Instances for ASP.NET Hosting
Amazon AWS and Amazon EC2
Amazon’s VM Import: A Step Towards Cloud Interoperability

Once again, please leave us a comment if you have any good ideas for this new training class.

Doug

Amazon Mechanical Turk – Artificial Artificial Intelligence

One of the more interesting and unique products offered through Amazon Web Services (AWS) is Amazon Mechanical Turk. Perhaps more accurately described as “crowd computing” rather than “cloud computing”, Mechanical Turk, named after the famed fake chess-playing automaton, leverages the power of massive numbers of humans connected to the Internet to solve problems that require human intelligence.

For a simple example you may see an image in a YouTube video and you wonder as to the location where it was taken.

Figure 1 Does anybody knows where this location is?

This is difficult to enter into a search engine. But imagine you could somehow post this image and then instantly ask thousands of people if they recognize the place. This is the sort of problem that Mechanical Turk is geared towards solving. Of course there are other, more practical, examples as well, but they are not as much fun!

Amazon Mechanical Turk defines two roles: Requestor and Worker. The fundamental unit of work is a “Human Intelligence Task” (or HIT). A requestor can specify a HIT using a template and then publish that HIT for workers to see. Requestors create HITs and Workers work on them.

Becoming a Requestor is easy. All you have to do is sign up using your Amazon account. First, you need to buy some pre-paid HITs. Then you can create HITs using one of the existing templates or you can create your own template. Finally, you can publish your HITs. This allows Workers to respond to them at the price you have specified (usually a few cents per HIT).

Becoming a Worker is more difficult. You need to pass a test that shows, among other things, that you can look stuff up on Wikipedia. Then you get a rating which allows you to respond to HITs. As you respond to HITs successfully your rating will increase. Make a bunch of goofs and your rating goes down.

In this way, Requestors and Workers are brought together in a marketplace. On-demand services delivered at the going rate.  It is almost frictionless free enterprise.

In addition to the web based interface, Amazon Mechanical Turk also has a command line and an API interface. The API allows for applications to be written which can leverage the power of Mechanical Turk. Think of, for example, a smart phone application that allowed the user to take a snapshot and then upload the image as a HIT asking “what is this object?” or “who is this person?” It could be used while walking through a museum or while sitting in a café on Sunset Boulevard.

So, I guess the point of this article is that computers are not the only thing in the cloud. Humans are there too.

To get a good grounding in cloud computing fundamentals I recommend Learning Tree Course 1200 – Cloud Computing Technologies: A Comprehensive Hands-On Introduction.

Kevin

Amazon Moves Towards PaaS with Elastic Beanstalk

Elastic Beanstalk is a new offering from Amazon Web Services. It incorporates many characteristics of PaaS but retains much of the flexibility offered by IaaS. (Note: If you are not sure of the differences between PaaS and IaaS, please refer to Chris Czarnecki’s excellent article on the subject.)

Traditionally PaaS offers a highly productive environment for the developer. The trade-off is reduced flexibility and control over the application infrastructure. Although PaaS does lessen the administrative overhead compared to IaaS it also forces you to live with decisions pre-determined by the PaaS provider. This was sometimes seen as a drawback and is often a criticism of PaaS. Elastic Beanstalk addresses some of these concerns.

Currently in beta, Elastic Beanstalk allows Java developers to simply upload an application and it handles all the deployment, provisioning, load balancing, auto-scaling and health monitoring automatically. Elastic Beanstalk leverages existing AWS services but does not require the developer to be particularly familiar with the specifics of how they work. If needed, however, a developer can take control of any of the services using the management capabilities of Elastic Beanstalk. The developer has the ability to browse log files, monitor application health, adjust auto-scaling rules and setup email notifications through a management console. You can also specify EC2 instance types and select a specific database for storage. There is no additional charge for Elastic Beanstalk; you pay for the Amazon services as you use them, just as you normally would.

Developing and deploying an application for Elastic Beanstalk is pretty similar to developing and deploying an application for Google App Engine. The AWS Toolkit for Eclipse allows an AWS Java Web Project to be created and deployed to Elastic Beanstalk right from within the IDE. Just like the http://myapp.appspot.com URL in GAE an Elastic Beanstalk application is deployed to a custom URL of the form http://myapp.elasticbeanstalk.com. Check out this screencast from Amazon for a walkthrough of the process.

Elastic Beanstalk from Amazon is an example of how things are rapidly evolving and changing in the cloud. While many of the distinctions between the different cloud service offerings are perhaps blurring and shifting, it is still possible to understand cloud computing and the various provider products in terms of some fundamental concepts. To get a good grounding in those concepts consider attending Learning Tree’s introductory hands-on course in cloud computing technologies.

Kevin


Learning Tree Logo

Cloud Computing Training

Learning Tree offers over 245 IT and Management courses, including over 10 courses on Cloud Computing and Virtualization.

Enter your e-mail address to follow this blog and receive notifications of new posts by e-mail.

Join 1,701 other followers

Follow Learning Tree on Twitter

Archives

Do you need a customized Cloud training solution delivered at your facility?

Last year Learning Tree held nearly 2,500 on-site training events worldwide. To find out more about hosting one at your location, click here for a free consultation.
Live, online training
.NET Blog

Follow

Get every new post delivered to your Inbox.

Join 1,701 other followers