Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

With DevOps, get a handle on software deployments

With DevOps, get a handle on software deployments


advertisement
Writing code is easy. Getting it distributed out to the appropriate end users or servers can be a pain in the you-know-what. This is one of those places where tooling can really help - especially when something goes wrong.
Let's think about modern multi-tier web applications. You've set up the source code in your favorite version-control system, maybe Subversion or Git or Perforce or whatever. You have created a MySQL or SQL Server database somewhere. Your developers are working in the recommended IDE, perhaps Visual Studio or Eclipse. And you have chosen a good suite of languages: Perhaps the core logic in Visual Basic or Visual C# or Java, and then web page scripts in PHP or JavaScript.
The web application consists of a few dozen pages (comprising HTML and the scripting language), hooks to the database, active pages, a gazillion artifacts like icons, Cascading Style Sheets, you name it. You've pushed it out to a staging server. Looks good. Now it's time to push it out to the deployment server. Now, how does that work again? What are you going to send over? How do you keep the versions straight?
And then a couple of hours or days later, some pages changed, some scripts have been updated, the style sheet has been changed, the database has a new schema, someone optimized the SQL calls. Oh, and the server is running in the cloud, in a virtualized cluster. How are you going to deploy it? 
More importantly, how will you roll it back if something doesn't seem right once the application hits the production environment? Deployment failures are commonplace, and that's not surprising given the complexity of many of today's server environments, and especially due to the number of dependencies on internal and external modules and services. 
This is the problem being addressed by a new type of tooling called "DevOps," or developer operations. The premise there is that developers can't simply hand over completed binaries or packages to systems administrators and walk way. Developers, not admins elsewhere in the IT department, are now taking charge of deploying applications, often right from their IDEs or version control system - and managing post-deployment monitoring as well. 
We will be covering DevOps a lot in the future; it's real, not hype, and it is revolutionizing enterprise software development.
Typifying the DevOps approach is a new tool called ElectricDeploy from Electric Cloud, known for its build management software, ElectricAccelerator, and its Application Lifecycle Management Suite, ElectricCommander.
I have to laugh. In 2010, Electric Cloud called itself "the leading provider of software production management (SPM) solutions." In 2011, it became "the smart development cloud company." And now in 2012, the company has rebranded as "a leading DevOps automation company." I wonder what 2013 will bring.]
The company describes ElectricDeploy as 
Today's applications are multi-component, multi-tiered, and the processes to deploy them are complex, manual, or driven by ad-hoc scripts, making deployment an error prone, slow, and unreliable process. Each application is deployed several times as it moves through the application delivery pipeline--in development as teams package deployment artifacts, in QA as test engineers test the application, in pre-production as the applications are accepted, and in production as the application is rolled out to users.
 
ElectricDeploy reduces the occurrences and impacts of deployment failures in production environments through its fail-safe features by refining deployment processes throughout the application delivery pipeline from development to operations.  These fail-safe features integrate three distinct capabilities:
 
  • Code-Safe offers run-time debugging capabilities to interactively refine deployment processes.
  • Run-Safe lets teams define success and failure thresholds for application deployments so that deployments can account for real-world solutions.
  • Recover-Safe enables teams to define recovery policies and processes for dynamic management of deployment failures.
Manual application deployment processes don't scale, don't detect failures, and make it really hard to roll back to a known good state. While ElectricDeploy is only one of the new breed of DevOps tools, it typifies the types of problems that DevOps is trying to solve - getting applications out of the lab and into the real world.


   
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap