Mobile device use and the Internet of Things continue to rock IT, forcing changes to developers' toolboxes as application development trends evolve to keep up. Among the results are expanding the use of platform as a service to speed development, mobile backend as a service to link devices with server-based transaction processing and Apache Spark for cluster-based processing of large data streams.
The explosion in the use of smart devices -- phones, tablets, watches and fitness monitors -- is the primary driver in the changing application development landscape. How prevalent is the reliance on these devices? According to Gartner's Predicts 2016 report, by 2018, the research firm expects that consumers in mature markets will add to -- rather than consolidate -- their device portfolio, resulting in the use of more than three personal devices per person. A majority of users will, for the first time, turn to a mobile device for all of their online activities -- essentially turning away from desktop technology.
In the rush to speed applications or products to market, the development process increasingly runs around the clock, using developers scattered around the globe who work collaboratively, said longtime cloud consultant Judith Hurwitz, president of Hurwitz & Associates in Needham, Mass. As such, she said she believes the trend toward platform as a service (PaaS), which simplifies the collaborative sharing of source code and testing, will become increasingly crucial. "Collaborative development is not a new concept. But with PaaS, companies are able to speed the process and get products deployed faster," she said.
Judith Hurwitzpresident, Hurwitz & Associates
David McCrory, CTO at Basho Technologies -- maker of the open source Riak database -- agreed that PaaS will help developers speed development and deployment, but added that PaaS is just one component in the larger, overall development environment. "The trend is having an integrated workflow from beginning to end; from a cloud-based [integrated development environment] where you code it, to a source code repository like GitHub, to automated test and deploy," he said.
McCrory also said among application development trends will be PaaS offerings that adopt a narrow focus, tailored for specific industries. He expects to see specialized PaaS products for vertical industries that are heavily regulated, or that must deal with strict compliance policies typified by healthcare, financial services and automotive. In a more general sense, this is already happening -- most notably with Salesforce's Thunder Internet of Things (IoT) Cloud and Amazon Web Services' IoT. Developers who master these areas of specialization are likely to have secure futures, McCrory said.
In its April 2015 report, Cool Vendors in Specialized PaaS, Gartner identified three PaaS providers that have already narrowed their focus: PubNub, which specializes in APIs and real-time communications for IoT and mobile computing; Pusher, for delivery of curated content; and Restlet, for API lifecycle management.
Mobile backend as a service
Along with the explosion in mobile device headcount and usage, among newer application development trends gaining momentum is mobile backend as a service, or MBaaS, according to Michael Swindell, vice president of product strategy at Embarcadero Technologies, a maker of development tools in Austin, Texas.
In its March 2015 report, Market Guide for Cloud Mobile Back-End Services, Gartner noted that "a clear separation is emerging between user-facing mobile apps and the services that deliver much of the access to the data and services required to give the apps the functionality they need."
MBaaS simplifies linking mobile apps with back-end data sources and other services, and is taking center stage as large, difficult-to-maintain, monolithic applications change into small, modular building blocks, Swindell said. "Developers once created an entire app from client to back-end database. But, as new mobile platforms come into existence -- we've moved on from tablets to wearables -- developers must think in a modular fashion, so their apps can continually evolve," Swindell said. The MBaaS products he cited include Facebook's Parse, Kinvey, App42, PayPal's StackMob, Red Hat's FeedHenry and AnyPresence.
Ultimately, there is a shift toward architectures where little or no configuration is done once the compute units -- now typically containers -- are deployed. Docker has championed this style, but characterized it as a fast-evolving space, with big vendors getting into the act, said Al Hilwa, program director of software development research at IDC. "That space is exciting and hotter than ever," he said. "At stake is the future of application development and software architectures."
Spark up, MapReduce down
A third application development trend is the rapid rise in popularity of Apache Spark for cluster and stream processing of large data volumes. Spark's swift growth appears to be coming at the expense of the MapReduce component of the Apache Hadoop software framework. In its December 2015 survey of 3,100 IT professionals -- 59% of whom are developers -- Typesafe, a San Francisco-based maker of development tools, noted that 22% of respondents are actively working with Spark.
The allure of Spark is indisputable for three reasons, according to Anand Iyer, senior product manager at Cloudera, the first company to commercialize Apache Hadoop. "Compared with MapReduce, Spark is almost an order of magnitude faster; it has a significantly more approachable and extensible API, and it is highly scalable," he said. "Spark is a fantastic, flexible engine that will eventually replace MapReduce."
At Cloudera, based in Palo Alto, Calif., the transition from MapReduce to Spark is already underway. In September 2015, Cloudera revved up its efforts to position Spark as the successor to Hadoop's MapReduce framework.
Anand Iyersenior product manager, Cloudera
IBM is also a believer in Spark, announcing a major commitment in June 2015. Characterizing Spark as "potentially the most significant open source project of the next decade," IBM plans to embed Spark in its analytics and commerce platforms, and to assign 3,500 researchers to Spark-related projects.
For developers, the rise of Spark should simplify the writing and debugging of code, Iyer said. "Learning the new abstractions in the API will become less burdensome than what they have had to deal with before." New APIs are providing greater insight into the underlying framework, easing the chore of tracking application performance and making it a natural addition to the typical developer toolbox, he said.
Whether it is PaaS, MBaaS or Spark, "technology does not stand still, and 2016 is no different," Hurwitz said. Consequently, the skills that developers must master and the application development tools that they use are always evolving in parallel, she added. "What this means for developers is either learn these new technologies to advance your career or get left behind."
Selecting a PaaS provider hinges on four factors
Reduce, reuse and recycle code with MBaaS platforms
Apache Spark beats MapReduce in speed, flexibility