Cloud – and for purposes of this post I mean infrastructure as a service (IaaS) – enables business agility primarily be freeing those tasked with deploying apps from the complexity of all the infrastructure wiring underneath. By not requiring attention to the networking that all apps require, cloud eliminates a major headache for those who just want to get an app out the door right now.
The thing is that no app is an island, and there are a variety of app services that also need to be deployed. These services are all those that are inserted into the data path – the route that requests and responses take in their journey from client to server and back. That includes load balancing, app security, caching, encryption, and acceleration, to name just a few. We track twenty-six in our annual State of Application Delivery report, and I’m pretty sure we’re still not tracking them all.
But I digress. The point is that there’s more than just apps that need abstraction mechanisms if they’re going to as easy and fast as cloud itself. But each of these app services comes with its set of challenges, particularly around the configuration necessary to fit into the architecture. There’s a reason it takes time to deploy an app into production, and part of that is due to the need to deploy app-specific services to deliver and secure them.
Cloud architectures are similar and yet different. And with 29% of organizations citing cloud skills as a challenge for their multi-cloud efforts, they need an answer for cloud that takes the complexity out of deploying those app services. They need an abstraction, like that offered by cloud for the network.
Templates have become more important over the past few years, and that’s not just an observation. More than half (52%) of respondents from across every IT role placed a high importance on templates in our latest survey. That bodes well for cloud providers, both the public kind (Amazon, Microsoft, Google) and the private kind (OpenStack). That’s because all three offer templates that help speed the deployment of entire architecture – from apps to the services required to deliver the security, speed, and availability expected by the business and users alike.
Sadly – or perhaps realistically given the market – these templates are not readily compatible. You can’t use an AWS template with Azure, nor vice-versa. This reflects similar past challenges around efforts to standardize infrastructure management. The underlying models of each cloud is different, and it’s likely far too late in the game to expect any normalization in the market. That’s why it’s important for a cloud-ready application delivery platform to not only support but provide templates for app services compatible with cloud templates for those cloud providers. Making the platform available for AWS or Azure or OpenStack is only the first step; providing cloud-specific templates that reduce complexity and improve the deployment experience are a must.
Not only does this ease the burden of supporting a multi-cloud model, but it enables an infrastructure as code approach to managing those architectures by providing configuration artifacts that can be stored, versioned, and managed via a repository approach. A template-based approach to deploying and managing app services provides security folk with the ability to enforce common policies by embedding them in a common template. This takes the onus off other operational teams to interpret policies and codify them correctly, and reduces the effort required to move an app deployment through the production pipeline with less friction.
Templates are poised to take over the cloud as a best practice for deploying the more complete architectures organizations require when delivering applications to its users, whether they are corporate or consumer.
You can find F5 supported templates for Amazon AWS, Microsoft Azure, and OpenStack on our github account https://github.com/f5networks