Don Ferguson, CA's CTO was one of the pioneers of the software revolution that built much of today's Internet, driving the n-tier model that powers much of the web in his role of Chief Architect of IBM's Websphere application server. At CAworld last week I sat down to talk with him about how he saw the future of software – especially around the model-driven development, orchestration and management framework that CA was proposing.
Ferguson sees the future of business IT as one structured around a mix of private and public cloud-hosted business services, with CA's model-powered Business Services Value Roadmap a key tool for integrating those services into a business IT system. Tools like that are important, as they mean that businesses can bring in a mix of services, some internal some external – and manage them all the same way. There are powerful side-effects too, as having assembly and orchestration models means it's a lot easier to automate management and deployment, making the application lifecycle easier to manage.
That switch to building on top of model was a big change for CA, as Ferguson says, "Once we started modelling it changed how we do everything else." One key change was to the way CA thought about user interface, instead of making UIs simpler and more CA-like, with the move to services it began to provide APIs instead, so that businesses could integrate them into their own UIs.
Ferguson has been thinking about the evolution of the cloud, and the problems that "people don't know where it's going to wind up, beyond Infrastructure and Software as a Service." He sees those two cloud approaches as transitional, and in five years the cloud market will be dominated by Platform as a Service and the programmable web, with the value in the platform. Already Web APIs are changing the way people build software, with tools like Drupal plug-ins making it hard to come up with an application where you actually have to write your own code. Ferguson suggests that this will be the model for cloud-spanning applications, the next layer of abstraction. It's where he's focused on, as it's where the world is going to be. It'll be one giant computer that is the Internet, with platforms and data, and as Ferguson says, "Not in a single place, it's everywhere."
That all adds up to what Ferguson calls "The second big change", where cloud computing is going to kill programming (or rather, change enterprise application development completely). All you'll need to do is find what you need, subscribe to it, and configure it. Of course it's not that simple, as there's more to it than just wiring together a bunch of endpoints. It’s also about managing and securing those endpoints. That model drives some key areas, like CA's mobile strategy, and how the company's tools help in understanding interactions with applications and services that an enterprise has contracted to use.
It's a world where you'll design and construct UI's to applications you don't own, pulling together a bunch of cloud hosted service APIs. It's an approach that's easy to automate, one where you use situational programming techniques to produce the applications you want form the services others provide. It's important, then, to have trust in the tools and services we use, trusting the Lego that builds this connected cloud world. That means having trusted brands, rather than trusted technologies – and having the tools that let us federate shared secrets across the boundaries between applications, securely.
While there may not be a role for the traditional enterprise developer in this world of tomorrow's software, there still will be software companies. After all, someone needs to build those services, and someone needs to provide the orchestration, automation and management tools – and to handle the secure transmission of information across and between those services. A brave new world indeed.