Posts Tagged 'Elastic Beanstalk'

Amazon Extends Services for Microsoft Technologies

As someone who works primarily with Microsoft technologies I was delighted to see the Amazon announcement yesterday that they are going to offer two additional options for developers.

First, Amazon RDS is now going to include SQL Server in addition to MySQL and Oracle databases.

SQL Server is available in a variety of versions on RDS and, like Oracle, can have license fees included in the hourly instance charge or can utilize a “bring your own license” model for existing Microsoft Volume Licensing customers that have SQL Server covered by Microsoft Software Assurance contracts. In either case RDS allows SQL Servers to be provisioned on an as-needed, pay-as-you-go basis. The managed service provides automated software patching, monitoring and metrics, automated backups and the ability to create on-demand database snapshots. This offering appears to be in direct competition to Microsoft’s own SQL Azure, so the future should prove interesting!

Second, Amazon Elastic Beanstalk is now going to include support for .NET developers using the Windows/IIS/.NET solution stack rounding out the service offering which already supports Java and PHP.

Elastic Beanstalk is similar but somewhat different as a PaaS concept than Microsoft Azure. Azure is in many ways a more managed approach that takes care of a lot of administration for you behinds the scenes. Elastic Beanstalk exposes the entire underlying infrastructure to you if desired. Both offer a plug-in toolkit for Visual Studio that enables deployment directly from the development environment.

I am a great believer that competition is good and that certainly appears to be the case in the cloud as well. Amazon, in my opinion, has just raised the bar another notch. These two new services from Amazon will likely appeal to some developers familiar with Microsoft technologies. I wonder how, if and when Microsoft will respond!

Kevin Kell

PHP on ElasticBeanstalk

I have been using Amazon’s Elastic Beanstalk for deploying Java applications for some time now. I find it is a perfect solution as it is simple to use and takes care of load balancing, server instance management and all the low level maintenance that is necessary but tedious to perform when running scalable, high availability applications. As a software developer, a Platform as a Service (PaaS) such as this really does enable you to focus your efforts and energies on building great applications. In the Java world Beanstalk allows the deployment of any standard Java Web application to the platform as a war file.

This week I was interested to see that Amazon have announced Elastic Beanstalk support for PHP. This is great news for any PHP developer. The good news does not stop there though. What is really elegant about the PHP support is that it allows deployments from Git. Git has, certainly from what I have seen, become the defacto standard for source control. Being able to deploy changes from Git to a PHP PaaS is a really powerful tool for developers. Any changes are automatically deployed to all running instances. The development process for and PHP developer wishing to use ElasticBeanstalk is:

  1. Develop your application as usual using any editor or IDE
  2. Create an Elastic Beanstalk environment PHP ON AWS. This is achieved by:
    • Using the Amazon Web console
    • From a command line interface to AWS
    • Programatically using Web service calls
  3. Install and configure Git of this is not being used
  4. Commit code and push to Elastic Beanstalk

Applications deployed are available within minutes. One of the features of Beanstalk is that it monitors the application instances using a health check URL and if the instance does not respond will start another instance, terminating the non responsive one.

If you are a developer and are interested in how PaaS may be used for deploying your applications, check out Learning Tree’s Cloud Computing curriculum. The introductory course covers all aspects of Cloud Computing with a significant section dedicated to PaaS, detailing what to expect from PaaS as well as what the major vendors such as Amazon, Microsoft and Google provide. Two hands-on exercises together with instructor led deployments to the cloud highlight the business and technical benefits of PaaS. Hopefully I will see you there soon.

Chris Czarnecki

Contrast Amazon’s Elastic Beanstalk with Salesforce.com

Recently Amazon released Elastic Beanstalk, as reported by Kevin Kell. This is interesting product release from both a technical and business perspective.

From a technical perspective, Platform as a Service has many advantages over Infastructure as a Service (IaaS) from zero administration to pay per use. However, PaaS offerings from providers such as Google App Engine or Microsoft Azure take away almost total control from developers all aspects of tuning and administration at the system level. This is not always an advantage. Micorosoft has began to recognise this and released PaaS with elevated privileges giving some access to IIS for instance. What is exciting about Amazon’s Elastic Beanstalk is that is offers PaaS with zero admin but also access to the complete underlying IaaS if required – PaaS that can morph into IaaS as and when required. This appears to be the perfect balance and I cannot wait to begin working with it.

From a business perspective I am intrigued about the differences between Amazon and Salesforce.com in particular and their approaches to Cloud Computing and marketing. Amazon’s approach is about getting things working and then releasing them. Contrast that to Salesforce.com, whose approach to Cloud Computing seems to be more about ‘land grab’ and momentum through acquisition at the moment. They have over the last 12 months made many announcements related to the cloud of products that were not ready for use – take for example database.com – still far from available for general use. In the PaaS area they have formed alliances with the likes of VMware and acquisitions such as Heroku. How does Heroku fit now that Elastic Beanstalk is offering much the same service !

Keeping up to date with the incredible pace of innovation and development in Cloud Computing is very hard. Making sense of product releases,and distinguishing marketing hype from product reality is even more difficult. This is where Learning Tree’s three day Cloud Computing course can help. Delivered by Cloud Computing practitioners, It slices through the marketing hype and provides you with up to the minute detail and hands-on experience of the latest Cloud Computing products and innovations.

Chris

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 210 IT training and Management courses, including Cloud Computing training.

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

Join 53 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

%d bloggers like this: