Deciding whether and how to use cloud is a complex matter. It is made all the more complicated by the overwhelming number of vendors and products. What's more, hybrid and multi-cloud approaches blur the lines between the cloud and on-premise deployment options.
With an operations team that counsels organizations on which type of architecture is best for them -- on premise, cloud, hybrid or multi-cloud -- and then evaluates what went well and didn't in all four kinds of deployments, here's our view of what situations tip the scale toward one approach or another. While the context is data storage, this analysis applies to most enterprise IT scenarios.
Choose on-premises architectures when:
Security is an emotional subject. Security considerations are always paramount, but some sectors have a gut level reaction to the cloud, and the decision stops there, period. For example, if the sheriff deploying a body worn camera application fears the team could not demonstrate a chain of custody over digital evidence in a cloud-based architecture -- meaning evidence becomes inadmissible in court -- it's difficult to beat the peace-of-mind of an on-premise deployment where blinking lights on the hardware holding the team's photos, documents, and videos are in full view, and typically within a locked cage.
Governance rules are tricky. Beyond HIPAA and PCI compliance -- and other modern data sovereignty practices -- when IT architectures in a vertical sector must demonstrate physical as well as virtual control over data at all times, an on-premise paradigm may be easier to comprehend. Ditto if rules dictate aligning a data retirement schedule with a complex lease or capex decommissioning schedule.
Legacy applications are immovable. Most applications are available either in the cloud or on-premise, but some legacy software has licensing restrictions or proprietary dependencies that preclude cloud usage -- making on-premise or hybrid deployment a requirement.
Migration size and time are formidable. Although the track record of organizations which have successfully moved multi-petabyte deployments to the cloud is impressive, even dark fiber lines can't fully ameliorate the time and hassle associated with an on-premise to cloud migration. Nor can some legacy gear be readily migrated to a cloud modality. Sometimes it's just more time- and cost-effective to retain certain applications and storage assets on premise, move other applications to the cloud, and frame a hybrid infrastructure uniting them.
Choose cloud architectures when:
There is significant or uncertain growth ahead. Cloud deployments provide more flexibility to "walk before you run" by getting things right on a smaller scale, and then scaling from there.
A variable business demands flexibility. For example, if one location is planned for a cloud rollout first, or one business unit experiences dramatic seasonal variability, a cloud architecture makes it easy for IT teams to move in an agile fashion with the ebb and flow of today's dynamic business models. This is particularly true when the business itself is a software-as-a-service offering with its inherent variability.
You want an "aw, crap!" button. The DevOps philosophy of rapid rollout then continuous iteration is permeating more than just test and dev teams. That said, sometimes a major correction quickly becomes evident. Cloud-enabled architectures are far more malleable and enable IT organizations to morph the deployment at will, providing a safety measure.
It's time for radical change. In addition to the well-publicized cost and agility advantages of the cloud, changing from on-premise to cloud infrastructures has wide-reaching impact on networks, bandwidth, real estate and more. The cloud's agility and breadth of on-demand services enable teams to make more changes with less effort and over a shorter period of time.