My observations of our changing IT landscape move me to write this post about where I think we are heading and what our world will look like beyond the currently fragmented understanding of what Cloud Computing is.
People see Cloud Computing in different ways. Some see it as a cost cutting vehicle, some see it as a strategy for Greener IT, some see it as just a means of managing virtualising or outsourcing of computer power and storage. Others, including myself, have seen it as a means of facilitating innovation in a world of opportunity without limits. Regardless of the perspective, most people talk “Cloud” but think “Clouds”. I have never subscribed to the view that there are multiple clouds – that is just not compelling enough, too limiting. And yet most implementations seem to end up as competitive islands bereft of capacity to really play a role in synergising for a better world.
Nevertheless, there is a lot of evidence to suggest this pluralised, fragmented and limited Cloud paradigm is being replaced inexorably by a single consolidated view, Evidence of this trend includes:
- Single Sign On technologies providing single points of entry;
- Increasingly convenient and powerful APIs facilitating interoperability and data exchange between systems
- User interface mash ups, initially limited to maps and embedded videos, are increasingly making their way into social networking and business applications, everything from Twitter and RSS feeds to camera based applications like QR and barcode readers, from financial credit ratings on customers to public ratings on suppliers. For illustration, LinkedIn now provides Twitter feeds and WordPress blog entries without any programming. Facebook includes all manner of embedded games.
- New Social Media platforms take advantage of our need to contextualise our input and output: LinkedIn allows the creation of groups for private or open discussions, and Google+ takes a big step forward in this direction with its concept of circles, seemingly borrowed from the like of Covey’s Circles of Influences and Concern.
Twitter involves broadcasting our message to the world and will be received by followers and searchers. Strangely, a lot of people see Twitter as a reciprocal arrangement, whereas its real power lies in people being able to follow those who have something to say that they find interesting. Reciprocation as a practice limits the usefulness of the medium. As a side note, it is interesting how the crowd has adapted Twitter for contextualization by adding hash tags (#MyTopic). This has enabled Twitter-based real time discussions, trending topics to be picked up and has introduced all sorts of leveraging power for customers,vendors, budding artists and anyone else who wants to be noticed. Salesforce Chatter has adopted the same convention.
- Many email clients provide a range of ways to automate the management of email. We started with clients like Outlook that could do things like put emails in folders (A very client-oriented approach). GMail introduced labels – the new tagging approach meant that emails could co-exist in multiple locations. Threading added support for grouping related emails. Business rules facilitated focus on things that are important immediately, without losing things for later attention. Spam management both at the server and the client side also helped. Recently a number of tools are rethinking this. For example, ZeroMail, currently in beta, learns from your behavior as well as the behavior of others how email should be processed and separates magazine-style content into a reading stream, allows emails to be treated as tasks and to be snoozed for later attention.
- Back-end facilities such as Amazon SQS (Simple Queuing Service) and SNS (Simple Notification Service) now allow developers to tie systems together in unimaginable ways, providing interesting context and value that is hard to predict.
- The emergence of Database as a a Service in a variety of forms is allowing designers to focus on how their system will provide value rather than how the data is stored or persisted.
It was a big day today for cloud computing. At least it certainly seems that way after two of the most egregious issues witnessed in cloud computing service provisioning, both emerging in the past 24 hours. I feel compelled to make some comments in response to the events of Distribute.IT’s catastrophic and irrecoverable data loss and DropBox’s temporary lapse of control over their security system, allowing any user’s password to access any user’s account.
Let’s first of all recap what happened.
- DropBox had an incident they described as an “Authentication Bug” resulting from a code update released that allowed any user to log into any account using any password. The security hole was open for almost four hours.
- Distribute.IT, who provide web hosting services had what they described as a “deliberate, premeditated and targeted attack ” on their network. This impacted pretty much their entire business infrastructure and four major servers were irrecoverably lost including all “production data, key backups, snapshots and other information that would allow us to reconstruct these Servers from the remaining data.” The upshot: more than 4800 customer websites, data and email reservoirs eradicated.
One of the beautiful things about Salesforce is the ability to create or modify an object’s structure with defined relationships, permissions, application contexts, business rules and page layouts.
Think about it for a second: how many frameworks do you know of that enable you to modify the data schema and automatically set:
- Relationships between objects;
- Cardinality rules, (definitions of how objects relate to each other in terms of how many of one can be related to how many of another);
- Business rules, (what fields are mandatory, what fields are dependent, default values, what fields are read only or even visible for certain users, which fields must be unique);
- Referential Integrity rules (which records will be deleted when a parent is deleted);
- A User Interface, even one that can be different for each user profile;
- Application context (which objects belong together to form a sub application;
- Access to reports; and
- A Notification engine that can share changes with subscribers or record owners, or handle task assignments.
And all with a point and click interface – no programming required (unless you want to), and all with defaults to allow you get the job done quickly. Very quickly. Read more
This article is the first in a series of articles looking at changes/improvements I would like to see happen. You will find them categorised under the category “Things I Want to See”, and also filed under specific vendors where appropriate.
An increasing number of people are coming to understand intuitively the difference between traditional peer-to-peer document sharing modes where multiple instances of documents exist, at least once on each client machine. You know the drill, you attach a document to an email, the recipient opens the attachment, edits it, saves it and then attaches the saved new version to a new email and sends it back. Before long, there are multiple copies of the document and it can be difficult to know how the document evolved. In the case of several people, it can even be difficult to know which version of the document is the current one. There may not even be one single latest version, as two people may edit two different earlier versions at once. Stitching these all back into a master document is not easy.
A lot of tools have been developed to simplify the potentially incredibly complex task of managing all these document versions. But the cloud provides a simpler way, by fundamentally only having one document location. So instead of linking people to people, you link people to documents and the problem elegantly goes away:
|Traditional Document Sharing||Cloud-based Document Sharing|
“Knowledge is a single point, but the ignorant have multiplied it.”
(Baha’u’llah: Seven Valleys and Four Valleys, Page 25)
When we don’t really understand something, we see division, we see dichotomy. We see the things that differentiate and we hone in on them, creating opportunities by exploiting these differences and in so doing we limit our thinking, our judgement, our potential. We become experts and protect that expertise by making it difficult for others to gain the knowledge we have. Knowledge is power, having more knowledge than others gives us an advantage.
It usually takes one visionary person to challenge the basic assumptions that lead to these differences, and when that happens, entirely new vistas open to us, empowering those who were shut out by providing access to the knowledge or exposing the differences as being false divisions, false barriers to entry.
Computers are like this. In the very early days, only people trained in the arcane would be able to (or want to) access a computer. A computer operator had to be able to read ticker tape, write in binary, then assembler, then Fortran. Screens and keyboards made computers more accessible, and then graphical user interfaces hid much of the complexity.
Programmers have been able to work with increasingly high abstractions, but still we haven’t really been able to get away from the need to be able to program, or to purchase tools that hide this from us – tools that automatically do backups, convert file formats, transfer data, dial the phone, send communiqués or whatever.
This seems to be changing very quickly – increasingly it is becoming possible for people to choose to configure existing systems rather than being forced to find a programmatic solution.
What is interesting here is the trap this represents for some people on both sides of the fence – those that understand how to program and those that don’t. Clearly the people who focus on the end objective, rather than the means of getting there, will adapt as technology becomes increasingly available to non-programmers. These outcome-oriented people have a distinct advantage.
Those who only see the barriers will continue to use old methods. End users will remain in fear of the unknown, while programmers will continue to look for programmatic solutions, even when both are presented with tools that can get the job done without code.
Cloud Computing makes it easier to facilitate the kind of advances described here, advances that empower end users to achieve change without programmers. This is because Platforms and Software delivered as a Service typically mean there is only one version of the platform or software in use by everyone – it is literally impossible for anyone to get left behind. Vendors can work to cover a lower common denominator because it is worth their while. Salesforce.com is a great example of this.
The bottom line: Those that focus on the technology will be left behind in a world where we were slaves to technobabble. Those that focus on what they want to do will realise the rules have changed and will be astonished at just how far they can take their vision without breaking a sweat.
In the 19th Century, railroads sprang up all over the United States and Europe and history shows that most of them ultimately failed because they didn’t understand the fundamental nature of their business. The actions of most demonstrate that they understood their business to be that of operating a railroad. Of course, those that survived understood they were in the business of providing a service to move people and goods. These companies were able to make the natural transition from trains to planes, ships and trucks.
Telecommunications companies face a difficult decision as they see their traditional business eroded by new entrants using completely new approaches to linking people together, but how do they perceive their business? Is it:
- provisioning infrastructure?
- facilitating communications between people from afar?
- enabling information to be shared remotely between people?
- enabling information to be shared between business objects and people?
There are many businesses offering a small subset of this in a particular domain, for example,
- Marketing Automation tools that offer automated notifications when the behaviour of someone warrants it for example visiting a website, opening an email, talking to someone at a tradefair, failing to respond to a stimulus;
- Accounting Software that can automatically notify a dispatch agent such as Amazon Fulfilment when an order is placed, informthe Financial Controller when an invoice over a threshold has been allowed for a customer with a suspect credit history or can notify the Accounts Receivable clerk when an expected cash receipt fails to arrive;
- Product subscription services and RSS notifications that notifying a group of subscribers when a new product enhancement has been released or a new piece of content is made available;
- Leave management systems that notify managers when an employee’s leave gets too high or when a vacation is due to be taken by someone in the team; and
- Data Integration tools that allow data warehousing for data mining, disaster recovery or remote access.
- API Calls;
- Facebook Posts;
- Tweets and similar;
- Forum Posts;
- Website Visits;
- Email Responses;
- Database Events (inserts, updates, deletes, reads, procedure executions)
- API Calls;
- Facebook Posts;
- Tweets and Similar;
- Forum Posts;
- Database Events;
- SMS Messages;
- RSS Feeds;
- Amazon Simple Notification Service entries;
- Amazon Simple Queuing Service entries;
- Tasks / ToDo Items;
- Financial Transactions;
- Logistics Instructions
- A robust security system;
- A scheduler;
- An event and non-event manager;
- A business rules processor;
- A billing and transaction manager;
- An adapter;
- A metadata editor;
- A subscription manager.
Historically people have clustered in towns and cities because it is cheaper to transport goods than it is to transport people. Humans, being social animals, typically have a need to be with others physically. For the vast majority of us there is also a need to be able to communicate with others, whether we are near them or not. Through the ages a variety of systems of communication have been established: entire civilisations have thrived or fallen due to a communications infrastructure consisting of safe modes of transport and communication including roads and waterways, language, mountain towers, and eventually the telegraph and beyond. The Romans, for example, demonstrated the importance of this infrastructure to being able to grow a civilization we still talk about.
Companies initially arose to finance shipping ventures, where ships set off on journeys lasting months to trade goods, making fortunes at great risk by sapping the common for the rare in each direction. The workers on these ships, of course, needed to be in the one place – a sailor not on board is not of much value.
As the industrial revolution unfolded, the same techniques of bringing investors together were used to build self-contained factories where workers could manufacture increasingly complex products. These factories had their own source of power, their own distribution mechanisms, their own forms of transport. Productivity increasingly became the order of the day through machine and labour specialisation, and isolation from other companies.
Today our world is very different. We have learned to work interdependently, sharing a central supply of power that can be used for pretty much any generic purpose, sharing distribution systems, communications systems and all manner of services including things like advertising, staff training, waste disposal and statutory compliance.
Increasingly workers are able to work remotely, share jobs and rotate desks. Companies are able to outsource many things enabling them to concentrate on the things that truly make those companies special, and leave anything else to other companies with their own special skills. Rigid, hierarchical organisational structures have given way to matrix and other interesting structures. Workers who used to specialise in one repetitive task are empowered to take a more holistic role in the company.
We often hear that the future will enable us to work more from home and spend less time wasted in traffic. These are inevitable changes from a services based society and the increasing bandwidth and reliability that comes from better infrastructure. But there is more change coming to the way we live and work than that. It is happening all around us. New communications tools that social media brings us, tools like Twitter and Facebook, Chatter, LinkedIn, Quora, Ning, Yammer, WordPress and many others have the benefit of allowing people to tune into streams of information as a consumer and/or a producer in ways we really hadn’t foreseen a decade ago. The results are creeping up on us slowly, but inevitably.
So what will these changes mean for our corporate lives? For many businesses, long gone is the need for everyone to be in the same location, but more subtle changes such as our traditional relationship with one employer are likely to change. Companies specialise, and so do people. In a world where the streams of information make it possible, we are likely to see people increasingly take on fluid roles within companies, roles that morph from project to project, working on teams that are flexible and tailored to a requirement. Beyond that, we are likely to see people work for multiple organisations because the barriers to moving around will asymptotically approach zero. People, like companies will do the things that make them special, remarkable, and do them for multiple organisations. This is already true in the case of outsourcing to some extent, and the way that consultancies draw resources from a common pool elastically, but this is going to continue in many organisations.
The new modes of communication have given rise to a number of new businesses that facilitate sharing resources in ways that have exciting consequences – things like shared cars and bicycles, the so-called Internet of Things where devices can communication with each other and many others. We are gradually going to be able to recover from Information Overload because of this new way of communicating.
Looking back twenty years and seeing how futile it would have been trying to predict the way we live now leads me to the conclusion that any attempts to predict the consequences of these changes beyond the next few years is nigh on impossible, but I think attempts to do so will make interesting reading…
Amazon Web Services has been going through a much publicised outage, which has lasted by all appearances more than 12 hours. A range of services including Hootsuite, Reddit, Heroku, Foursquare, Quora and others have all faced major disruptions.
What is interesting is how they have positioned these outages: many have said EC2 is great, but they are having a bit of a problem at the moment. It appears these providers are taking the view that “whew, glad we outsourced our stuff so that it is clear that is not OUR fault that something like this has happened, and we can point to other vendors to prove the case that it wasn’t us – just imagine if we had have done this on our own servers and this happened, we would have been much more at fault!”
Just because systems are moved to the cloud doesn’t mitigate the responsibility to ensure mission critical outages are mitigated. If a business has a use-case that cannot tolerate down time then that business needs to architect their solution in a way that prevents downtime. Cost tradeoffs are always an issue, but if something goes wrong, and the cost of that problem is too high, then perhaps the service isn’t really feasible.
Imagine an airline providing a service where they cut costs on safety in order to offer a cheap service… Doesn’t bear thinking about. Imagine that the airline outsourced their safety inspections to a third party and then wiped their hands of responsibility in the event of a “downtime”. No-one would buy that.
The whole point about the cloud is that it enables you to free your thinking about one provider. Even if you stick with an Amazon only solution, or a Microsoft or Google or Salesforce or Rackspace or whatever solution, you still need to architect things in a way that allows you to accept the consequences of any flaws, no matter how they are caused.
After all, you are the service provider to your customer base – how you decide to deliver that is up to you.
A lot of people are learning a very hard lesson at the moment – there are good ways and bad ways of doing things. For some, a 12 hour outage is hardly a problem, but for others it can ruin lives.