Sunday, May 24, 2015

Cloud Caching

Businesses and individuals rely a lot on Cloud services for both work and personal use. The number one issue with Cloud services, applications, data storage, or whatever category they fall in is connectivity. If you have no Internet access you basically have little to no functionality with Cloud services.

You can mitigate the issue with having redundant paths to the Internet. This is very simple to do with a firewall that supports 2 or more Internet connections.

Beyond Internet connectivity there is also the issue of ownership. If your data is hosted by a service; lets take for example Google Docs. Then all your data is somewhere in the ether and you have no physical possession of that data. If Google was hacked, went down, or even worse went away then what do you do?

For a truly better experience here is my though on an approach that would get a lot more companies to trust the Cloud and move more services there.

I suggest an appliance that resides onsite that "caches" all the data and keeps a working copy of the services code local. This would allow users that have network access to this appliance to keep working with or without access to the Internet.

But as you read this you're thinking, how would that work? Why would any Cloud service let you have a copy of their proprietary code?

Create a standard that is secure and will emulate any Cloud based service in a protected virtual machine.

So just think if:
- Google Docs
- Salesforce.com
- QuickBooks Online
- Zoho
- iCloud
- Dropbox
- Office 365 (online office)
- Even email applications such as Gmail, Outlook.com, iCloud, Yahoo
- and many more...

Were ALL FULLY FUNCTIONAL WITH NO INTERNET CONNECTION!

Obviously this is temporary as the email would not talk to the outside world and data would not sync outside your office. But your users could continue to work without any interruption and still have access to data in the event of an Internet outage or a service outage from the Cloud provider themselves. Once Internet connectivity returned everything would sync back up like an offline mode sync.

The next benefit is speed. With a Cloud Caching appliance the code could execute locally in that secure/hardened virtual machine so your users would not send any data across the Internet and wait for that to come back. The load would essentially be "offloaded" from the Cloud service providers to your local network.

I would accomplish this with:
- Open standards and open source code to run the virtual machines.
- Vendors can then supply hardware and support while running the core with open source. Then adding any proprietary software on-top for management purposes, load balancing, etc.
- Each Cloud service provider would upload a new virtual machine or update their current one when they release any new code.
- Cloud service providers would create APIs to sync data into each customers repository.

For high level management owner/operators can set polices on their appliance such as:
- Version control, so if an update comes out they can control when it deploys and also have fail back if there is an issue with the new code. The Cloud service provider can override these polices to prevent corruption with the data.
- Bandwidth control.
- Use applications local or remote when Internet connectivity is available.
- Switch to applications locally if latency or bandwidth usage is high (definable).
- Customize URLs for internal access or to just have external URLs redirect to the internal appliance(s) using DNS control/redirection.

The possibility of even outright purchasing a perpetual license for a Cloud service would be feasible to then host on-site without Internet connectivity. This could also be used for Cloud services that are end of life or where the service went out of business.

The idea of a standard and openness is competition to keep prices low and make it so a proprietary appliance is not needed for each service. ISPs can even implement appliances in neighborhoods to keep access local and fast!

For Cloud services to really capture more business from those that have not yet adopted, this may be the best way forward. Hopefully someone will figure this all out and bring the Cloud home!