During the week of October 5th, I had an opportunity to attend the AWS re:Invent 2015 conference in Las Vegas, of all places. As someone who has built an entire career on putting together custom application server software, I should be the last one to get excited about server-less applications. Just like Salesforce’s “no software,” Amazon’s “server-less software” mantra is about a world where application development is not limited by IT, software to install and servers to manage.
Traditionally, in an on-premise environment, putting together an enterprise application involved building out three pieces: the data store, the server and the client. Between the hardware, the software and the infrastructure associated with the aforementioned on-premise application, there were hundreds of thousands of dollars worth of up-front capital expense. The project team was forced to justify their project and their work to the C-suite. CIOs and CFOs were forced to place that initial bet without knowing whether the application will succeed or not.
Of course, computer hardware is just like any other electronic appliance. The washing machine I bought seven years ago continues to wash my clothes at the same rate as it did on the day I bought it. But my family has grown and we now have to do laundry for four people over an entire weekend.
Likewise, as the business grows and business requirements change, the original hardware and software purchased for an on-premise enterprise application will not keep up with the demands. And so project teams are forced to periodically justify increased capital expenditures. The process of explaining one’s existence to the IT department, the CIO and the CFO starts all over again and takes months.
At the Thursday AWS reInvent keynote Werner Vogels maintained a common theme: developers did not get into the software field to keep thinking about infrastructure. Developers have a passion to build applications that are useful and meet user needs. Most CIOs did not get into their fields to keep saying “No” to developers or to create and participate in IT red tape.
To understand the frustration users and developers have with the enterprise IT beadledom, all one needs to do is read commentaries on the rise of Shadow IT, such as this InformationWeek article by Andrew Froehlich:
According to Cisco: “IT departments estimate their companies are using an average of 51 cloud services, when the reality is that 730 cloud services are being used. And this challenge is only going to grow. One year ago, the multiple was seven times, six months ago it was 10 times, today it is 15 times and given the exponential growth of cloud we predict that by the end of this calendar year it will be 20 times or more than 1,000 external cloud services per company.”
[…] Much of the Shadow IT Cisco discovered included Compute services such as Infrastructure-as-a-Service (IaaS) from AWS and Google, as well as multiple storage and backup service providers. On the Software-as-a-Service (SaaS) front, marketing and sales applications such as Salesforce.com dominated.
In a cloud environment like AWS, one or two developers working out of their kitchen or a garage can build and deploy an application that will be useful to millions in a matter of days. Their only upfront cost is their time and effort. Their infrastructure only costs them per unit of utilization. If their idea succeeds and becomes profitable they can scale their application. As new services and technologies become available, the developers can utilize them to cut costs, to offer better performance and more valuable functionality. If their idea fails, they can shut it down and stop paying for the resources.
With great power comes great responsibility. While the need for a dedicated IT department goes away, the need to properly train and monitor developers becomes more important. In an on-premise environment, the IT department acts as the gatekeepers to the use and evolution of the IT infrastructure. The cloud requires a new way of thinking.
Andrew Froehlich writes:
However you ultimately decide to handle the situation, know that the likelihood that Shadow IT can be completely eradicated from enterprise organizations is extremely slim. Rather, the goal for CIOs and IT departments should be to significantly reduce the need for employees to circumvent IT in order to perform their work duties.
Cloud computing democratizes developer and end user productivity at the expense of transparency and IT control. Since developers and users are able to provision and utilize resources as needed, it is easy for costs, overall architecture and security to get out of control. Rather than getting in the way of productivity, however, the IT departments must evolve their role from that of the gatekeepers into that of enablers.