Using clusters to build software more quickly is nothing new. But as cloud services and hosting options continue to grow, so too do the available solutions for building software in the cloud. While cloud builds traditionally have been the domain of Electric Cloud and Atlassian’s Elastic Bamboo, new offerings that target mobile devices and PaaSes have arrived to expand build options for developers.
Building software in the cloud makes sense when the compile time becomes prohibitively long, or when the build environment required is fluid and difficult to maintain. To this end, Adobe even moved into the cloud compilation business in September with the release of PhoneGap Build.
But Adobe is not the only company in the PhoneGap compilation business, either. Today, Application Craft announced the public availability of its new PhoneGap build service known as Application Craft Mobile.
Freddy May, founder and CEO of Application Craft, said that his company’s primary product is a Web-based UI and application-development platform, specifically able to deploy to multiple targets such as Android and iPhone.
To that end, May said his team felt it needed to have a product for building PhoneGap applications on its own, rather than rely on Adobe for the service. In three months, Application Craft modified its IDE to replace the one-click Adobe PhoneGap Build options with its own hosted solution.
Why go against a multi-billion dollar company with a system that does essentially the same thing: build PhoneGap applications?
Application Craft Mobile is currently free for developers, even if they did not build their applications with Application Craft. May also stated that Application Craft Mobile allows developers to edit the XML configuration file for builds without having to re-upload entire projects.
So why, after only a few months in the wild, are there already two similar PhoneGap build and compilation services? This is primarily because PhoneGap users find that maintaining all of the target development environments in a build system is among their biggest problems.
Because PhoneGap can deploy to Android, iOS, Window Phone and other platforms, it requires the full development environment for each of those platforms. Instead of requiring a fully up-to-date build machine in the development studio, cloud-based service offerings are always online and always up to date. It’s the same principle that drove Selenium testers to use services like Sauce Labs, where clusters of various browser versions are maintained in the cloud for Web-application testing.
Cloud-based build compilation isn’t just for mobile developers. Electric Cloud has long offered cluster-based software for speeding up compilation of large applications. Ashish Kuthiala, head of product marketing at Electric Cloud, said the move toward continuous deployment is leading the push for faster builds.
“There’s agile and the new movement of DevOps optimization and automation,” he said. “Those are the leading things. When they reach the maturity curve, they develop a lot of business-critical applications. They realize they have a problem and people are talking about DevOps as a solution.
“What is DevOps? It’s a methodology. It’s a way to get software out faster. Let’s share the goals, get teams together and understand what development does, what ops does, and stop throwing things over the wall. The fundamental thing is as you start to build these applications and release them, it’s the development team that knows best what’s in the application. If you don’t take advantage of this starting with development all the way through Q/A and production, by the time it gets to the ops side, it’s over.”
With the proper use of DevOps and agile deployment, said Kuthiala, the need for faster builds becomes more important. If developers are releasing every day, they need those builds to take only a minute or two, not 10 to 15 minutes, or even as much as an hour. With developer productivity the top priority in most organizations these days, waiting around for software to build is the death knell of lost time.
In fact, using a build cloud allows further consolidation of production resources, said Kuthiala. “We’ve just introduced ElectricDeploy, our application-deployment solution,” he said. “ElectricCommander ties source code check-ins to final solutions on top of specific application-deployment platforms. It gives us an end-to-end platform for our customers to do DevOps. Now we’re taking this to deployment of application. If you want to check in a line of code in agile, it can take weeks to deploy that change. We’re enabling this really fast right now.”
Indeed, build and deploy are moving closer and closer together, as supplemental systems become more integrated. But today, SaaS, PaaS and cloud technologies, teams can cobble together solutions that work for them, with relative assurance that these tools will integrate every step of the way.