BLOG@CACM
Software Engineering and Programming Languages

Vendor Software Solutions in a Cloudy World

Be prepared to check under the hood.

Posted
Credit: Shutterstock datacenter in the clouds, cloud-computing concept, illustration

It was not that long ago that the deployment target for nearly every vendor software solution was an enterprise’s own datacenter. “On-premise” deployments were not just the default option for major operational systems, due to compliance considerations may have been the only option. Considering what a banking system means for a bank, and an electronic medical record means for a healthcare organization, such systems going offline present serious problems for an organization’s core mission. On-premise deployments were safer and more controlled; at the very least, someone could physically look at the servers to see if the lights were blinking and the fans were whirring. Deploying on-premise even extended to supporting systems such as accounting/financial, payroll, and HR systems. People even used to deploy and manage their own instances of Jira for software issue and release management.

A lot has changed.

Today, cloud-hosted solutions represent the dominant way software solutions are delivered. There are still places where on-premise deployments make sense, but cloud-hosted solutions have a lot of advantages with respect to infrastructure. First, they can aid in speed-to-deployment with respect to not having to estimate and size, purchase, rack-and-stack, and configure hardware to get a solution up and running. Second, it can aid in ongoing management of the infrastructure with respect to required upgrades and hardware lifecycles as these activities become someone else’s job.

That said, there are a few things to consider, especially where enterprise and business critical solutions are involved.

Infrastructure

While “cloud-hosted” solutions may be ubiquitous, all cloud-hosted solutions are not all the same. Some solutions might be built on public cloud platforms, and some might be deployed in commercial datacenters, or maybe even the vendor’s own. Just about everyone in datacenter operations knows of a time somebody forgot to correctly wire a secondary power supply in a rack in their datacenter, then the power blipped, and what happened as a result. The same thing can happen in somebody else’s datacenter too. Humans are human, and it’s still a computer in a rack. It’s just not your computer and your rack. The same thing applies for the rest of the technical stack.  

Public cloud platforms offer many advantages due to a wide selection of available services, frameworks, and scale, but they still offer no automatic guarantees of scalability as it all depends on the deployment options chosen. A vendor’s amazing web-demo could be running from a hand-configured Web and database server in a single virtual machine.

Especially for business-critical enterprise solutions, ask about how customer tenancy is managed. It can be a potential benefit if a vendor is provisioning customer-specific environments, but at the same time a potential liability as this is likely to generate additional management tasks and fees. The cloud offers flexibility, but nothing is free.

Long story short, check under the hood.

Data

There is an old phrase, “possession is nine-tenths of the law.” When applied to data, it is fair to say that possession is 99.9999% of the law. One advantage of old-fashioned on-premise deployments is that an enterprise had access to all the data for downstream reporting and analytics because it had access to the underlying datastores. This access came at a cost, of course, of managing the infrastructure, but there weren’t concerns of whether data would be available. This is a critical difference for cloud services because access to the underlying data is only available via the methods provided by the vendor, and at the price the vendor sets. Assuming data integration options are available at all.

Options for data integration could include APIs for near-real-time access, data marts, or file extracts, and enterprises should look closely at each as the devil is in the details. If there are APIs, inquiring which specific datatypes are available (i.e., whether everything on the screen is available through the API), with what performance characteristics and with what rate limiting, would be advised. Similarly for marts, understanding the data latency from the operational system is critical for analytics, as well as whether the mart platform will fall over from a few concurrent queries. Discuss networking requirements up front, as nothing about cloud networking and security should be taken for granted.

Reporting and supplementary analytics may not be most people’s primary concern with respect to vendor solutions, but leaving them to the last minute can lead to nasty surprises, or worse.

Solution Administration

It is worth noting that onboarding and managing users is a lot of work that happens no matter where a solution is deployed, let alone a solution’s configuration of custom content and workflows. As stressful as managing infrastructure can be, solution administration can be even more work. There are no magic wands to be had, just keyboards. 

In Conclusion

Technical professionals do sometimes have a habit of getting lost in the details, but there are some details that need to be checked. Enterprises should plan accordingly with cloud-hosted solutions because they are here to stay. Forewarned is forearmed.

Doug Meil

Doug Meil is a software architect in healthcare data management and analytics. He also founded the Cleveland Big Data Meetup in 2010. More of his BLOG@CACM posts can be found at https://www.linkedin.com/pulse/publications-doug-meil

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More