Cloud has played a pivotal role in the last 18 months, and it is believed that today over 50 percent of all corporate data is stored in the cloud. In this new hybrid world, where professionals regularly engage in work from the office as well as from remote locations, the cloud will of course play a larger role than merely as a storage solution: it will serve as a key facilitator of technology to these professionals, helping them do their jobs more efficiently and driving better business outcomes.
Key business systems – from document management and collaboration, to other knowledge worker-oriented products – are now regularly delivered to end users via cloud offerings. This widespread embrace of the cloud – coupled with challenging and evolving security and compliance scenarios – means that the type of cloud solution that enterprises adopt becomes critical.
To achieve the true promise of the cloud, the foundation of that cloud must be built on ‘architecture as code’. Anything else is a pretender.
The Evolution of Cloud
A brief refresher on cloud architecture is useful here to understand what exactly architecture as code is, why it’s advantageous, and why it benefits enterprises to take this modern approach.
Traditionally, if either an individual company or a software vendor were building a cloud infrastructure, it meant that they were actually physically standing up hardware, building the network, racking the servers, connecting wires, and then manually setting up firewalls, configuring the network routing rules, and so on.
As public cloud service providers like Amazon Web Services (AWS) and Microsoft Azure started coming to the fore, there was no longer a need for their customers to physically rack servers and stand up infrastructure. However, they still had to manually configure and manage all of the networking and access rules around the servers, even though they were virtual servers.
Architecture as code represents a third, more modern, iteration of cloud architecture. With this approach, it is now both possible and desirable to build an entire architecture – including servers, networking, firewalls, and all the other required elements – entirely as code.
Greater Agility, Stronger Security
The benefits of architecture as code – where complete new instances of a SaaS solution can be spun up at the push of a button – provides a series of benefits that helps enterprises deal with the challenges they face, from the need for greater agility, to stronger security, and enhanced ability to comply with a shifting regulatory environment.
Take the example of a customer that needs to make sure data is domiciled in Singapore (or perhaps Belgium, or Dubai) due to new data privacy regulations in the region. If their vendor is relying on a manually managed cloud architecture, that vendor will need to find a datacenter in that specific country, rent some rack space, order the servers and other hardware, and then have humans manually configure and set it all up. Even if they opt to use a public cloud solution, there is still significant room for error in manually creating and managing the cloud-based infrastructure.
With a cloud that utilises architecture as code, the vendor can instantly create a new instance, with no humans required. More than just being able to respond to customer needs in real time, this architecture as code foundation gives that cloud vendor perfect repeatability when it comes to setting up a new instance of their services anywhere in the world. The code will build the infrastructure, the network, and all of the services that sit on top of those elements, eliminating the potential of human error that can compromise security.
Contrast that with older approaches, where vendors would have to execute a run book, requiring people to manually follow a pre-defined series of steps to set up services. Missing just one “checklist item” in that run book can have serious implications for security: a misconfigured firewall setting can be the difference between having a massive data breach on the front page of the daily papers or not.
Again, because architecture as code leverages the same code each and every time a new instance is created, it guarantees that every single instance is going to be identical – there’s no need to worry whether or not everything was properly configured. This is an enormous security advantage.
Additionally, as the SaaS solution continues to evolve, changes can be made once in code, and then easily deployed globally via continuous integration/continuous deployment with high levels of confidence that the same change will be deployed in the same way to every instance across the globe.
Architecture as Code is the Only Way Forward
Enterprises have enough challenges on their plates between the constantly changing data privacy regulations, compliance challenges, ongoing security threats, and need for greater agility that today’s world demands. They need to make sure that whatever cloud they’re using is pulling its weight to help address these challenges, and to do that, it needs to be a cloud underpinned by architecture as code. A cloud built on any other foundation is a cloud whose time has come and gone.