Exceptional independent software vendors (ISVs) and in-house development teams build complex development and test environments with continuous delivery and testing to mitigate impact on production. Add to that a modern DevOps culture, and system issues are now of minimal concern, right? Murphy’s law says otherwise, as does the existence of technical support.
A multi-tiered support model is crucial for production, and every environment below should model production as closely as possible. Infrastructure, software integrations, transactional diversity, I/O load, and an exhaustive test of production operational scenarios should also exist in staging, test, and development tiers.
Without these operational scenarios in place, issues can occur at the production tier and trigger a reactive response. Detecting issues early in a non-production tier is the ideal scenario. A Platform as a Service (PaaS) can be a proactive solution. How?
When I work with enterprises and they ask for best practices on mirroring production to their lower environments, I offer the following advice:
A best-in-class PaaS adds scalability and high-availability to all types of application workloads, is versatile enough to support various technology integrations, and provides an agile platform to quickly incorporate new requirements, including global change management, performance monitoring and alerting, disaster recovery, and fault mitigation. Reaping these benefits across all deployment environments is inherent when employing a PaaS, creating a production-like symmetry at the lowest deployment tier.
Most popular technologies on the market today offer alternatives, providing similar functionality (often at a lower price point): Amazon Web Services, Microsoft Azure, Cisco ACI, Hyper-V, and VMWare. By utilizing these, a symmetrical production environment can be spun-up rapidly at any technical support tier, including those beyond staging, test, and development (i.e. external/vendor support). Having administrative authority over domain controllers, load balancers, network storage, and hypervisors empowers support teams to test new features, reproduce issues, and quickly find resolutions that otherwise would be waiting on the IT operations team to follow up.
Building multiple symmetrical production environments on top of a PaaS supporting an expanding list of technologies and native integrations will streamline technical support. It can also help with:
● Monitoring, detecting, and mitigating infrastructure vulnerabilities within all deployment environments
● Reproducing issues and testing platform changes on lower-level environments before releasing to the development tier
● Reducing application onboarding time by accelerating the creation and success of pilot deployments
● Providing a base for excellent support from the start
● Improving SLAs with rapid-issue resolution
● Baking diverse technology stacks and user stories into a cohesive QA process
Ideally, deployment environments mimic production at all tiers. This is a simple concept that is often well understood but difficult to execute for various reasons. We see our customers utilizing PaaS to bridge the symmetry gaps across production, staging, test, and development tiers.
Supplementing this, we mirror their platform’s application infrastructure, integrations, and workloads internally, expanding beyond those traditional deployment environments. This not only increases the efficiency of technical support, but it also inherently enables our customers to better inform our product road map. This level of synthetic symmetry between deployment environments unveils an unparalleled synergy between the customer and the vendor, enabling success of PaaS projects at Global 2000 organizations.