The Services Megatrend

We are in the middle of a change that is having a huge impact on software and on enterprise IT.

In the last generation of software, we built web applications that talk to desktop computers, and smartphones. These were often big applications with many features, running in one app server, with one database. We call this a "monolithic" design.

In the new generation, we are breaking those big apps into smaller apps that talk to each other using Web network protocols. We call them Web services. Users are increasingly picking small, best of breed applications and linking them together. Mobile phones and other devices talk directly to the service they need. Inside the Web apps that you see, front-end services are talking to back-end services. Applications may call other remote applications to get services they need. When you "login with Facebook" on a different app, or pick files out of Dropbox, you see these remote services in action. Monolithic apps are being broken into pieces that are easier to re-use, and easier to rapidly test and release.

The diagram above helps me understand some current buzzwords:

Consumerization of IT. Users are avoiding big enterprise apps and instead using smaller apps and services that each represent a best of breed experience in a narrow category.

Devices and Services. Big companies like Microsoft can link devices to their Web services in a single product package. Ultimately this becomes the "devices and services" architecture that will link most computing devices into one mesh.

The Internet of Things. Just add more devices, things like cars, thermostats, running shoes, etc., and you get the Internet of Things.

Big Data. All of those things stream out a LOT of data. That data gets stored in some services, analyzed in others.