2014 is set to be a perfect storm that will flatten out the unnatural boundaries between data, devices and development. By the end of this year, developers will evolve to become the ‘one-stop’ shop to fluently translate business needs to the web. At the same time, the productivity gains realized by tooling advances will allow the developer to enmesh themselves further in strategic business decisions, increasing the importance of their role in the success of every modern business.
While these seem like bold statements, this has been a path developers have been marching toward for years. With the advent of Agile development, developers have been pushing the industry continuously to iterate and improve how productive the development process can be. This is how dynamic languages such as our own Groovy language came about—where developers are given massive head starts on development projects by reducing the amount of scaffolding code to set up the app and providing powerful processing primitives that accelerate development of scripts. This is why the World Wide Web Consortium (W3C) outlined the requirements for HTML 5 to become a unifying concept for change, ironing out how developers deal with disparate devices, graphics, and storage, while layering in modern personalization requirements like geolocation. Simply put, our aim is to make the developer more powerful and productive across an IT landscape littered with a huge variety of data types and devices.
While these improvements individually are helping improve the developer experience, this year also will mark the snowball effect of broader trends in the industry to standardize and fuse development processes. The industry as a whole is motivated to come together and broadly solve some of the biggest challenges for the developer, placing the developer more at the center of business and making their job easier at the same time.
So, without further ado, let’s take a look at the key predictions for change we at Pivotal see for the developer this year:
- It’s the year of the PaaS. Percolating in the industry for years now as the next logical progression from Software-as-a-Service (SaaS), the development and operations platform is ready for prime time. Seven years ago, the first iterations of Platform-as-a-Service (PaaS) were tepidly welcome with offers for free developer hosting, streamlining many of application lifecycle operations and pay-as-you-go usage models. However, to take advantage, developers had to conform to the PaaS provider way. This meant if you were to use Google’s App Engine, you needed to develop using Python. If you wanted to harness the burstable scale that Amazon has to offer, you needed to write your own tooling, like Netflix did, using their proprietary APIs, tacitly tying your apps to their infrastructure and service. This wasn’t short-sightedness by the PaaS providers—this was hard stuff to universally solve. The idea of building the mac-daddy of integrated development environments while at the same time separating out the layers that build, run and manage your apps so they are interchangeable is concept that is almost at odds with itself. There were always trade-offs between productivity and choice for the best tooling. So developers, possibly already sated by productivity advances in their toolsets, frequently chose to forego the idea of the all encompassing PaaS. PaaS offerings have flourished, diversified and matured, and this is the year that developers are taking notice. We’ve seen it at Pivotal with the outbreak of momentum for our PaaS, Cloud Foundry. Cloud services providers like IBM, Intel, Piston Cloud, Savvis and Verizon all made big announcements in the past 6 months alone to offer large scale PaaS services based on Cloud Foundry. Built to be open to any technology and portable across private, public and hybrid clouds, developers are starting to see the path where their tooling advances can meet in the cloud with application lifecycle advances promised by PaaS providers. As a result, cloud service providers are all shifting themselves to capitalize on the pent up demand early in the year paving the way for PaaS to become mainstream by the end of the year.
- ‘Big Data’ becomes ‘Data’ once again. Concepts of big data are increasingly becoming a defacto standard in how we build apps. The term ‘Big Data’ evolved from a hard limit where traditional data approaches were frustrated the sheer volume and variety of data types as well as the cost. Today, distributed data approaches like Hadoop and NoSQL have ushered in an era where the size of the data is not the challenge anymore—it is what you do with it and how quickly you can turn data analysis into actionable insight. Over the past several years, the industry has been hard at work providing support for NoSQL stores and simplifying the development experience for Apache Hadoop. Accustomed to having big data analysis off in a data warehouse, we are slowly breaking ourselves of the mentality that we need to wait for big data results. Customers are demanding to do big data analysis in-process and in real-time. Apps like Facebook are using your social activity and interests to target ads that appeal to what is top of mind. Banks are catering to the global customer, performing sub-second credit checks that span the globe to ensure the financial security of their transactions. We are solving crowd management, traffic congestion and social selling by leveraging massive amounts of geo-location information streaming from our mobile devices. The challenge standing in the way of that real-time goal right now is data ingest, and this topic will be at the forefront of the big data conversation for most of next year. A new class of systems in developer platforms, like Spring XD, are emerging that boost the ingest (and also the export) power, while also making data patently easier for the developer to manipulate and use. We are also seeing bolt-on solutions like in-memory data grids that provide developers with fast, resilient and scalable data stores dedicated to their applications. As the adoption of these new strategies increases this year, developers and their business counterparts are going to find bigger ways to use data in every day business, making ‘Big Data’ concepts not the exception, but the rule, and relegating the term back to just ‘Data’.
- The resurgence of Java. In the past few years, Java has weathered a lot of criticism from the developer community. Dependent on the specific JVM running on every machine using it, Java was rejected by admins and developers as an antiquated approach to software delivery and a blatant security risk. Likewise, users were annoyed by Java since their browsers frequently required them to update their software in order to browse a web page. Nouveau approaches such as Ruby on Rails and Python emerged that mitigated some of these short comings, and developers diversified their preferences. However, in recent years, the internet’s most ambitions projects such as Google, LinkedIn, and eBay all moved to Java. The fact is, Java is really well suited for the massive amount of traffic these applications create. Just in September, Twitter explained to Wired that they had to rip out Ruby on Rails and replace it with Java in order to put the famous ‘Fail Whale’ to bed. They confessed at times they had to build isolated staging instances of their public app for photo ops to guarantee uptime. After the move to Java, this past summer they endured their single highest peak of 143,199 tweets a second—without a blip in performance. Considering normal is about 5,700 tweets a second, this is a more than a 25x spike, and the systems running safely on Java weathered it. Square CTO Bob Lee claims Java is the only way his San Francisco startup that runs $15 billion in financial transactions a year can move forward. ”Java is really the only choice when it comes to the requirements for a company like ours—extreme performance requirements and extreme scalability requirements. There is no viable alternative.” With the internet giants publicly endorsing Java, this year we will see many developers return to their roots in Java and as a result the percentage share of new applications and services that are written in a JVM language will increase next year.
- Machine to machine (M2M) programming to power the Industrial Internet coming of age. Pioneers like General Electric have been heralding in the age of the Industrial Internet for a few years. Their vision is bold, and to many, it sounds entirely too futuristic to be a concern today. However, a broad group of industries are realizing that the future is now. 14 companies, from varied industries, just announced in October that they will save $20 billion next year by Industrial Internet solutions GE sold them today, and $10-15 trillion by 2020. Companies like Gol Airlines, who is now able to track, analyze and adapt its flight routes and fuel consumption, will be able to save $90 billion in fuel charges alone in the next 5 years. Already widely adopted by the military, drones are becoming a quick reality as Amazon is planning to deploy a delivery force of them soon. So, just as we see ‘Big Data’ move out of the realm of just the enlightened few, we are going to see its adoption permeate all industries, particularly the large scale Industrial Internet where the volume and value of operations present an enticing opportunity to reap in big savings. As a result, this year we will see more of the story on how the Internet of Things communicates with the apps and analytics we’ve classically reserved for software applications.
- The Mobile Internet will die. No, this is not predicting the decimation of the mobile device market. Actually just the opposite. According to IDC, sales on tablets are going to increase by 18% and smart phones by 12%. We are almost two years into the age where more than 50% of all transactions are performed on a mobile device. Mobile is no longer the exception, it is the rule. Android devices have already standardized on the JVM to run apps, and adapt applications to their platforms. HTML 5 has matured over the past year specifically to ease the burden of web developers writing apps that run on multiple devices. Venture capitalists are known today to disqualify start-ups from funding for a lack of a mobile and social strategy. This trend is going to continue and we are going to see more efforts from platform provider to make supporting a broad array of devices, with little extra effort from the developer themselves. As it does, the word ‘mobile’ will be simply implied whenever you talk of the internet.
- MSA will be the new SOA. Micro-Service Architecture (MSA) at its core is not new. It it simply a new moniker for the application of time-tested principles of software development, such as SOLID, to coarse-grained services. Software architects have consistently tried to make units of code smaller, more reusable, more loosely coupled, and more highly cohesive. Every decade or so, we improve on another dimension of this process, some marketing genius gives it an acronym, and that banner is flying for the next few years spawning a host of application modernization projects. Today, with data and devices becoming part of the backbone of development, we are preparing for the next wave of app modernization, and it will be called MSA. The best distinction I’ve heard from MSA to SOA is simply that it is SOA done according to the Unix philosophy: code modules should do one thing and do it well. Larger workflows are constructed using pipes and filters so that individual components can be easily replaced or upgraded. Under the MSA banner, we will be architecting to make better use of data and devices as well as capitalizing on cloud economics. We will see evil monolithic applications decomposed beyond the traditional n-tier level into a massive system of discrete services that are simpler to create and understand, are able to scale across large dev teams, naturally have more fault isolation, and mitigate long-term commitment risks to specific technologies.
Recent News For Developers
- Late last year, we launched Pivotal One, the cohesive set of Pivotal technologies that aims to significantly accelerate how companies build big data apps is now available. Not sure of what that means? Some journalists are calling it “Google in a box”, allowing even the smallest startups to develop like internet giants. Read this piece on the 5 quotes across the media to understand how this will become a pivot point for developers.
- MADlib, the open source analytics library maintained by Pivotal as well as researchers at UC Berkeley, Stanford University, and University of Florida, gets a major update including new mathematical, statistical and machine-learning methods that are designed to help a broad spectrum of industries.
- A major update to Spring, now called Spring.io, is released including several new big data enablers including Spring XD. See what attendees of SpringOne 2GX had to say about the new release here.
- Pivotal is now offering Redis support, and we also released Redis 2.8.0.
- 21 Reasons the ‘Pivotal Way’ of Developing Attracts Software’s Best Talent
- Websocket Architecture in Spring Framework 4.0
- 6 New Trends in Apps Emerging As A Result of Big Data