The software development life cycle (SDLC) serves a purpose within DevOps. Are you preparing for future failure? Credit: geralt In working for multiple companies I’ve been surprised at the lack of regimen that is used when deploying critical custom applications in their data center. There is a development process that some of the larger firms I’ve worked for have; they have a rigorous SDLC (software development life cycle) process. The SDLC process is a critical portion of the DevOps practice. A properly executed SDLC process leads to much greater reliability of the end product.So, many large firms have multiple SDLC development environments to test and debug in-house applications. These environments are often labeled (dev, test, stage and prod). Dev is a development environment where the custom application is initially unit tested. Test is used to test integration of the application with other software functions or methods within the same application. Stage is used to test the application and all the other applications it integrates with. Once the application is successfully tested in stage, the application can be moved to production where it performs its designed business function.Even in large firms I’ve seen some SDLC processes that concern me. One healthcare firm had a critical application they purchased from a major vendor. The newest product version was acquired from the vendor and the application’s executable was deployed into production without testing in stage. I was alarmed. Of course the vendor has to test their application in other companies’ environments, but they can’t test every configuration that exists in their client’s IT environments. A small unintentional configuration change could throw a wrench into production operation of the application.What about mid-sized firms? I’ve seen that some don’t even have two environments: dev and prod. This is a serious reliability vulnerability. Experimenting with code that can only be tested in production begs for a serious IT failure in the future. Know this, there will be a critical IT failure — only when the failure will occur is unknown. So the lack of environments is an impetus to having critical applications put in the cloud. Critical applications that are deployed in the cloud benefit from the redundant data and redundant infrastructure that can exist in the cloud. The client pays more for the cloud services but they can gain much greater reliability. So I would recommend putting a mid-sized firm’s important applications in the cloud, especially if they lack some of the SDLC environments. If they don’t want to support multiple environments, they should use the cloud.There is another company that I know of that is putting its emergency services functions in the cloud. Their application enables communications between emergency services personnel. It must also protect that emergency data in transit and at rest. They are using the cloud because it enables access points to their services around the U.S. The enables them to communicate with emergency services everywhere. But, it is very difficult to perform SDLC types of tests for emergency services because the test environments are very expensive to create, use and maintain. So, they are entrusting their significant set of applications to be executed in the cloud. The cloud enables them to test functionality around the U.S. without sinking a significant amount of money in environments. The dev, test, stage and prod environments can take advantage of the geographic spread of the cloud that enables national SDLC environment testing.In conclusion, DevOps processes using multiple SDLC environments support greater application availability in production. It reduces the risk of something going very wrong in production. Mid-sized firms that don’t use multiple SDLC environments should consider putting their critical applications in the cloud in order to reduce availability risk. The deployment of critical applications, like emergency communications, within the cloud points to the need for greater reliability of the cloud vendor; the cloud must be significantly more reliable than all the global applications that run on it. Related content opinion InfoSec careers for military veterans Advice for military veterans interested in information security careers. By Gregory Machler Sep 18, 2017 4 mins Technology Industry IT Skills Staff Management opinion Medical devices: Embedded product security Medical devices may have significant security risks associated with them. Let's look at the vulnerabilities they may have. By Gregory Machler Jun 14, 2017 4 mins Healthcare Industry Application Security Enterprise Applications opinion Enhanced Internet architecture to address WannaCry Global Internet attacks take advantage of current systemic vulnerabilities. An enhanced architecture with improved web applications can help protect the Internet and its critical global applications. By Gregory Machler Jun 01, 2017 3 mins Application Security Cloud Security Internet opinion DevOps and cloud infrastructure permutations The cloud has one DevOps advantage: It limits the number of permutations of storage, network, and CPU combinations that can be used for infrastructure. By Gregory Machler May 16, 2017 4 mins Cloud Security Cloud Computing Software Development Podcasts Videos Resources Events SUBSCRIBE TO OUR NEWSLETTER From our editors straight to your inbox Get started by entering your email address below. Please enter a valid email address Subscribe