Cloud computing offers a potentially higher speed development platform. It's time to get started, say three Forrester Research analysts.
The cloud is an emerging platform that can ease the strain on application development, analysts at Forrester Research conclude in a report published Monday, "The Top Five Changes For Application Development In 2010."
Analysts Mike Gualtieri, John Rymer and Jeffrey Hammond conclude that Amazon Web Services' (AWS) cloud, EC2, and other public clouds, such as Salesforce.com's Force.com, AT&T Synaptic Compute cloud, Rackspace Cloud, and Microsoft Azure, are offering mature operational environments that can be used to speed the development and launch of cloud applications.
"Various public cloud offerings are maturing rapidly, opening up more opportunities for developers to quickly build and delivery applications. You should start now." the authors concluded.
Salesforce.com is a leader in establishing its platform as a development environment and encouraging the creation of application to run alongside its standard customer relationship management applications. It offers a proprietary language, Apex, for the creation of business logic and the Visual Force graphical user interface building tool that invokes Adobe Flex components. Microsoft will soon offer Visual Studio 2010 and .Net 4.0 to give Windows developers the option of building applications to run in Azure.
Force.com's senior director of platform product marketing, Ariel Kelman, said it takes one-fifth the time to develop an application using the database-centric Force.com platform and development tools versus standard enterprise development techniques. He says that conclusion is supported by a Salesforce.com-sponsored study by Nucleus Research.
In addition to Microsoft and Force.com, the analysts cited LongJump, Caspio, Boomi, and WorkXpress as supplying online tools for cloud application development.
"Cloud platforms offer big improvements in the cost and speed of deploying applications... Embrace cloud computing as an emerging platform," they wrote. The mature cloud platforms allow development teams to skip buying servers and storage and setting up networks to connect them. Rather, development can proceed more directly, based on use of the target cloud's APIs, which speeds the launch of the application in the cloud, they said.
By developing applications for the cloud, developers avoid the doggedly perplexing issue of being able to scale out the application at will. Applications can scale up just as fast as server instance subscriptions can be added, based on the cloud's subscription process. If the application runs on open source code, then no new license charges need to be incurred as the application is scaled out across more servers, the analysts observed.
Public clouds now offer choices for application deployment. The infrastructure as a service option, such as Amazon's EC2, offers developers maximum control over the application. Platform as a service providers, such as Force.com and Microsoft Azure, offer a more integrated development environment leading to faster deployment; and software as a service vendors, such as Oracle's E-Business suite, open source SugarCRM, or Salesforce.com's CRM application, offer ready-to-use, finished applications.
Furthermore, the analysts concluded, public cloud servers are good for running Web site applications, collaboration and social networking applications, email, information services and analysis applications dealing with large data sets. They are still less desirable for running core business production systems and transaction applications.
SaaS As Innovation Driver?Software as a service is the clear No. 1 way enterprises consume cloud. InformationWeek's SaaS Innovation Survey reveals three tips to get the most from SaaS: Make it a popularity contest. Have an escape plan. And remember that identity is the new perimeter.
Join us for a roundup of the top stories on InformationWeek.com for the week of December 14, 2014. Be here for the show and for the incredible Friday Afternoon Conversation that runs beside the program.