In working for multiple companies I\u2019ve 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\u2019ve 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\u2019ve 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\u2019s executable was deployed into production without testing in stage. I was alarmed. Of course the vendor has to test their application in other companies\u2019 environments, but they can\u2019t test every configuration that exists in their client\u2019s IT environments. A small unintentional configuration change could throw a wrench into production operation of the application.What about mid-sized firms? I\u2019ve seen that some don\u2019t 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 \u2014 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\u2019s important applications in the cloud, especially if they lack some of the SDLC environments. If they don\u2019t 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\u2019t 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.