I'm a proud advocate of cloud computing. I believe it's a great way to offload unnecessary technical burden from IT staff, create flexibility, and streamline processes. But when I hear people talking about using a "cloud-first" approach, it gives me pause. While this architectural strategy is almost certainly discussed with the greatest intentions, it has the potential to send IT projects and upgrades down the wrong implementation path.
So first, we need to discuss what a "cloud-first" strategy is -- and how it's often being misconstrued. The idea behind a “cloud-first” approach is that when any new IT project, refresh or replacement crops up, our first instinct should be to think about how the technology could be spun up and managed within a cloud service provider's network. This is completely fine. It was also a mindset that likely was a worthwhile mantra a few years ago. But it’s not necessary today. My argument is that most enterprise organizations have already accepted and adopted cloud computing. Therefore, continuing to use a "cloud-first" mindset is not only unnecessary, it could be considered counter-productive.
In many companies, a "cloud-first" approach has morphed into a "cloud-only” approach. In other words, by focusing solely on the cloud, many IT decision makers ignore the alternatives, such as on-premises deployments. It may be that an on-premises deployment is the better choice. In the past, I've written about reasons for keeping data in-house. While some of the reasons I pointed out in 2015 may be weaker in 2017, most still hold water.
A great example of an IT project in 2017 that should be given equal consideration for an on-premises deployment vs. a cloud deployment would be the Internet of Things (IoT). While the cloud holds clear advantages in terms of scalability and lower capitol expenditures, an in-house deployment offers improved control in terms of data storage, latency, and a better overall understanding of how the entire IoT process works from the ground up. In many cases, the ideal situation for IoT may be to start on-premises with pilot projects -- then expand out to the cloud using a hybrid architecture. That way, you gain the benefits of both architectures. Yet, with a "cloud-first" thought process, any on-premises considerations may never be considered.
Another example of a project where you may want to look at both deployment options – or a hybrid approach -- is infrastructure security. While there is enormous growth in cloud-based security tools, the actual benefits gained from cloud-managed solutions depends largely on your current infrastructure. If most infrastructure remains on-premises, that’s where your security belongs as well. Traffic flows should be reviewed to determine if cloud-based security tools such as firewalls, intrusion prevention, and anti-malware will be preferable in-house or out in the cloud.
There may very well come a time where a “cloud-only” architecture approach is the right mindset. But, it’s important to note that there are still completely valid pro/con conversations that need to occur before a decision is made on the right implementation approach. Therefore, the calls for a “cloud-first” mindset are somewhat premature for most enterprise organizations. Instead, take a step back, remain open minded, and choose the right architectural approach based on all available options.