Some posts are easy. This is not one of them as I try again from scratch on version 3. I wanted a well thought out piece describing what a great cloud architecture looks like. I was going to cover a lot. Then I remembered that nobody will read this! If you want the longer version, then let me know in the comments.
I wasn't at Enterprise Connect 2016 this year since we are traveling around the desert southwest. Pretty sure I didn't miss too much, but my twitter feed did blow up on Monday when "sparks" were flying between Cisco and Microsoft. I'd love to see the full transcript of the exchange, but apparently it got quite interesting at the summit session panel discussing how UC was changing. The word "Cloud" came up a couple times ;). More like a hundred times.
My cloud, Your cloud. Their cloud. Everybody has a cloud. And many believe that their cloud is the only pure version. And that's where they are wrong. There is still a LOT of misunderstanding of what the cloud is and isn't. Look, we've been drawing pictures of fluffy clouds on whiteboards for decades!
Can I take an off the shelf software MCU, put it up on a hosted Rackspace machine, give limited access to some of my employees and call it a cloud deployment? Yes. Not a very good one, but yes.
At the other extreme, can I replicate the Netflix cloud architecture, host on AWS and Softlayer with all the latest bells and whistles of modern tools, provide access to the world and call it a cloud deployment? Yes. You'll also be responsible for moving it forward on the behalf of your customers ... forever.
There are an infinite number of deployments in between. One size does not fit all. What I can say is that today's cloud deployment will look ancient when you look back in a few short years.
My good friend Jon Tracey wrote a post yesterday that you should check out and it gives a solid list of questions to ask from an end user perspective considering a vendor in the cloud space. BTW, I do disagree with his point #2 about most providers owning and operating the equipment. There are exceptions ... if you get really big ... aka Dropbox.
I will give my opinion on two important philosophical points that a modern cloud architecture provides to the solution provider (whether pure SaaS or built on top of a PaaS or IaaS).
Designed to Experiment. Cloud advocates will usually preach about the benefits of scale, agility and cost. All true, but the ability to rapidly experiment is a key benefit. In last week's post, there was a quote that included, "We believe in rough consensus and running code.". Your cloud solution provides a platform for infinite and fast experimentation. Many protracted product discussions can be reduced/eliminated by simply building it and running some code. The debate is short circuited. A version of this is available to the end user as well in the form of supplied analytics.
Designed to be Dynamic. The cloud can (and should autoscale). As demand grows/shrinks, the compute is elastic. There should be no human intervention required. A few years ago, there was a brilliant analogy of pets vs cattle. Cloud machines should not be pets. In fact, taken to the logical conclusion, you should be routinely killing production machines to prove and test that your cloud solution is resilient to these types of failures. There are many tools available to make this happen. Failure is inevitable and any service you build or use should take that into consideration.
Do you have to experiment or be dynamic to be a cloud service? No, but you do serve an increasingly informed customer base that can easily (mostly) migrate to a new service. As an end user, you should continually be looking for and evaluating alternatives. Not only for better ones, but the worst case scenario is when your provider stops providing completely. They go away. It happens.
We both got to the end of the post without talking about public, hybrid, private, Saas, PaaS, IaaS, VCaaS, CAP theorem, Microservices, Big Data, Cloudbursting, data base replication or a hundred other buzzwords. For that I am both glad and sad!
BTW, I'm certain that both Cisco and Microsoft can design, build and operate great clouds and cloud products. They're not the only ones though.