Boris Brunold, Senior Principal, Infosys Consulting
Times change, but it seems that old operational habits stick around. One of these habits is the manual deployment of code to different environments. QA environments like UAT still have code deployed manually or at least without an electronic trace; and in the worst case, even the production environment gets populated by code that was burned onto a CD, copied to a memory stick or downloaded to a workstation then uploaded to production.
Do you use DevOps tools to deploy your code? If yes, you are probably a dynamic startup somewhere in the Valley. For the rest of us we are stuck at a stage where DevOps seems too expensive and too cumbersome to adopt. And this is mainly due to the perceived need to redesign applications and all of our legacy systems still being deeply embedded in our legacy landscape.
“Security services are composed out of authentication and authorization services, as well as, traffic restricting or optimizing units”
What can we do? Good news, this cloud has a silver lining: the Cloud is coming to the rescue. The case for Cloud adoption is no longer a debate. And now that you don’t have to decide this, the architectural design of your Cloud is the most important next consideration. Taking an easy lift-and-shift approach from ‘on-premise’ architecture to all IaaS (Infrastructure-as-a- Service) architecture in the Cloud doesn't leverage the Cloud's real capabilities and cost saving potentials. It's time to embrace a new overall architecture.
Development, QA and production Environments have to be completely separated from each other. This allows for the specific integration of other Cloud services like PaaS (Platform-as-a-Service) or SaaS (Software-as-a-Service) into the different environments. These services are generally more cost effective than provisioning IaaS add-ons like larger storage devices or static web services. In addition, multiple challenges can be solved by provisioning an independent environment alongside the QA environments with all the ‘tools’ necessary to copy code from one QA environment to the next. Access to QA environments can be restricted to this new environment. The independent environment will prevent any undocumented fixes accidentally pushed into the production environment and will act as a centralized login environment for better access control. The independent environment would also be the preferred candidate for holding common and security services for all environments (Development, QA and production). Common services are those that all environments would consume like name servers or enterprise directories. Security services are composed out of authentication and authorization services, as well as, traffic restricting or optimizing units. The benefits don't stop there. On a long term basis, it prepares development, QA, engineering, and operation teams alike, to think in a more DevOps manner. Dealing with entirely separate environments and working with these enclosed environments is half way to DevOps on the people and process side. On the technology side all that is missing to DevOps are the automation tools. Automation tools will help further streamline the process but that will need a lot of effort to analyze and configure to get them up and running.
The right Cloud architecture will achieve a more structured and controlled code deployment. It is the start of an exciting journey towards DevOps.
Infosys Consulting (NYSE: INFY), a Hong Kong based firm, offers services including management consulting, IT transformation, and technology innovation. The company was incepted in 2005.