Coupa needed to increase deployment velocity and service availability for core infrastructure components.
ClearScale optimized Coupa’s deployment process through Baking AMIs, AWS API Integration, and Dynamic Alert Creation.
Coupa’s infrastructure is now faster from a server deployment standpoint and more available overall.
Amazon EC2, Amazon Elastic Block Store
Coupa Software is the leading provider of disruptive and innovative procurement solutions and cloud spend management (CSM) applications that help companies conveniently control their spending and generate savings that go direct to the bottom line. Coupa combines the best e-procurement and expense management capabilities in a single solution that is easier to use, faster to configure and deploy, and more cost-effective than anything available today.
With deep domain knowledge in e-procurement and expense management, a best-in-class cloud computing platform, a fast-growing community of customers, and industry-first innovations like real-time benchmarking, intelligent expense report auditing, and crowd sourcing great deals on the Web, Coupa is leading the way in helping companies spend smarter and save more. Coupa has been highlighted by Gartner and Forrester as the leader in e-procurement.
Scope of Engagement
Coupa Software has been delivering SaaS (Savings-as-a-Service) solutions from the AWS Cloud since 2009. The company was operating in a highly redundant setup across multiple Availability Zones (AZs) and deployed across multiple AWS regions. Coupa’s development team was leveraging some core AWS services such as Virtual Private Cloud (VPC), Simple Storage Service (S3), and Elastic Compute Cloud (EC2) in their infrastructure.
Coupa had already established tools and processes for automated deployments. They also built High Availability (HA) features into the service components. The next steps for Coupa were to increase the velocity of deploying new features and enhance the infrastructure components to increase service availability. The ultimate goal of this initiative was to improve customer satisfaction by reducing time to market of innovative features and to provide superior SaaS service availability
In this effort for continuous improvement, Coupa decided to take proactive measures to strengthen their cloud automation practices and further mature their infrastructure capabilities. The company identified the following objectives to reach the next milestone:
- Enhancements to High Availability
- Enhancements to Configuration Management Capability
- Reduce Service Deployment Times
- Enhancements to Application Availability
The ClearScale Solution
Coupa partnered with ClearScale to achieve these objectives. Through a collaborative requirements-gathering process, goals were identified in three major areas: eliminating single points of failure, enhancing cloud automation and deployment optimization. ClearScale developed infrastructure design, provided technology suggestions, and supplied a detailed roadmap for execution. Each goal was achieved through iterations of development, implementation, and testing. The following section includes a simplified list of deliverables for each major area of improvements:
Enhancements to High Availability
Coupa had already designed their infrastructure with redundant components to recover from failures. The infrastructure was assessed for fault tolerance.
- GlusterFS Shared File System — Since Coupa services span multiple Availability Zones and Regions for availability and redundancy, upgrading their file services to match was the first logical step. GlusterFS was deployed across multiple AZs, and with geo-replication enabled to extend into a second Region. With Amazon’s low latency cross-regional connectivity, Coupa was able to achieve near real-time replication across Regions.
- Cross Region Chef Server — As with many organizations, the value and criticality of automation systems increases as customers and product teams demand faster delivery of improvements and features. Chef Server is an important component of the automated deployment process for Coupa. They were able to leverage low latency cross-regional connectivity to establish a redundant Chef implementation in a secondary region. In the event that one Chef service was impacted, Coupa’s deployment pipeline continued to operate. As an added measure of protection, backups of chef code were sent to a Git repo.
- HA with Pacemaker/Corosync — Coupa had services that required header manipulation and host-header based routing. PaceMaker/Corosync was deployed on HAProxy clusters to establish a true High Availability configuration.
Enhancing Chef Automation
Coupa took a deep dive into their Chef automation practices and realized that better organization and coding standards could provide them with better process and organizational scalability. Managing a single code base and effective role separation increased efficiency and effectiveness of their DevOps practice.
- Roles — To mature Chef automation, Chef roles were defined for all service tiers: application, load balancing, database, utility, and GlusterFS. This enhanced the flexibility and control of configurations across the entire infrastructure.
- Cookbook Portability — To accommodate customer requirements, Coupa has deployed services in AWS and in Cloud Stack private clouds. Running in a hybrid cloud model, Coupa wanted their Chef code to work on AWS and CloudStack to reduce management overhead and deployment discrepancies. The Chef cookbooks were reviewed, re-written, and tested on both AWS and CloudStack. Reducing the codebase increased the capacity of the DevOps team and allowed for additional time investment in proactive improvements.
Coupa had built a high level of automation around their infrastructure deployments. They were able to deploy systems effectively and accurately. Processes were well established, delivering great value to the organization. The next step for Coupa was to optimize components of the deployment services to improve quality and speed. Deeper integration with AWS services has proven to be a key to success in these areas.
- Baking AMIs — Amazon Machine Images (AMIs) has been an excellent tool to quickly deploy EC2 instances. To leverage this technology more efficiently, AMIs were built for specific services (e.g., HAProxy, NAT, Database, Application servers, etc., for both Linux and Windows workloads). Managing and updating a pool of AMIs can create management overhead, so Packer and Chef were used automate the process. Coupa can now rapidly update EC2 instances with up-to-date software and patches.
- AWS API integration — Coupa was using script based RightScale recipes to provision servers in AWS. The script-based RightScale recipes were refactored into Chef Cookbooks that made direct calls to the highly performant set of Amazon APIs. By relying on Amazon native technology, Coupa was able to realize a 10x speed increase for launching deployments. Here is one example of the many enhancements made: RightScale recipes took six minutes to provision several Elastic Block Store (EBS) volumes for a given deployment. With direct API calls, the same EBS volumes took only 50 seconds to provision.
- Dynamic creation of alerts and monitoring — Coupa was manually configuring, monitoring, and alerting in the final steps of deployment. Automation was developed to handle these last mile configuration tasks. Monitoring and Alerts were created dynamically for each instance based on attributes such as operating system, running services, role, etc. Coupa was able to reduce management overhead and provide accuracy of monitoring/alerting configurations by eliminating manual tasks.
Coupa Software has further enhanced its infrastructure capabilities and strengthened the foundation of its SaaS platform, driving more operational efficiencies and better service for their customers.
The improvements in Coupa’s capabilities have led to higher organizational capacity. Teams were able to deliver more innovative features and allocate time to continuous improvement of process and technology. Proactive IT practices are difficult for organizations to put in motion and maintain. By partnering with ClearScale and leveraging Amazon Web Services, Coupa was able to continue providing important benefits to their customers, which include procurement automation, cost savings, increased operational efficiency, over-billing prevention, future spend prediction, and allowing customers to focus on their core business strategy.
Improvements in automation practices reduce Coupa’s IT management overhead and provide faster, more cost effective and reliable delivery of services. This allows Coupa to continue forward-looking proactive management of its infrastructure. Coupa’s technical teams can focus on the continued advancement of systems and processes, and most importantly deliver innovative features to strengthen the company’s leadership position in e-procurement arena. Customers reap the benefits of rapidly deployed features and assurance that services are held to the highest standards of availability.