Electric Cloud today took a leap into the deep end of the DevOps pool with the release of ElectricDeploy, a tool designed to help automate the deployment of complex, multi-tier (typically J2EE) applications.
ElectricDeploy is a model-driven solution that sits above the company’s ElectricCommander execution engine for building, testing, releasing and deploying applications, and can be used to create workflows that can be automated to speed what the company is calling failsafe deployments.
DevOps, according to Electric Cloud vice president of marketing Kalyan Ramanathan, is an extension of agile development practices into operations. “Agile is concrete, with a set of best practices and a set of tools and a set of ways of doing things that are well codified,” he said. “DevOps essentially extends agile to the ops world. If Dev runs at a certain speed, if Dev can code in 15-day Scrums and move the ball significantly forward, Ops needs to run at the same cadence, otherwise whatever value is being provided by Dev is being impeded by the last mile—which is Ops—because they’re not able to deliver this value to end customers and end users.
“From a more tangible perspective, what this means is there needs to be a common set of tools and best practices that needs to be used by both Dev and Ops. Deployment happens to be one of those areas where it makes natural sense for Dev and Ops to use a similar solution. Dev does deployment, Ops does deployment. Dev does a lot more deployment than perhaps even Ops does. Dev has a lot of understanding of the apps and its configurations and how it needs to get tailored for these various environments, and it would be stupid for Ops to pretty much rediscover this every time around to the extent they can leverage all the right models that Dev has in its organization to model the app, to model the environment, to model the workflows and the processes to do deployment. It just makes sense for Ops to leverage all of these same skill sets, same artifacts, same knowledge.”
Keeping up with the workflow
The fact that ElectricDeploy is based on models helps provide a consistent way for all teams—development, QA, release and production—to follow a workflow process, Ramanathan emphasized. “If you want a consistent solution for all these teams, you cannot have an ad hoc way of doing things. What you need is a type model, and we do that in ElectricDeploy through three models. The first is an application model, which you typically define once, and that typically highlights the various components that make up an application: Web, application server, database, middleware, etc. It also speaks to the dependencies of these components; it speaks to the various configurations of these components, so now I can put my arms around what is the application.
“The next piece of the model is ‘where,’ and where essentially means the various environments where I’m going to deploy this application. The ability to model the infrastructure, the configurations of the infrastructure, the Apache Web Server, and the WebLogic/WebSphere app server, and the Oracle database servers or the VMs that may be involved in that environment, is very important. You will have many models depending on the number of environments you’re going to be deploying the application to.
“Finally there is the ‘how’ of the model, which is how do you marry the application to the environment, and that’s typically through a workflow process-execution engine, and we have the ability to very easily create these workflows in our product. So using these models—the what, the where, and the how—we are able to now automate the process of deploying an application to the various environments using the workflow model.”
Ramanathan said Electric Cloud sets itself apart by providing the ability to create what it calls a failsafe deployment. “The place where we really differentiate is by leveraging the fact that deployment happens many times through the release process, and to the extent we can iteratively refine the deploy process, we can capture errors in the deploy process early on, and we can fix these errors as we go through the process. And what it will ensure is, as you get to the final and most critical deployment that impacts the business, that will be as bulletproof as it possibly can be.”