Catch all the action from KubeCon India 2024—click here for the recap!
Tell us your queries and we’ll get back to you
Prefer email? Reach out to us at info@facets.cloud
Let us know if you have any additional queries, we'll get back to you soon.
How Capillary achieved 100% cloud automation, developer self-service, and boosted operations efficiency by adopting Facets’ platform engineering approach.
Fragmented automations led to inconsistent infrastructure and poor visibility.
Launching new production environments consumed significant Dev and Ops time and delayed business operations.
Developers were dependent on Ops for infrastructure changes, creating bottlenecks and slower releases.
Consistent Infrastructure: Facets ensured standardized workflows across environments, reducing production issues and improving reliability.
Single-Click Environment Launch: New production environments can be launched quickly with minimal overhead, even for complex global deployments.
Self-Service Environment Management: Developers can now manage their own environments with standardized workflows, reducing dependency on Ops.
"Facets has been a game-changer for us. Our infrastructure is more visible, standardized, and accessible. As a result, releases are faster, developer time is optimized, and teams are free to focus on building exciting features."
Capillary Technologies is a global leader in loyalty and customer engagement solutions, serving over 250 major brands across 30+ countries. Clients include Tata Group, PUMA, Shell, and Asics.
Capillary’s solutions process nearly 2 billion transactions annually and reach over 875 million consumers. With a team of 200 developers, Capillary operates across 5 non-production and 10 production environments spread across multiple regions.
As Capillary grew, the constant need for agility and fast iterations put a strain on its lean operations team. With each product group wanting to introduce new services, experiment on various frameworks, or change existing setups, the lean Ops team was stretched thin. In addition to managing migrations and upgrades, addressing cost, security, and compliance issues, and dealing with service degradations, the Ops team was responsible for meeting the developers' changing needs.
This created several challenges for Capillary.
Firstly, this growing dependency on the Ops team led to burnout. The Ops team introduced several processes, such as a ticketing system, which created delays and blockers for developers, creating productivity issues, and management overheads, and led to slower releases.
Secondly, the automation couldn't keep up and needed constant refresh. Triggering the majority of the automation required specialized skills and supervision which meant Dev teams couldn’t use them. This led to silos of understanding, resulting in predictability and reliability problems creeping into the infrastructure.. As Piyush describes it, "Part of the system was automated while other parts had no visibility."
Finally, as Capillary expanded into new regions and went up-market, additional production environments were needed. Each additional launch consumed significant Dev and Ops bandwidth during the initial setup as well as added slowness to the pace of change. As Goel, SVP of Engineering, notes, "Business conversations start at the time of sales: Do you have a local region or can you deploy on our private cloud?"
Capillary realized that they needed to reimagine a solution – that would empower developers to take ownership of their code and infrastructure while allowing the Ops team to focus on developer enablement.
The key problem that needed to be addressed was the interdependence between the Dev and Ops teams. To tackle this issue, the initial focus was on transforming the automations into a product. Previously, the Ops team relied on these automations to streamline their work, but they were not intended for the Devs to use in a self-service capacity. With the introduction of Facets, standardized higher-order workflows were implemented that were comprehensible to all teams.
As Piyush notes, "Facets has brought in standardization across all aspects– how you build, deploy, monitor, and how you access and interpret metrics – all of these are defined in a consistent way. Everyone speaks the same language and could easily comprehend their own and dependent services.”
Facets does not replace DevOps teams. By automating repeated and redundant tasks, the platform gives DevOps teams the time to focus on business-relevant problems. Facets is built on well-known technologies and provides transparency on how they are used. Further, it is extensible, encouraging DevOps teams to build on top of it.
The Dev teams' standardized workflows, combined with the Ops teams' guardrails, enabled both teams to work autonomously. For instance, if a Dev team wants to introduce a new module with additional services and databases, and obtain the required credentials for resource interaction with the services, they can do so without delving into the finer points, which minimizes the possibility of errors.
As Piyush puts it: "All of the tasks that were slow and required oversight are now self-served. Ops teams control what capabilities are available for Devs. But once done, Dev teams make their own choices."
With increased bandwidth for Ops teams, they are now able to play a more expansive role. They focus on enhancing developer experiences and expanding Facets' capabilities.
“Nothing is dependent on Ops team any more. If the Devs want to use a completely new type of resource, Ops team build Terraform extension on top of Facets and make it available to them. Hence, we call them SRE & DevTools Teams now. We have 15 environments run by only a 6-member team because they don’t manage them but rather empower Devs to manage them,” Piyush adds.
Furthermore, Facets’ centralized developer experience, combined with complete auditability, guarantees that all essential information is available to the Dev teams in one place. For instance, if a developer faces a production issue, they can access all the relevant metrics, configurations, health, and changelogs all in a single location and can quickly respond to it. The increased visibility into resource and cloud cost enables Dev teams to proactively plan cost optimization within their sprints.
As Goel puts it: "Facets helped us achieve 99.99% of availability, higher release frequency, while sustaining the cloud cost."
Facets is designed to centralize all information required to launch a new environment. This means that launching a new environment with existing workflows can now be accomplished with a single click. In addition, Facets automates infrastructure upgrades such as Kubernetes upgrades, resulting in significant time savings across all environments, potentially saving hundreds of person-hours.
As Piyush quantifies “A recent US region we launched took just under 2 weeks with 8 man-weeks of effort for the tech team to sign off – It used to be a 64 man-weeks of effort before Facets.”
20% boost in Dev productivity - Saving 30-40 hours of coordination efforts per scrum team per sprint
95% reduction in Ops tickets - Unattended releases of 40 major and 100s of minor releases per month
99.99% uptime - Improved stability and ability to respond faster
Single click environment launch and no additional overhead - Managing in multiple geographical and private deployments: US, China, Asia, Middle East
Facets is not just a tool for Capillary—it’s a framework adaptable to future business needs. As Capillary prepares for expansion in the US and Europe, Facets will be instrumental in managing the necessary tech infrastructure changes.
Capillary has already deployed in AWS China, a complex environment that Facets helped streamline. Future acquisitions and tech stacks will also adopt Facets with ease.
"One of our large clients needed to scale by 20x for a major gaming event in India. We had a small window to prepare, and it would have been unimaginable without Facets."