2015 Enterprise Dev Predictions, Part I: Promise and Peril Ahead
More on This Topic:
The coming year offers both promise and peril for enterprise software developers -- which, of course, is something you can say about every year (every month, for that matter). But I always think it's worth taking a moment during this first week of the New Year to talk with industry watchers about what might lie ahead during this particular orbit around the Sun.
Forrester analyst Jeffrey S. Hammond got out his scarily accurate crystal ball for a quick gaze into 2015. He told me via email that, among other things, he sees the pressure growing on mobile and Internet-of-Things (IoT) developers to "go native and specialize" because of the quickly separating ecosystems of Google, Apple, and to a lesser extent, Microsoft.
"Whether it's smart watches, home automation or vehicle integration," Hammond said, "the challenge for devs will be to plug into mobile devices and the ecosystems of connected products that are designed to work with them without having to write (and maintain) the same functions in multiple code bases."
He also expects "framework pain" in the JavaScript space to worsen, even as adoption of the popular dynamic scripter grows. "There's a fair amount of angst in the JavaScript space about which frameworks companies should use," he said, "and which ones will be 'long-term bets.'" He notes that the team behind Google's AngularJS open source Web application framework "threw a lot of folks for a loop" when they announced that AngularJS 2.0 would be a significant departure from 1.x with no migration path and a focus on a new language (called AtScript). Also, the NodeJS fork in November (IO.js) "has folks concerned." He doesn't believe that these developments will stall the adoption of JavaScript, but it will continue to prompt devs to look for "a better way."
And then there are the micro-service architectures: "Figuring out how to do things 'the Netflix way' will force developers to come to grips with technologies like Docker, Kubernetes, and the AWS EC2 Container Service, as well a lighter-weight runtimes like Node," he said. He also believes that the move to micro-services will amp up the pressure on Microsoft and Oracle to "slim-down" the .NET and Java VM's to decrease their footprint.
I also connected with Jonas Bonér, CTO and co-founder of Typesafe, the company behind Scala, the general purpose, multi-paradigm language that runs on the Java Virtual Machine (JVM), and Akka, the open-source run-time toolkit for concurrency and scalability on the JVM.
Bonér also pointed to container-based infrastructures, which really took off in 2014, to continue to make life easier for the devs who adopt them. The technologies he sees driving this trend include Docker, Apache Mesos, Google Kubernetes, and CoreOS.
"The floodgates have really opened in terms of moving away from server-based JEE and .NET 'old stack' models to more service simplicity, single-responsibility, composable and isolated approaches for service design," he said. "We see this trend continuing to pick up momentum in 2015 as the industry debates about the ideal size and behavior of services in the new world of applications that need to run across multiple cores."
Java 8 was the "game changer" for developers last year, Bonér observed, and he expects that impact to continue as adoption spreads in 2015—with at least one interesting side effect. "When the 800 pound gorilla (Oracle / Java) endorsed new abstractions like Lambdas, Streams, and CompleteableFuture to allow more functional style programming, it really set the wheels in motion for new ways of thinking about writing asynchronous and concurrent systems," he said, "and it opened a lot of mainstream Java developers' eyes to a range of other languages and possibilities."
Big data and how developers should be dealing with it dominated many conversations in 2014. Bonér expects that conversation to continue, but with a different emphasis.
'We're seeing the discussion around big data moving away from size and more towards velocity," he said. "Call it Fast Data. Speed is the hardest problem to solve—getting in-memory cached, real-time processing of data. When analysis needs to be done on the fly, on live data streams, with real-time feedback to systems, there are a host of major challenges. We think Fast Data will be the rallying cry for big data developers in 2015, and there is a lot of symbiosis between new Reactive Programming models and the challenges of achieving Fast Data."
Martijn Verberg, CEO of jClarity, a startup focused on automating optimization for Java and JVM-related technologies, and co-leader of the London Java Users Group, cited a "wave of new practices and technologies" that will challenge leading-edge developers this year, including: The move to rich JavaScript/HTML5 clients, made possible by advanced JavaScript frameworks such as AngularJS; reactive/dataflow based architectures; and virtualization and DevOps.
The move to rich JavaScript/HTML5 clients is one that is "still fraught with difficulties," he said, "because the tool chain and testing suites around this brave front end (often mobile) world are simply not anywhere near as good as what the .NET or Java folks in particular are used to. I've seen much evidence of larger development shops simply not having the expertise to cope and many developers being torn out of their comfort zones."
The demands of reactive/dataflow-based architectures are also going to push developers out of their comfort zones, Verberg said. "Software projects are increasingly about shipping and transforming large amounts of data," he said. "Even within enterprises where the number of end users tend to be smaller, you have larger, richer data sets to deal with. The old three-tier 'straight to the data store' architectures no longer can support the scalability needs. Reactive and functional thinking is a huge challenge for traditional enterprise developers; it's a whole new (well actually old, but reinvented) way of thinking and architecting software. I see many developers struggling with the concepts and a lack of visualization tools around reactive programming and data flow makes it even trickier."
Verberg also expects devs to feel a new pressure to fully understand DevOps and virtualization, "or be left scratching their heads when their apps fail miserably in their private or public cloud deployments."
I'll have more 2015 prognostication from the savvy and the insightful later this week.
Posted by John K. Waters on January 7, 2015