Retail experiences have witnessed rapid evolution in the last decade, primarily driven by technology. Capillary Technologies has been at the forefront of helping brands deliver superlative shopping experiences in this digital-first, omnichannel retail landscape. Headquartered in Singapore, Capillary Technologies develops a full-suite of AI-driven, omnichannel customer engagement, commerce, analytics, and loyalty marketing solutions.
Founded in 2008, Capillary Technologies serves more than 400 customers across the globe including Pizza Hut, Puma, Asics, VF Corporation, Bata, The North Face, Dyson, ToysRUs, KFC, Levis, Walmart, and Samsung. As of 2020, Capillary Technologies’s CRM, loyalty marketing, and commerce platforms power more than 35,000 retail stores and support 300 million consumer interactions across 30 countries.
To adapt to our rapidly changing world and cater to their customers’ evolving needs, Capillary has to be agile. But in 2013, the engineering team recognized that its software development process wasn’t as efficient as it could be. “The team relied heavily on Subversion,” Capillary VP of Engineering Piyush Goel explains. “We were using Subversion for source control, wherein the code review, branching, and the release process was cumbersome,” Goel says. “As more micro-services were added, and the team size grew, the number of SVN repositories increased. It became difficult to manage the complex codebase with a large team. Our code review cycles were taking a lot of time that slowed the team down.”
The company began migrating to Git and saw immediate improvements. “The Git workflow makes the whole development and deployment process more fluid,” says. They were so happy with Git that in 2014 they started using GitHub as well, first for new projects, and eventually, they chose to migrate their entire codebase. Now GitHub is the core of Capillary’s end-to-end CI/CD architecture used by its 150 developers and QA engineers. “GitHub comes into play during the entire software life cycle,” he says. “It’s the de facto tool for anything related to our code and software. It makes collaboration a lot easier.”
GitHub comes into play during the entire software life cycle. It’s the de facto tool for anything related to our code and software. It makes collaboration a lot easier.
GitHub is also the main way the Capillary collaborates with vendors and third-party developers. “We rely on GitHub’s organization permissions to make sure outside contributors can only see what is relevant to them,” says Capillary Engineering Manager Priyam Chokhani. “It’s a great help in keeping our core platform and intellectual property secure.”
Capillary also uses GitHub’s security scanning tools like Dependabot to ensure the security of their code. “We like how GitHub doesn’t just send an alert but makes specific recommendations on how to address an issue,” says Goel.
Capillary Principal Architect Rohit Raveendran says GitHub plays an important role as the “glue” that connects several services. GitHub’s APIs make it easy to integrate a variety of different services. For example, Capillary has tight integration between Atlassian Jira and GitHub to manage bugs and track issues.
Capillary relied on GitHub’s APIs to build their own GitOps tool called Deployer that automates the process of turning a repo into a Docker container, managing tokens, and secrets, pushing code from the integration environment to testing and then to pre-production and ultimately deploying changes to a production Kubernetes cluster. All of these tools allow the developers to deploy software at the click of a button. Feedback, such as whether a build passes or fails, flows into GitHub, minimizing the need for developers to switch between different tools. “It frees up developers’ minds a lot,” Raveendran says.
Capillary now does between 500 and 600 deployments per day across all the microservices that run in the various regions. “With GitHub, we deploy across five regions, and it takes less than an hour to finish the deployments, down from four to five hours previously” Goel says. The upshot is that Capillary is now able to give customers a more predictable timeline. “There are no bottlenecks in the process,” Goel says. “Release schedules are more consistent and predictable.”
With GitHub, we deploy across five regions, and it takes less than an hour to finish the deployments, down from four to five hours previously.
Another big advantage, Goel says, is that onboarding new hires is easier because “pretty much all of them already know how to use GitHub.” And many of the company’s developers were already familiar with GitHub thanks to their work with open-source software. “Our software products rely heavily on open source code,” he says. The company gives back to the open-source community by reporting bugs and patches to projects like Apache Livy, Apache Spark, Maxwell, and Azkaban.
GitHub also enables Capillary to apply the open source collaboration ethos internally as well. “We have put an emphasis on innersource best practices in order to break down the boundaries between teams as much as possible,” Goel says. Much of the company’s code is available to anyone inside the company, and Capillary encourages cross-team collaboration on those projects. Anyone can contribute bug fixes or features to another team’s code. “Rather than wait for someone else to fix or change something, we’d rather encourage developers to make a pull request,” he says.
“Innersource has absolutely made our developers stronger,” Goel says. “And GitHub is at the heart of that.”