Posts Tagged 'PaaS'

The Cloud is Alive!

As I teach Learning Tree’s introductory course in Cloud Computing Technologies this week in Rockville, Maryland, I am once again reminded that things in the cloud can and do change often and quickly. Google Apps may change slightly. Google App Engine may change the way quotas are defined. Microsoft Office 365 may change the screens that appear when doing a cutover migration to Exchange Online. The names of Azure services may change. Google Apps and Microsoft Azure cost calculators may change the way they work. Amazon Web Services may change the look and feel of its browser-based management console. All of this makes the creation and maintenance of training materials, not to mention teaching the course week to week, somewhat of a challenge.

This, of course, is also an issue faced by adopters of cloud computing in their organizations. SaaS and PaaS providers undertake the versioning and patching of the underlying software and platforms. On the one hand this can free the consumer of the service from the administrative burden and overhead of having to do that themselves. On the other hand the customer often has very little choice about what updates are applied and when the changes will occur. This uncertainty can sometimes lead to surprises!

I have found that some people adapt to unforeseen changes better than others. This seems to be particularly true with SaaS. Some users can respond intuitively to slight interface changes, for example, and just move ahead. Others can become completely stopped in their tracks by anything that is different from what they have become used to. It is somewhat of a generalization, but not altogether untrue, to say that those who are already familiar with using web technologies tend to fall into the first category whereas those who primarily or exclusively use locally installed applications tend to fall into the latter.

What this suggests is that it is very important to consider your user base and skill set when evaluating cloud technologies for use in your organization. Moving to a SaaS version of productivity software, for example, means that you might not be able to simply install it, train users and be done with it. Who are they going to call when they log in one day to find things are different than the day before? Maybe it will be you and you might not yourself even yet be aware that an upgrade has occurred!

Cloud computing is most likely here to stay and this application paradigm will likely become the model for the future. How will IT departments respond to these new challenges if the corporate culture in which they exist has an aversion to change?

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

Cloud Service Models: Comparing SaaS PaaS and IaaS

Defining what comprises Cloud Computing is hard because it is so many things. Many vendors do not help clarify it because labelling products as Cloud Computing makes them appear current and more relevant. Despite all the marketing hype, Cloud Computing can be readily broken down into one of three delivery models as defined by NIST and known as the SPI model. SPI stands for Software, Platform and Infrastructure. When all the hype is stripped away, these just represent hardware and software !

Cloud computing enables hardware and software to be delivered as services, where the term service is used to reflect the fact that they are provided on demand and are paid on a usage basis – the more you use the more you pay. Draw an analogy with a restaurant. This provides a food and drinks service. If we would like to eat at a restaurant, we do not buy it, just use it as we require. The more we eat the more we pay. Cloud Computing provides computing facilities in the same way as restaurants provide food, when we need computing facilities, we use them from the cloud. The more we use the more we pay. When we stop using them we stop paying.

Although the above analogy is a great simplification, the core idea holds. Since computing is many many things, Cloud Computing has a lot of things to deliver as a service.This is where the SPI model helps organise things. Lets consider these in turn.

Software as a Service This is typically end user applications delivered on demand over a network on a pay per use basis. The software requires no client installation, just a browser and network connectivity. An example of SaaS is MicroSoft Office365. Until its launch, if a user required say Word, they would have to purchase it, install it, backup files etc. With Office365 Word can be acquired for a small monthly fee, with no client installation, the files are automatically backed up, software upgrades are automatically received and the software can be accessed from anywhere. Decide you do not require Word anymore – stop paying the monthly fee. It is that simple.

Platform as a Service Used by software development companies to run their software products. Software products need physical servers to run on, with database software, often Web servers too. These are all the platform that the application runs on. Building this yourself is a time consuming task and needs to be continually monitored and updated. PaaS provides all of the platform out of the box enabling software applications to be given to the platform which will execute them with no requirement for administration of the lower level components.

InfraStructure as a Service This covers a wide range of features, from individual servers, to private networks, disk drives, various long term storage devices as well as email servers, domain name servers as well as messaging systems. All of these can be provisioned on demand and often include software license fees for operating systems and associated software installed on the servers. Organisations can build a complete computing infrastructure using IaaS on demand.

