Cloud application development is different from established, enterprise software development. And that's one reason why Rackspace is taking its strategy of supported cloud computing and extending it to developers.
Rackspace is making available software development kits (SDKs) for Java (frequently used for enterprise applications) and PHP, Python and Ruby (frequently used in Web applications), and making them available in the Rackspace Cloud. It's also making Microsoft .Net languages, such as C#, available as well. They are used both in the enterprise and on the Web.
PHP, Python and Ruby are all interpreted languages. Applications developed with them go through an interpreter each time they're run. That means a change to the code is picked up immediately with the next run of the application, making interpretative languages good for addressing frequently changing business conditions. Java and .Net are both more mature and more strictly defined in how they work with data and what they can do, giving them greater predictability and stability. Both sets of attributes are needed in cloud-based applications and both types of languages may be used in building different parts of a cloud application.
The move makes Rackspace into more of a platform-as-a-service for developers instead of strictly infrastructure-as-a-service for compute workloads.
[ Want to learn more about how Rackspace expects to create a global presence in cloud computing? See Rackspace Launches Global OpenStack Expansion. ]
Rackspace is looking to expand the use of its Rackspace OpenStack-based cloud, and developers are a good source of business. Once they develop an application in a given cloud environment, chances are high they will run it there as well, using the environment with which they are already familiar. Over several years, Amazon Web Services supported the use of many languages. It serves as the host environment for a wide range of developer-based services, including the Heroku platform-as-a-service, owned by Salesforce.com, and the OpenStack developer cloud, OpenShift, owned by Red Hat.
Rackspace was early to market and a founder of the OpenStack open-source project. But analysts, such as Jillian Mirandi at Technology Business Research, have pointed out that Rackspace over the last year has migrated existing customers off its old infrastructure onto its OpenStack cloud, a process that has occurred steadily, but at the expense of acquiring new customers.
In Rackspace's first-quarter earnings call May 8, CEO Lanham Napier said 2.6% growth over the previous quarter represented a slowdown in its cloud-revenue expectations. "The primary source of slower growth in the first quarter came from slower-than-expected sales to our enterprise customers," he said, according to a transcript of his remarks.
Rackspace also reversed course Feb. 22 when, after saying it wouldn't compete with AWS on price, it lowered prices on storage and bandwidth use to match those of Amazon's. The combination drove its stock price down 20%.
At the same time, more developers are looking for compatible cloud environments in which to develop applications, and Rackspace is seeking to capture its share. They tend to have different characteristics from the typical previous generation of enterprise applications, as explained by Eucalyptus Systems' Marten Mickos in The Washington Post .
Among other things, cloud applications need to assume the hardware might fail underneath them and have failover instructions to another instance of the application ready to be executed at a millisecond's notice. Demand for the application might expand and contract unpredictably, and therefore it has to be designed with load-balancing characteristics that can be applied automatically. Additional servers might need to be spun up to maintain the appropriate response times to customers, another cloud application characteristic.
Such changes occur in a scale-out fashion, where more virtual servers are added to a cluster to handle the load, as opposed to taking over more of a single large server or small cluster of them.
Developers who choose to use the Rackspace Cloud will get support from Rackspace's own expertise in use of the SDKs and application programming interfaces. Rackspace is known for its willingness to support cloud customers both by email and directly on the phone, whereas Amazon Web Services offers only email support. Amazon competitors point out you can't find a phone number to call for support on the AWS site.
Rackspace support will help a developer figure out where his application code is interacting with a Rackspace cloud API or run-time environment for the language used by his application. It will help identify coding errors and advise on best practices for invoking the SDK or API.
Given its experience in building cloud infrastructure, Rackspace support personnel can advise when a given application in the Rackspace Cloud needs to scale out; when to automatically generate more servers based on the application logic; when you need a custom monitoring script to check the status of a MySQL database replication; and so forth.
"Rackspace Developer Support marks the first time we will officially support your application code. When you're programming your application to interact with the Rackspace Cloud powered by OpenStack, we want to make sure it is as easy as possible," Moorman wrote.