Over the past 20 years, public cloud architectures have transformed the process and approach to software deployment, bringing tremendous convenience and efficiency to customer access to software. However, there are still government and commercial customers who, for a variety of reasons, can only accept a private software environment over which they maintain full control. To serve this growing customer base, software vendors must become adept at deploying their offerings via private SaaS, despite the many challenges and technical difficulties this presents.
Why do customers need to deploy applications as private SaaS?
Increasingly, entity organizations are asking their software vendors to serve them via private SaaS to meet a myriad of specific needs, many of which are integral to their business model
--Security, control and auditability: Industries that handle personally identifiable information have stringent data security requirements, and segregation in the form of private SaaS is the only acceptable solution. For companies that need to maintain full control over all the data they collect, store and use, private SaaS helps provide the necessary controls over network access, identify and respond to vulnerabilities, and maintain customized audit logs of all software deployed in their infrastructure.
--Compliance: Regulations such as the EU's GDPR, the U.S. HIPAA and the Global Payment Card Industry Security Standards Council (PCI SSC) require organizations to comply with and demonstrate compliance with all regulations by implementing appropriate technical and organizational measures to protect valuable consumer data. Data sovereignty requirements may require data to reside locally, making it impossible for vendors to serve customers in certain countries without opening their physical footprint, whereas private SaaS allows vendors to place their software and related data in the same location as their customers.
--Consistency of software offerings: Private SaaS deployments of software allow customers with complex security and/or compliance requirements to maintain a consistent software experience across all of their vendor-provided offerings by implementing their own security and compliance controls internally in a private SaaS environment. This approach allows customer organizations to access software products that may lack the full range of security features due to being in the early stages of product development.
--Easy training and cost management: Private SaaS allows organizations to focus staff training and staffing on a specific infrastructure, rather than training staff to manage multiple cloud infrastructure tools. In addition, many workload-stabilized software providers can realize significant potential cost savings by running their own data centers compared to hyperscale cloud infrastructures.
--Optimized software experience for customers: Customers with private SaaS setups can still enjoy the full range of SaaS software services where they can use the vendor's software products on-demand without upgrades and maintenance.
Why is it difficult for vendors to deliver applications via private SaaS?
Providing a new deployment topology can be a daunting and complex task for software vendors. While private SaaS brings many benefits to software vendors and their customers, it also brings new technical challenges that many of today's solutions are not optimized to address.
--Repeatability and large-scale deployment: As more customers move to private SaaS, vendors need to deploy their software in a repeatable manner for each new customer environment. Vendors must maintain metadata about application constraints and dependencies to support their deployed products and customize them to the unique needs of each customer, which can be as granular as a specific time of day for software maintenance and upgrades. These complexities are becoming increasingly difficult to handle at scale and require effective repeatability of the customization deployment process.
-- Heterogeneity: Vendors must embrace heterogeneity by design and assume that each Kubernetes and customer environment is unique, which requires software designed to run in a variety of customers' private SaaS environments.
--Resiliency and Release Management: As with most high-performance applications, it is critical to ensure uptime and resiliency in connected private SaaS environments. Effectively managing software applications requires the ability to automatically and continuously deploy, monitor, and roll back releases through policies - all of which may not require direct connectivity or any control over the customer's environment.
-- Telemetry, logging and audit control: Connected private SaaS applications also need to control data flow, adhere to encryption standards and provide auditability for all events that occur in their software within the customer's virtual private cloud, and then route the data to the correct stakeholders based on each environment's unique policies. This telemetry technology is often critical to maintaining compliance standards as well as troubleshooting and disaster response.
--Connectivity, remote updates and patching: When deployed to a private SaaS environment, changes in connectivity can have a dramatic impact on how updates and patches are delivered and deployed. Therefore, flexibility in deploying updates and patches is critical in order to support remote updates provided as bundled updates across the application or based on incremental updates between releases.