Client Profile
Our client is a San Francisco-based, start-up software company with a platform for retailing smartphones, tablets, and other connected products. Its goal is to streamline the complex transactional process for connected commerce – boosting retailer margins, reducing their IT spend, and creating a great shopping experience for consumers. Its Software-as-a-Service (SaaS) platform performs activations with the largest cellular vendors, as well as ancillary services like insurance, fraud protection, payment programs, and warranties.
Business Challenge
The client purchased its cellular activation software from another company with an eye toward becoming a SaaS provider. The client goals were to increase demand for this platform across phone providers and major retailers in the U.S. so they can take advantage of the improved customer experience and fraud reduction it offered.
But as a startup enterprise, the client realized it was over its head, lacking the IT processes, experience, and basic building blocks to scale its fast-growing business. It had no documented procedures for running IT operations and was unfamiliar with best practices like Agile Software Development that create faster, more successful outcomes.
Efforts to fix IT-related problems weren’t centralized, with departments working in silos that didn’t communicate effectively. There was also no system for vetting issues, so every ticket was a high priority. As a result, engineering resources were often distracted by low-value tasks, forcing the business to choose between high-value strategic improvements and mission-critical daily operations.
With 1.5 million lines of code, the software was also too complex to provide as a service at scale. A lack of coding standards led to badly coded changes, hindering the application’s resiliency, scalability, and maintainability.
The client knew it needed to invest in code development to make the platform scalable, as well as IT operations governance and best practices processes and tools to support the new, modernized application. The client sought an experienced DevOps partner to quickly create the operational maturity that would allow it to scale and better serve its customers.
Top priorities included:
- Scalable, resilient infrastructure. The client wanted to re-architect and re-platform its software to a cloud environment that could be easily scaled up and down to handle changes in volume. The client also needed redundancies that made the platform fault-tolerant, guaranteeing stable, reliable service for customers.
- Repeatable processes for managing IT operations at scale. Without formal processes and procedures, technical teams operated in firefighting mode. This caused errors, confusion, rework, and delays that negatively impacted the business.
- Faster deployments with consistent results. More timely and frequent product deployments were needed to meet customer expectations and fuel the platform’s growth. However, environmental complexities and cumbersome or non-existent documentation requirements caused unacceptable delays. It wasn’t unusual for deployments to take all night. Error-prone manual processes, documentation errors, and miscommunication between siloed teams consistently led to post-implementation issues as well, requiring more time to fix.
Solution & Approach
While the client focused on improving its software, Auxis was brought in to perform the infrastructure transformation, create standard operating procedures using an SRE (Site Reliability Engineer) and DevOps model, and provide overall technical and network expertise.
After carefully assessing data centers and cloud providers, Auxis selected the AWS (Amazon Web Services) Cloud Computing environment as the best option for running the improved activation platform. Auxis was responsible for the architecture, building, and migration tasks associated with moving to the cloud environment.
Auxis also provided DevOps engineering support to the client’s development teams, managing code migrations, infrastructure improvements, war room support, and more. Auxis further supported IT with 24×7 NOC (Network Operations Center) services, handling alerts, escalations, and onboarding/offboarding of resources.
Auxis’ expertise quickly made it the go-to engineering group for in-house IT teams. This made it easy for Auxis to establish a more methodical SRE and DevOps mindset across the organization, leading to information sharing, collaboration, and an overall better architectural design for meeting business and customer expectations.
It also helped resolve the constant power struggle between digital transformations efforts and operational tasks, allowing developers to stay focused on strategic development work while SRE and DevOps assumed the time-consuming, complex task of managing environments.
Other key transformations included:
- Defining, documenting, and implementing best practices for IT processes. Using ITIL (IT Infrastructure Library) and solid SRE principles, Auxis created standard operating procedures for managing incidents, changes, problems, on-call rotations, and NOC support. It established protocols for system and network documentation, engineering guidelines, and best practices. It also implemented guidelines for enhanced monitoring and post-change verifications. A formal CAB (Change Advisory Board) was created as well to ensure changes were reviewed, scheduled, and approved by key stakeholders.
- Implementing DevOps principles. With the activation platform being rewritten, it was critical that development and operations became better aligned to ensure releases could occur more frequently with high success rates.
- Establishing a dedicated Project Team. With key resources dedicated to transformational work, strategic priorities could coincide with daily operational demands.
- Implementing an active directory solution. User/system accounts became properly audited and created, consolidated, and controlled with proper permissions.
Results
Using best practices for SRE and DevOps models, Auxis helped the client quickly evolve from a startup into a mature, scalable operation – ready to handle the demands of its explosive growth.
- Increased flexibility & scalability: The AWS cloud environment Auxis selected allows the client to quickly tailor its infrastructure to meet changing requirements caused by growth or seasonal demands.