For many companies, one the goals of IT modernization is to optimize multiple processes in the organization. Based on hundreds of IT modernization projects, Flux7 experts have created a checklist of items to consider before you start. This list is not extensive, but rather focuses on six of the most common processes that every plan should include in order to be complete. Today we’ll explore the checklist, discussing the definition, motivation, and examples of implementing each process successfully.
These common IT processes streamline delivery of the four pillars of infrastructure, code, server configurations, and security rules. And while not everything in these pillars needs to be automated to produce an effective plan, it’s important that processes are put in place to handle each of the following six common IT processes.
Let’s dive into each of these processes specifically:
Process 1: How to stand up a new dev and staging environment?
Definition: This IT process is part of both Infrastructure and Configuration pillars.
Motivation: At Flux7, we like to say that all environments should be PQR, which means that they should be 1) production-like, 2) quick to spawn and 3) repeatable, or easy to re-spawn. These attributes benefit organizations through increased productivity and efficiency and decreased risk.
To create a new environment, we recommend the use of the four Cs
- Cloud (infrastructure as code, security as code)
- CI&D of code (Jenkins, Bamboo, Code*)
- Config management (Ansible, Consul, Vault)
With the use of automation in the form of configuration solutions like Chef, Puppet or Ansible, organizations can quickly and efficiently deploy and manage their environment in a repeatable manner. By automating the process of building, managing and provisioning through code, service teams speed the process, eliminate human error and establish repeatability.
For example, we worked with Verifone who needed to ensure development was able to deliver high quality, secure solutions against tight deadlines. AWS was combined with Docker to create from the ground up a new cloud-based, streamlined infrastructure designed to address high availability, portability across multiple environments, and a high degree of automation to increase agility and security. The team had a strong focus on continuous integration and continuous deployment, which it achieved with pipeline orchestration and simplified scaling and automation. With this process, Verifone engineers oversaw the unprecedented launch of a brand new line of business in less than one year.
Process 2: How to deploy new or a specific code revision to production?
Definition: Belongs to the Code pillar.
Motivation: An effective code deployment process is highly valuable as it will reduce risk from each release, will ensure that rogue code is not introduced, and will help organizations deploy and manage global deployments.
Examples: An automated code delivery pipeline, such as the one shown below, should include processes for deploying new code as well as code revisions. In addition, firms should have a rollback process for any bugs that are encountered.
For example, the consultants at Flux7 worked with a healthcare organization to establish a code delivery pipeline, with the end goal of having fully automated continuous delivery. The code pipeline was built to mitigate risk with manual checks of services in the pipeline. The challenge for this healthcare company was to achieve CI/CD while practically balancing automation with human approvals to effectively manage risk. The code flow reference architecture designed for their specific needs was able to achieve this fine balance while keeping developers agile and working efficiently on code to quickly achieve success or fail fast.
Process 3: How to push new configuration changes?
Definition: Configuration pillar.
Motivation: A consistent and automated process for pushing configuration changes helps streamline productivity and increases security by reducing the potential for human error. It also helps ensure that no mystery duct tape is introduced into the process while providing the opportunity for ongoing system audit.
Examples: Similar to the code pipeline, configuration delivery should also have an automated pipeline process that is able to quickly configure systems in preparation for deployment and maintain systems over a long period of time while meeting security requirements.
For a customer analytics firm, Flux7 consultants helped create an automated, repeatable architecture to deliver its SaaS services at scale, including repeatable, re-usable pipelines for Configuration delivery. With the pipelines, developers could make their own changes and anyone at the company (with the right role and permissions) could set up an exact copy of the system. In the process, the company has increased their developer and operations productivity and reduced risk.
Process 4: How to change infrastructure?
Definition: Infrastructure pillar.
Motivation: A good infrastrastructure change process allows organizations to create consistent environments faster and quickly deploy identical environments globally. This extends to the ability to easily deploy new DR environments which increases security, as does the fact that code can provide an audit of the environment.
Fugro provides highly specialized interpretation of geological data worldwide. For a new project, the company was looking to help speed the interpretation of data and decisions for ships at sea. To do so, they saw DevOps as the approach to take for easier delivery of new versions of the project, especially as the global nature of its business meant that Fugro needed the ability to create environments near to the actual vessels for technical and legal reasons.
The team built an IoT environment using AWS and Docker. Docker’s ability to provide a homogenous deployment framework meant the Fugro team could easily port and replicate environments to new global regions on demand.And, new environments which previously took weeks to build, now launch in a matter of hours.
Process 5: How to perform disaster recovery?
Motivation: Successful disaster recovery improves the value of the overall product through little or no gaps in product availability. Consistency of product through DR increases customer satisfaction and loyalty.
Examples: We recently worked with a household name financial services company where security and product consistency and uptime was of utmost importance. This organization sought a high availability design with HashiCorp Consul and Vault that would result in near-zero downtime for its applications and users. For the firm, we configured a disaster recovery site for Consul so the Consul clients can automatically failover to the DR site and still continue to function, should it become necessary.
Process 6: How do you audit your setup?
Motivation: Solid system audit processes help detect, prioritize and fix problems and outages. They ensure that security processes are followed, and grow visibility globally.
Examples: We recently worked with a Fortune 500 manufacturer to establish an audit system that alerted operations and information security teams of any known security, risk or compliance issues. Through a deployment pipeline (as illustrated below), that is triggered when a change to code is made, e.g, if a function is added, removed, or changed, we were able to audit for change. Automation was used to make the process for adding a new notification really simple and was also used to log critical data. From these logs, the customer has a dashboard to view and use the audit information. This continuous auditing system (as seen below) is both low maintenance and extensible so that new rules can be conveniently added, and the same system can be used to audit multiple AWS accounts.
Planning is an important part of an IT modernization process and a critical step to ensure success. Having worked with over 150 organizations on their IT modernization initiatives, we often remind people to measure everything, let the machines handle the mundane, and focus on bottlenecks. With this overarching advice as your guide, and these six checklist items in hand, organizations have a foundation to begin their planning and preparation. If you are interested in additional advice or tools on IT modernization, refer to our resource page or subscribe to our blog below.