Ullink

Ullink Doubles Deployments and Achieves Zero Production Failures with XebiaLabs

Download the Case Study


The Environment

  • XebiaLabs DevOps Platform
  • Jenkins
  • Git
  • Gerrit
  • ULTest, ULOdisys, ULBridge
  • Java, .NET
  • Puppet and Ansible for infrastructure provisioning

The Challenge

Ullink’s top-tier financial services customers had zero tolerance for failure: even one deployment-related production failure per month was too much for these mission critical trading needs. Ullink needed a new approach to automatically deploy more than 1,000 changes in production per month, but they did not know where to start.

The Solution

Ullink first considered configuration management tools they already had, like Puppet, Chef, and Ansible but quickly realized these provisioning tools were not equipped to handle their enterprise deployment automation needs. After seeing a demo of the XebiaLabs DevOps Platform, they knew it would meet their deployment automation requirements and be easy to use for their teams, who had a wide range of technical skills.

"We started by looking at provisioning tools like Chef, Puppet, and Ansible... [then] watched a demonstration of the XebiaLabs DevOps Platform.

We immediately understood the limitations we would encounter if we tried to repurpose these provisioning tools to automate deployments."

- Jonathan Berdah, CTO of Customer Service and Operations at Ullink

Results

  • No deployment issues in production, down from 1-2 errors per month
  • Easy for any team member to execute a deployment, regardless of skill level
  • Delivery of applications and features to clients faster due to elimination of bottlenecks in Operations
  • Deployments now take an average of 10 minutes, down from an average of 30 minutes. Previous deployments took up to 5 hours
  • Time saved on manual deployments now allows production engineers to focus their time on other work, such as validating the content of changes rather than manually carrying out the procedure to change things
  • Global, singular view and full control over software delivery process. Better task management – easy to do the right tasks and difficult to do the wrong tasks
  • Improved customer experience: since Ullink implemented XebiaLabs, they’ve had no downtime in production and not a single complaint from customers due to Deployment issues
  • Doubled the number of deployments: now automatically deploying > 4000 changes across UAT & Production per month, up from < 2000

Background

Ullink provides global, award-winning, multi-asset trading technology and infrastructure that is trusted by the world’s top-tier banks, brokers, and trading venues, from New York to Tokyo. Since 2001, Ullink has been one of the fastest growing technology companies in the financial industry.

Ullink offers clients the freedom to choose from modular products tailored to their individual needs, as well as fully- serviced solutions for an entire trading infrastructure, supported by global data centers. Ullink’s agile technology can be deployed within a client’s existing infrastructure, as part of a fully managed service or through a hybrid model.

Given the mission-critical and high-stakes nature of Ullink’s customer base, it was difficult to accept any production failures at all; given the consequences, there were no adequate excuses. Ullink’s customers had zero tolerance for failures; two production errors per month were two too many. When production engineers forgot a step or wrote code incorrectly, their manually executed deployments failed. Equally challenging, they had reached the limits of their ability to scale these manual processes; they were already deploying 1,000 changes per month and their deployment needs were growing. Ullink knew they needed to make changes to move to zero production-related errors, but they didn’t know where to start or what they needed from their tools.

Requirements

  • Quality & stability: No deployment-related failures in production
  • Automation: Automate application deployment and eliminate manual operations
  • Standardization & rules: Ability to create and enforce rules across applications and environments
  • Extensible: Open APIs so that they could execute their scripts 
  • Fine-grained access control: User management controls that extend to the granular level of roles and tasks
  • Compatible with current systems: Easy integration with existing in-house technologies
  • Simplified deployments: Ability for anyone to execute a deployment, regardless of technical skill level
  • Data to prove compliance and support continuous improvement: Traceability of who does what and the ability to measure how long tasks took, both before and after changes

Automating Deployments with Provisioning Tools Wasn’t Satisfactory

Ullink considered a homegrown approach to automating their deployments. They quickly realized that was too ambitious and started shopping for packaged solutions. “We started by looking at provisioning tools like Chef, Puppet, and Ansible to build out our DevOps plans,” said Jonathan Berdah, CTO of Customer Service and Operations at Ullink. “At a DevOps convention in Paris, we watched a demonstration of the XebiaLabs DevOps Platform. We immediately understood the limitations we would encounter if we tried to repurpose these provisioning tools to automate deployments. We looked no further after that, because XebiaLabs met our needs for fully automated and self-service deployments, granular control over user roles and privileges, and integrations with existing tools.”

XebiaLabs’ graphical user interface (GUI) was also a big differentiating feature for Ullink. The GUI removed the necessity of technical scripting and enabled team members with any technical background to deploy software.

"XebiaLabs was the cornerstone of the changes we made to rebuild our entire software delivery platform. We moved from micro-sized manual changes to automated full application deployments."

Double Deployment Capacity within Six Months with XebiaLabs

Ullink discovered that XebiaLabs wasn’t just a tool for deployment automation; it also helped them rethink their entire software delivery system. “XebiaLabs was the cornerstone of the changes we made to rebuild our entire software delivery platform. We moved from micro-sized manual changes to automated full application deployments,” said Jonathan.

XebiaLabs gave Ullink the control they needed to manage who could do what tasks and when, as well as the ability to show status of all their applications and releases across environments. Ullink’s focus is now on executing changes that drive business results, rather than on the process by which they make the changes. Before, they reviewed each process for change to ensure it was well written and contained all the necessary steps; now, they don’t even think about it. Previously they had to sign onto physical servers to perform tasks, which, since people are human, sometimes happened on the wrong machine or the wrong task. It was painful to explain to their customers what happened. Now that the process is automated, it’s dfficult to do the wrong task at all. And they no longer face difficult conversations with customers regarding failures. Ullink easily trained their staff on their new deployment process with XebiaLabs, and today anyone can execute a deployment.

Previously their process was manual, and testing and production environments were drifting apart. Using XebiaLabs forced Ullink to align their environments and configurations to create a standardized approach and unified view of their deployment process. With this insight and redesigned process, Ullink has reduced their average deployment time from 30 minutes to 10 minutes and lowered the maximum deployment time from 5 hours to 25 minutes! This time savings allows their production engineers to focus on other work. Even better, production engineers no longer create a bottleneck that slows down the deployment process. “Within six months of implementing XebiaLabs, we doubled our deployment capacity to over 4,000 automatic deployments per month, up from less than 2,000 manual deployments per month. And production is error-free,” Jonathan noted with satisfaction.

"Within six months of implementing XebiaLabs, we doubled our deployment capacity to over 4,000 automatic deployments per month, up from less than 2,000 manual deployments per month. And production is error-free."