9 cloud development platforms on the rise
Cloud development platforms on the rise
Thanks to a growing group of PaaS (platform as a service) providers, cloud computing is becoming more prominent as a mechanism for developers to seamlessly deploy applications. Whereas IaaS providers offer bare compute cycles and SaaS providers offer access to such apps as CRM online, PaaS offerings provide turnkey services for developers to get their apps up and running quickly, no infrastructure concerns needed.
Offered as a service, PaaS runs the gamut from development tools to middleware to database software to any “application platform” functionality that developers might require to construct applications. Developers looking to cash in on this trend would do well to experiment with the following nine PaaS offerings.
Microsoft Windows Azure
Windows Azure lets developers deploy applications across a global network of Microsoft-managed data centers, offering a 99.5 percent uptime SLA. Applications can be developed via technologies like ASP.net, PHP, and Node.js. Developers can also host Apache Tomcat servers and JVMs via worker roles, while an Azure SDK for Java enables Java development. Microsoft recently added a video delivery service, Windows Azure Media Services, to its Azure arsenal. Azure also features SQL Azure database services, as well as services for storage, business analytics, caching, identity secure messaging, and content delivery. The Windows Azure HPC Scheduler eases development of compute-intensive parallel applications. Also, developers can list Windows Azure applications on the Windows Azure Marketplace.
Google App Engine
Google App Engine enables developers to run Web apps on Google’s infrastructure. It features dynamic Web serving; persistent storage with queries, sorting, and transactions; and automatic scaling and load balancing. It supports Java and languages using a JVM-based interpreter or compiler, as well as Python and Google’s Go. The dev environment enables developers to simulate App Engine on local machines. Applications run in a secure sandbox with limited access to the underlying OS, and Web requests can be distributed across multiple servers. For storing data, App Engine Datastore offers a NoSQL schema-less object datastore, the Google Cloud SQL relational SQL database service, and Google Cloud Storage, for storing objects and files up to terabytes in size. App Engine features APIs for authenticating users.
VMware Cloud Foundry
EMC VMware has positioned its open source Cloud Foundry as Linux for the cloud, providing a level of application portability across clouds. According to VMware, Cloud Foundry does not lock developers into a single framework, a single set of application services, or a single cloud. Cloud Foundry is available via public instances and private distributions. It features CloudFoundry.com, a hosted environment; CloudFoundry.org, for collaborating and contributing to the project; and Micro Cloud Foundry, a VM version of Cloud Foundry to run on a Mac or PC. CloudFoundry.com supports development in Spring Java, Ruby on Rails, Node.js, and other JVM languages. Also supported via partners on CloudFoundry.org are PHP, Python. Net, and others.
Force.com from Salesforce.com is billed as a platform for social enterprise applications. Developers can build applications with social and mobile functionality, business processes, reporting, and search. Data is backed up automatically, and applications run in Salesforce.com’s data center. A technology stack is provided covering database, security, workflow, and UI. Force.com supports the Apex programming language, with developers able to write database triggers and program controllers in the UI layer. Apex syntax will be familiar to Java and C# developers, with features like classes, constants, and annotations, Salesforce.com says.
Acquired by Salesforce in late 2010, Heroku supports Ruby, Node.js, Clojure, Java, Python, and Scala development. Heroku leverages “dynos” — processes of any type running on the platform, such as Web or worker processes. Dynos are isolated in their own container for security and resource guarantees; they also feature elasticity, routing, and process management. Dyno distribution is done via a dyno manifold execution environment. Heroku Web scaling offers instant spin-up, infinite capacity, and scaling for each component of an app, according to Heroku documentation. Git is the primary means for deploying apps to Heroku, and apps can use relational database services, including Heroku’s Postgres offering and MySQL from Amazon Web Services.
Amazon Elastic Beanstalk
Elastic Beanstalk provides a way to deploy and manage applications on the Amazon Web Services cloud. AWS services, such as Amazon Simple Storage Service, Amazon Simple Notification Service, and Auto Scaling, are used as infrastructure, and PHP and Java programming are supported. The platform is built with such software stacks as Apache HTTP Server for PHP and Apache Tomcat for Java. Developers retain control over AWS resources and can deploy new application versions to running environments or roll back to a previous version. CloudWatch provides monitoring metrics, such as CPU utilization, request count, and average latency. To deploy apps to AWS via Elastic Beanstalk, developers can use the AWS management console, Git, or an IDE like Eclipse.
Engine Yard Cloud
Engine Yard features a Ruby on Rails technology stack, including Web, application, and database servers. Also featured is a Rails-optimized Linux distribution. Components are monitored for security vulnerabilities, and apps range from small-scale Web applications to large enterprise applications that run on high-availability clusters. Developers can import applications from Git and are provided with a dedicated environment that can be customized. Capacity management is featured along with self-service provisioning. Resource use is tracked, and developers are alerted when additional capacity is needed. The Engine Yard dashboard enables developers to configure environment, application deployment, and monitoring.
Engine Yard Orchestra
Built on Amazon Web Services, Engine Yard Orchestra is for deploying PHP apps to the cloud. Developers can build applications with popular PHP frameworks and deploy from Git or Subversion. Applications can also be deployed with built-in content management systems, such as Joomla, Drupal, and WordPress. The core platform is built on PHP 5.3 and the Nginx Web server. Applications automatically scale with traffic and resource usage. A load balancer distributes loads across available instances, and an HTTP caching-mesh capability enables faster loading and response time. The platform is good for running APIs, Web services, and mobile and Facebook apps alike, according to Engine Yard.
CumuLogic is geared toward Java developers. It features a platform for running apps and migrating them to the cloud. Enterprises can build private PaaS clouds within their data centers, or they can use CumuLogic to build public cloud offerings. A virtualized environment or IaaS can be transformed into an application platform with monitoring, self-healing, and management capabilities. Developers can deploy mobile, HTML5, Web, or enterprise applications, and they can use IDEs like Eclipse or NetBeans, while CumuLogic provides a management layer for deployment and management of applications. CumuLogic is designed to enable devops personnel to better collaborate.