So all the services provided by Cloud Computing fit into one of the three delivery models above. End users typically use SaaS, software development teams PaaS and IT departments whose responsibility is the infrastructure use IaaS. There is much more to Cloud Computing, including aspects such as the automatic scaling and security for example, but as a starting point, categorising the deliver models should help to understand that all aspects of computing are covered and it can be potentially useful for everybody involved in, or using IT.

Chris Czarnecki

As cloud computing continues to make information technology headlines, vendors are aggressively promoting the many benefits it can provide organizations.  Our White Paper, Cloud Computing Promises: Fact of Fiction , addresses the claims and questions that are often raised in relation to cloud computing and provides a clear view of what the cloud can—and can’t—deliver in reality.

Cloud Foundry: Taking PaaS to a New Level

Recently I posted about how Amazon continue to release innovative Cloud Computing services at a rate that is not matched by their competitors. Google, Microsoft and many others have been very slow in comparison. This week things changed. VMware have announced Cloud Foundry, something that totally disrupts the current Platform as a Service (PaaS) landscape.

Cloud Foundry is not a new concept. I posted on this some time back when it was a PaaS for Java developers. Since then VMware have entered agreements with Google and to further widen the scope of the PaaS offering but nothing concrete was released from these partnerships. This week things changed in a BIG way. VMware released Cloud Foundry, and in its new form it has the potential to be THE PaaS of choice for all developers. This is a sweeping statement given Azure, Google App engine, Amazons Elastic Beanstalk amongst others are the competition.

So why am I so excited about Cloud Foundry ? Let me try and explain. Current PaaS offerings typically have the following characteristics :

  • Tied to a particular environment e.g Azure (.NET), Google App Engine (Java Python), Elastic Beanstalk (Java)
  • Vendor Lock-in, lack of cloud portability
  • Fixed development environment e.g Viusal Studio for Azure
  • Deployed on a Public cloud only

These are just some many considerations/concerns. So what does Cloud Foundry offer in comparison ?

  • Developers free to use whichever framework and programming language they choose
  • Potentially deployable to any cloud infrastructure
  • Developers use whichever development environment they choose
  • Deploy to public or private clouds

Cloud Foundry has been made open source and can run on any Cloud infrastructure including Amazon AWS and many others. This means that developers can choose whichever programming language, development environment they wish, build their applications and then deploy to whichever cloud they like with NO modification to the code base. In its current form, Cloud Foundry supports the following languages, Java, Groovy, Ruby and Node.js. Others will follow shortly.

In summary, VMware have released a Cloud platform that has the potential to totally revolutionise the PaaS landscape. This is important as it enables developers to do what they do best – develop in the language and framework of choice and have no concerns about deployment environments, operating systems etc. The release is in beta form and you can subscribe to get a free account at I have subscribed and will let you know how I find the platform.

For anybody who is interested in Cloud Computing and how it can benefit your organisation, for instance, as a developer how can PaaS help me ?, what is the difference between Microsft Azure, Google App Engine,, Elastic Beanstalk and others as well as gain hands-on experience of the tools why not consider attending Learning Tree’s Cloud Computing course. An industry leading cloud computing practitioner will present the course and be on hand to answer all your questions.


Google App Engine SDK Release New Features

With grabbing a lot of the Cloud Computing headlines over the last few weeks with its new releases, announcements and acquisition of Heroku, the news that Google have released Google App Engine SDK 1.4.0 was easily missed. I thought that I would highlight what this important release adds to the SDK as Google announced this was the most significant App Engine release of the year.

First I will address the improvements to existing API’s. Until now, background tasks run from Cron or Task Queue were limited to 30 seconds. This limit has been extended to 10 minutes. Many API calls also had 1MB size limits. These have been removed on the URLFetch API, being increased from 1MB to 32MB. The same size increases also apply to Memcache batch get/put operations and Image API requests. Outgoing attachments on the Mail API have increased from 1MB to 10MB. These changes are welcome improvements to existing API’s but its the new features that are really exciting.

Firstly, the Channel API enables a bi-directional channel that allows server side pushing of data to client side JavaScript. This mean there is no need to write JavaScript that polls the server side application looking for changes. Secondly, a new feature known as Always-On is provided. This is aimed at applications that have variable or low traffic levels. Without these features, Google may turn your app off if there is no traffic. When a new request arrives, there will be a delay as the application is loaded. Always on prevents this, reserving 3 machine instances that will never be turned off. This is a chargeable feature that costs $9 per month. Finally there is warm up requests which is a feature that anticipates your application requires more machine instances and will load them before sending the instances requests.

These new features are a welcome improvement to the Google App Engine Platform as a Service (PaaS). The competition in this area between major players such as, VMware, Microsoft, Red Hat and Google amongst others is good news for developers. The platforms are becoming more an more powerful, feature rich and cost effective.

If you would like to know more about the Google App Engine and how it may benefit your organisation, or indeed about Cloud Computing in general, why not consider attending Learning Tree’s Cloud Computing course.

Chris Strengthens PaaS Offering

In past posts on Platform as a Service (PaaS) I have written about Heroku, a cloud based startup that delivers PaaS for Ruby developers. This month has acquired Heroku for $212 million in cash. It is interesting to consider how this acquisition fits into the Cloud Computing strategy.

When considering Cloud Computing, Software as a Service (SaaS) is an elegant application delivery model that has mastered. For application developers, PaaS is a perfect solution, providing a zero administration, scalable delivery platform. Infrastructure as a Service (IaaS) offers instantaneous provisioning of infrastructure in a cost effective, pay as you use model but requires the same level of support as on-premise infrastructure. Application developers have a choice for deployment of using PaaS or IaaS. PaaS is, for the majority, the preferred option for many reasons, primarily ease of use and zero administration (think security, patches, operating system updates etc).

PaaS has been dominated by two companies, Microsoft with Azure and Google with App engine. Heroku, also provides a solution, focused on Ruby developers. What is interesting is that Heroku is built on Amazon EC2 IaaS. With PaaS being so attractive to developers and organisations, it is a market that are clearly keen to provide solutions for. I recently wrote about their Java PaaS offering, VMForce, in partnership with VMWare. Add to this the core PaaS Salesforce have for extending their SaaS and now via acquistition Heroku, Salesforce are now uniquely positioned to provide the cornerstone for hosting the next generation of applications developed using a variety of programming languages and tools, all with one common feature – exploiting to the maximum the benefits of cloud computing.

In summary, for software developers, the landscape for hosting and deploying applications is rapidly changing – for the better and, via the acquisition of Heroku have positioned themeselves if not at the head, certainly towards the front of the queue of solution providers.

If you would like to find out more about how Cloud Computing can benefit your organisation, what the solutions from various PaaS vendors offer, how they differ, advantages and disadvantages, as well as gain hands-on experience, why not attend Learning Tree’s Cloud Computing course.


Red Hat Offers PaaS

Last week Red Hat acquired Makara, a Platform as a Service (PaaS) vendor who offer complete solutions for deploying, managing monitoring and scaling applications in the cloud. This move positions Red Hat as a major provider now of Cloud Computing services, competing directly with Amazon, VMWare, Google and Microsoft.

This move by Red Hat is interesting because Makara does not provide a cloud infrastructure itself but is built on top of Amazon EC2 infrastructure. However, a key feature of Makara is that it is not tied to Amazon and allows applications to be deployed to different virtual environments including Xen, VirtualBox and VMware. The link to Red Hat is that Makara uses JBoss as part of its PaaS offering. This suggests that the core platform is for Java developers, but in reality will also support other languages such as PHP.

So, Red hat now has the potential to offer a PaaS that can be deployed on public, private and hybrid clouds. In addition, the choice they provide is now wider than any other vendor can currently offer from range of software to deployment targets – compare with Azure for .NET and PHP, VMware’s tie in to the Spring framework and Google with Java and Python.

One of the major concerns I hear from organisations considering adopting Cloud Computing is vendor lock-in. This development by Red Hat addresses these concerns head-on and provides a clean attractive solution. It will be interesting to see how the other vendors respond to this.

If you would like to know more about Cloud Computing why not consider attending Learning Tree’s comprehensive hands-on introduction to Cloud Computing, where you will learn about the different offerings from the major cloud vendors and how they may benefit your organisation.


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


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: