Challenge
Data center infrastructure and a monolithic application hindered growing customer adoption. Fulcrum needed more scalable, flexible development and test environments and a way to recast their monolithic application into modules to support growth and meet customer needs.
Results
Fulcrum reduced its operational costs and improved scalability while modernizing its SDLC for faster, higher quality dev and test. Its monolithic application has been transformed into modules that meet the needs of new customer markets.
About Fulcrum Technologies
Fulcrum Technologies provides end-to-end Asset Lifecycle Management (ALM) solutions to some of the largest Communication Service Providers in North America and Asia-Pacific. Fulcrum’s CATS software tracks the status of their infrastructure assets in real-time while automatically synchronizing with other back-office systems. CATS enhances operational efficiencies, regulatory compliance and profitability by improving capital equipment utilization, rationalizing spares allocation and streamlining return and repair processes.
Since 1998, more than 45 regional and national carriers have installed CATS, including Verizon Wireless, T-Mobile, and Airtel Wireless (one of India’s largest telecom providers). As Fulcrum grew, the engineering and IT departments found it increasingly difficult and expensive to manage the infrastructure required to customize development, test, and support environments for their expanding customer base.
Fulcrum Technologies’ Challenges
Fulcrum’s CATS software has been installed by more communication providers than any other Infrastructure Lifecycle Management solution. In the warehouse, Fulcrum’s software is used on Android and iOS devices to scan assets using bar codes. In the back office, CATS enables auditing and tracking business-critical assets throughout the organization.
CATS’ wide adoption exceeded the abilities of Fulcrum’s existing infrastructure to support product testing. To enable fast and seamless onboarding of the company’s growing customer base—including large international customers—Fulcrum needed fast QA turnaround times for identifying software defects. To handle growth and reduce costs without customer satisfaction suffering, the company realized that it had to update their infrastructure, processes, and software.
“With so many clients, our QA and development teams need the ability to test various configurations of our applications, while at the same time maintaining support environments for each of them. We need to keep management of the testing platform out of the way as much as possible, so our employees are free to do their work,” explained Chris Wilker, Software Engineering Manager at Fulcrum.
High Costs and Limited Scalability
Before Skytap, Fulcrum hosted most of its apps on its own hardware co-located at a third-party data center. “We were paying about $4,000 a month for two racks in a data center with each rack only about 60% full,” said Patrick Farricker, Fulcrum Hybrid Cloud Administrator and IT Operations Manager. For hosted applications, the company could no longer use the data center, because it needed a more secure, dependable, flexible, and cost-effective solution.
Further, co-located data centers require a high CapEx investment and make it difficult to adapt hardware configurations for new customer environments. The lack of ability to grow or change existing infrastructure, to be agile for testing, as well as requiring greater overall security drove the search for a better solution.
Complex Dev and Test Environment
“Our professional services team creates customized development and QA environments for each of our bigger clients,” said Wilker. “This means that our Dev and QA teams not only need to test all permutations of our product versions, but they have to test our customized solutions on top of that. Depending on the ebbs and flows of our major projects, we need anywhere from 50 to 150 test and development environments in operation at the same time.”
Outdated Processes
Transitioning from its old, fixed hardware, colocation data center was only part of the problem facing Fulcrum. “Our biggest customers host CATS within their own corporate networks,” said Wilker. “We bundle up the application into packages for them to install and test, then help them with their production deployments. Previously, we had release engineers that each were assigned to a specific customer, and the release packages given to our biggest customers were manually compiled, often in a slightly different manner.” Fulcrum lacked a unified release process. “We needed to modernize our SDLC practices and to switch manual builds to automating the build process,” Wilker added.
Monolithic Application
The traditional CATS software package is too large for Fulcrum’s increasing number of smaller, entry-level customers, driving the need to move from a single, monolithic software package to smaller modules. “When you consider all the different combinations of supported modules, you can see the giant software test matrix of our core, mobility, and external modules that need to be certified by our QA team,” said Wilker. “This test matrix creates a lot of infrastructure and app complexity required for our QA team to be able to certify that our products work with each other. Our customers need to know that they can reliably upgrade certain modules and that everything will work together well.”
Skytap Solution
To solve these issues, the Fulcrum release team needed a cloud provider that would modernize their approach by enabling them to create flexible, scalable, and cost-effective cloud environments for development, QA, and customer sandboxes. Fulcrum wanted to implement a lean release process using CI/CD tools to be more efficient in testing and release faster.
As the Fulcrum release and infrastructure team began migrating to Skytap, they developed templates that could be reused to create custom environments that integrate with their CI/CD toolchain, including:
- Dev environment — Nexus, Jenkins, Maven, Flyway, Java, Tomcat, Git, Puppet, Jira
- QA environment — RedHat Enterprise Linux or CentOS, WebLogic or Tomcat, Oracle Database 11g/12c, Load Balancer
- Customer environment — RedHat Enterprise Linux or CentOS, J2EE, Skytap’s Published Services
“It’s now very quick and easy for us to set up new QA environments using Skytap templates, and by using Jenkins, Maven, and Flyway in Skytap, our QA team can easily test various permutations of our applications.”
Chris Wilker, Software Engineering Manager, Fulcrum
Outcomes
With Skytap, Fulcrum has successfully modernized its Software Development Lifecycle (SDLC) and gained consistency across customer deployments. “With Skytap, we have reduced the roadblocks to testing, especially in our QA and development teams. We are now able to test a lot more code with fewer QA engineers, and have gained efficiency in terms of manpower and quantity of code tested,” said Wilker.
Airtel in India provides a good example of Fulcrum’s successful Skytap implementation. “We started our newer, more modular, SDLC process from the ground up with them.” said Wilker. “We have a very small offshore team that handles the QA, development, and releases for Airtel’s very large CATS installation, and they are able to do it very efficiently.” Fulcrum’s offshore Airtel team also demonstrates Skytap’s powerful Schedules feature. “We previously kept our environments running 24 hours a day, because some environments needed to be up for our offshore teams and some needed to be available here in Seattle,” said Wilker.
After implementing Skytap, Fulcrum now has well over a hundred environments running at one time. Wilker explained, “We are at a place now where all of our core product development, internal QA, and customer sandbox environments are in Skytap.”
As part of the push to modernize internal SDLC processes and transform infrastructure, Fulcrum also refactored it into modules to produce lightweight versions for new customers. By creating individual modules and supporting templates, the Dev and QA teams can develop and test more efficiently with fewer defects to their customers.
“I love Skytap because it’s been making my job much easier. As we’re decommissioning VMs in the data center, I can throw those into Skytap and have services running there.”
Patrick Farricker, Hybrid Cloud Administrator and IT Operations Manager, Fulcrum
Improved Scalability
Not only did Fulcrum gain agility and flexibility to spin up new test environments in Skytap’s Western region, it has been able to scale horizontally to use Skytap in regions worldwide. “A potential customer in Australia wanted an onsite demo of our product, and we were able to use Skytap’s worldwide network infrastructure to stand up an environment in the Sydney, Australia region which helped sell the responsiveness of our application,” said Wilker.
Modernized SDLC for Better Code Quality and Agility
By modernizing its SDLC toolchain and integrating it with Skytap, Fulcrum was able to streamline its processes and release code, reduce defects, and troubleshoot issues more effectively. “Now that our QA teams have the ability to do builds faster, they are definitely seeing a decrease in defects.” said Wilker. “We’ve optimized our QA resources, and are delivering a higher-quality product as a result of our testing.”
Application Transformation and Modularization
By optimizing its CI/CD pipeline, Fulcrum could more easily transform its core application into modules, allowing it to target a larger market. “We now have software modules that can be hooked into the core product to add more productivity and feature enhancements, thereby providing real benefits to our customers. We were able to take a more modern approach to create more new product modules, all while the engineering team developed a lot more efficiently,” said Wilker.
Reduced Cost and Complexity
Since Fulcrum requires less infrastructure and can consolidate its data center equipment, it can reduce the cost and complexity of its operations. To keep costs in check, Fulcrum uses native Skytap functionality. “We are now heavily utilizing Skytap’s Schedules feature for keeping environments operational only during business hours. This has really been a huge efficiency solution for us,” Wilker said.
Easy to Use
Skytap simplifies the user experience for people of all technical abilities with its easy-to-use and intuitive web interface. “The UI is phenomenal and it makes it easy to onboard people to Skytap,” said Wilker. “The way the Environments pages are structured in the Skytap portal and the ability to start, stop, delete and even add in new VMs within an environment allows us to quickly and easily customize testing environments with minimal training. Another great feature that we rely on is Skytap’s published service: a way for us to quickly create a publicly accessible URL that securely forwards traffic into our Skytap environments. This allows us to host sales demos for potential customers by showing how our mobile applications function on cellular networks without the need to build and maintain a custom VPN solution ourselves.”