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.
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.
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.
"The cloud is here to stay," the analysts concluded. "Start learning what cloud computing holds for your development organization. Formulate a strategy to put this new generation of platforms to work."
Five key elements of such a strategy are:
1. Make enterprise development more nimble and adaptable -- in other words, more like a startup. "Every line of code they write has to be linked to their ability to obtain revenue." So enterprise development teams should know at a deep level what it is the company is trying to do and how it relates to its customers.
2. Startups don't build up elaborate architectures. They use "just enough business-focused process and technical tools to get them to a solution as quickly as possible," they said. Likewise, startups need to respond quickly to changing conditions and competition. "You can't just set a course and stubbornly stick to it," they warn. In other words, find your inner startup, they advise, and put it to work.
3. Don't stick with the same development platform out of misguided loyalty. The Java and .Net languages and related technologies remain the favorites of developers, but the analysts said there has been "a significant uptick" in the use of lighter weight technologies, such as the Apache Tomcat Server, Adobe Flex, the Dojo Foundation's Ajax components, open source Drupal content management, Google Web Toolkit, and the open source Joomla portal management system.
In addition, other open source code is frequently used, including the Red Hat JBoss application server and middleware, the Ruby on Rails scripting language framework,the SpringSource Framework for producing Java applications (SpringSource is now part of VMware), and the Zend Framework for PHP development from Zend Technologies. A large retail chain recently deployed open source Geronimo, an Apache Java application server to 4,000 stores, saving itself charges for 4,000 software licenses.
4. The analysts urged developers to expand their definition of performance in 2010. Performance is affected by the overall platform quality, ease of use, ease of adoption, ease of making changes and availability of a broad community of support. Open source code alternatives are often not as rich in features as their commercial counterparts, "but they often measure up just as well in other dimensions of an expanded performance matrix," they wrote.
Furthermore, the report's authors urged developers to become "passionate" about the user experience they were delivering in their software. Best practices for user experience design need to be injected into the development process, they said.
5. Finally, the analysts urged the cultivation of developers with the right talents. Many offer fine technical skills but don't have much understanding of the business. When accelerating development in the cloud, knowledge of the business may prove as crucial as technical skill.
Cloud computing is part of the "new normal" of enterprise computing, which takes the lean and mean operation during recessionary times and continues it into the return to a healthier economy. Cloud development will help enterprises do more with less, and getting cloud skills right might make the difference between success and failure. "If your competition can build an app faster than you, then your business will be destined to be no more than a fast follower," they concluded.