Aaaargh Deployment Failed! ElectricFlow and ShareFile to the Rescue!

Aaaaargh!! It happened to all of us: Your deployment failed, you get the alert, log files are everywhere! Now what?

Do you use ShareFile? Do you wish all your log files could be aggregated and available in one location? have you ever considered using ShareFile to store and share your log files for root cause analysis of failed deployments?

Well, you’re in luck: here’s a nifty integration between ElectricFlow Deploy and ShareFile that we developed for the Citrix Hackathon – designed to notify people of a failed deployment, and automatically store all the associated log files into a ShareFile folder that the team can access to investigate the incident.

We do all of that as part of our automated deployment process, that we model in ElectricFlow Deploy. We also use ElectricFlow as the end-to-end orchestration engine to manage the entire workflow and feedback loop once a deployment has failed.

Some background:

Both Laurent and I use Citrix products heavily in our day-to-day, so when we saw this Hackathon we were excited to learn a few more APIs. One of our software distribution mechanisms at Electric Cloud is via ShareFile and it has served us well. While we’ve already automated publishing files to ShareFile a while ago, we wondered: how hard would it be write an integration that provides a generic way to publish files to ShareFile?

Challenge accepted!

The use case:

There were many use cases where ShareFile can help. In this Hackathon, we’ve focused on the application deployment use case as shown in this flow chart:

Application Deployment Flow Chart: Citrix Hackathon

Application Deployment Flow Chart: Citrix Hackathon

After a failed deployment:

  1. We use Zendesk as the ticketing mechanism to create an automatic record of the incident (we chose Zendesk, but the same concepts apply with ServiceNow, or GoToAssist Service Desk, or your favorite ticketing system)
  2. We automatically aggregate and compress the log files and add them to a dedicated ShareFile folder
  3. We comment on the ticket with the location of the ShareFile folder along with the list of files
  4. Zendesk automatically notifies the stakeholders of the update to the ticket

When application deployments go wrong- you want an automated way to notify stakeholders, aggregate and share log files between cross-functional teams in order to triage the failure, and track the progress.

If done manually, you need to invest a lot of time, skills and care in order to simply find and share log files. Worse, the person collecting the log files may be under stress due to the business impact of the deployment failure – leading to costly mistakes or delays.

Our entry for the Hackathon:

Watch the short demo video of our Hackathon entry:

Our ShareFile integration takes the following parameters:

ShareFileProcedure

ShareFile Procedure

The application deployment looks like this:

Electricflow-DeploymentUI-sharefile

ShareFile Application Deployment Process in ElectricFlow UI

On error we:

  1. Gather appropriate log files and zip them
  2. Upload zip file to ShareFile
  3. Create a Zendesk ticket and comment with the ShareFile URL

In Zendesk you can see the ticket:

zendesk-ticket-for-failed-deployment

ZenDesk ticket for failed deployment

Advantages:

  • Having an automated way to collect, aggregate, share and track log files makes application deployments slightly less stressful.
  • ShareFile is great service to hold these log files and tie them to an incident. Not only can these files be used during the deployment failure but also during retrospectives and for future training.

Do it yourself:

We have open-sourced our EC-ShareFile plugin (to upload files), EC-Zendesk plugin (to update a Zendesk ticket) and EC-Support plugin to connect the two.

You can now easily add to your automated processes the aggregation and compressing of files that get uploaded to ShareFile and manage the next steps with ElectricFlow automation engine.

Help us become – somewhat – famous: :)

Laurent and I had a ton of fun during the Hackathon and we thank Citrix for organizing. If you also like the integration between ElectricFlow and ShareFile- be sure to vote for us! – voting starts April 9th and closes April 15.

Nikhil Vaze

Nikhil Vaze is a Staff Software Engineer on the Electric Cloud engineering team. He is a full stack engineer and loves to hack on things. You can also find him on github and ask.electric-cloud.com. Nikhil holds a Bachelor of Science in Computer Engineering and Master of Science in Security Informatics from Johns Hopkins University.

Share this:

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe

Subscribe via RSS
Click here to subscribe to the Electric Cloud Blog via RSS

Subscribe to Blog via Email
Enter your email address to subscribe to this blog and receive notifications of new posts by email.