[This article was written by David Spark.]
For most, creating a DevOps environment requires a new found coordination of Dev and IT that simply wasn’t part of the organization’s original Software Development Life Cycle (SDLC). If you’re fortunate enough to move the organization’s development and release structure to a more symbiotic mode, the next step is to shoot for the DevOps’ apex or continuous deployment.
"Continuous delivery is the SDLC practice of pushing out code to your development, test, pre-production and potentially production environments through a continuous, consistent and repeatable methodology at the push of a button," Monish Sharma(@monishs), VP of Customer Success, for Elasticbox.
At the 2014 Cloud Expo in Santa Clara, California, I spoke with Sharma about the critical characteristics an organization must have in order to move from creating a DevOps environment to continuous deployment.
Sharma said that building a DevOps team starts with a culture of collaboration between developers and IT. Instead of hoarding information, all participants should be open to sharing and meet regularly through some agile scrum methodology.
They must also all agree to the core tenant of DevOps, said Sharma, which is people over process and tools. Deliver software that works, get customer feedback, incorporate that feedback back into the product all in an effort to ensure the customer is happy.
The leap to continuous deployment requires an orchestration mechanism that’s systematic across all your different environments: dev, QA, pre-production, and production, said Sharma. No matter the development stage, the application must be deployed in a consistent manner. Lastly, said Sharma, you must create a mechanism of manageability around it so as you scale with more servers and instances your continuously deploying DevOps environment doesn’t collapse.