CEO Perspectives 1: Surprise Benefits

Real-Time Cloud icon.Recently the Harvard Business Review reprinted an article by Andrew McAfee titled: What Every CEO Needs to Know About the Cloud.   McAfee is a principal research scientist at MIT who studies how technology is changing the business world.  In addition to providing a clear, concise introduction to cloud computing for a CEO, McAfee suggests that we don’t really know all the implications of cloud computing, and he points to a number of benefits that might come as a surprise.

To shake us out of our old habits of thinking, McAfee compares the shift from traditional IT into the cloud to a shift that took place in factories a century ago when steam power was replaced with electric power.  There were real costs involved in such a fundamental change: completely rebuilding production lines, buying and installing new equipment, and retraining or rehiring staff.  At a time when power was distributed mechanically from a central steam engine, few people could envision a factory where each tool has its own built-in electric motor.  Now it’s impossible to imagine ever going back.

In the same way, argues McAfee, the benefits from cloud computing often come in ways that exceed expectations.  He gives an example of a global contracting firm that implemented a cloud solution to provide remote access to reference data like estimates, blueprints, and images.  The time savings on data retrieval were substantial, and yet the company soon found out that a major bottleneck had been unexpectedly eliminated as well.  Before, to collaborate on such projects, an engineer would have to wait for the IT department to add the new user, give clearance for the FTP server, and provide space.  With the cloud system, the engineer can quickly enter the necessary access information and bring in a new collaborator right away, eliminating costly delays.

The article discusses other benefits of using a  cloud-based system, including providing an enterprise-wide platform for collaboration, opening new opportunities for data mining previously considered impossible, and readily enabling a space for development and hosting of new applications.  In summary, McAfee says that the cloud “allows companies to increase the scale and power of their IT and the speed at which it can be accessed and deployed.  It eliminates administrative headaches and works across locations, devices, and organizational boundaries.”

So how does this apply to real-time data?  We’ve already discussed some of the benefits to expect from putting real-time data on the cloud.  What additional advantages does this new article suggest?

From our perspective, it implies the value of providing instant access to live data in real time to users in a collaborative environment.  It hints that data mining opportunities may open up when the coming “Internet of things” is connected in real time.  It leaves us wondering what would happen if an IT department could take even a part of the 89% of IT resources currently spent (on average) for infrastructure and maintenance and divert it to projects like creating seamless interoperability among all of a plant’s legacy equipment.

It is a little too soon to know exactly what to expect.  Those who implement early will be the first to find out.  And as the technology of cloud systems for real-time data matures, they will be well postioned to reap the benefits.

Hybrid Clouds for Real-Time Systems

Real-Time Cloud icon.In the past few years, as cloud computing has become more accepted, it has also become more sophisticated.  The number of options is growing for someone shopping for a cloud system.  Two important categories are public cloud  and private cloud.  Now it seems that combining the two into a hybrid cloud can provide the scalability and lower costs of the public cloud, while not giving up the internal control and security for in-house systems offered by a private cloud.

This combination of public and private clouds could appeal to users of real-time data, particularly those in industries who need to keep a close eye on mission-critical systems.  There may be parts of those systems that need to be shared with a wide audience of users, while at the same time protecting the core proprietary data and applications.  Some companies might want to experiment first with a private cloud, and once they have experience working in a cloud environment, put some data onto a public cloud.

In any case, one of the challenges to implementing a hybrid cloud is integration.  How do you ensure a seamless connection and interoperability between in-house, private cloud, and public cloud systems?  On the contractual side, you’ll want to ensure that service level agreements (SLAs) between vendors are compatible.  And on the technical side, you’ll need to be sure that the real-time data flow is secure, fast, and uninterrupted.

If your system meets the nine core requirements for real-time cloud systems, then it should be relatively straightforward to implement a hybrid of public and private clouds.  A publish/subscribe data delivery model pushing data to the cloud through closed firewalls ensures that the data source is protected.  And it should be possible to mirror data between a private cloud and a public cloud, if necessary.  Mirroring allows for real-time synchronization of data in the system.  For data protocols that don’t network, the system will need the ability to tunnel the data between closed firewalls, and transfer it across the network over TCP.Hybrid cloud, one possible scenarioIn our opinion, a control system engineer who is looking at cloud systems to provide remote access to the plant data should be looking at the hybrid solution ahead of any other.  For example, the system shown above provides several advantages over a public cloud or a remotely hosted private cloud system:

  1. The plant system can run normally in the event of a wide-area network outage.  Remote access will be cut off, obviously, but the plant system will continue to run in isolation, unaffected by the network failure.
  2. People inside the plant will have access to the data at LAN speeds and latencies.  Their data access will not have to make a round trip from the plant to the public cloud server and back again.
  3. It is possible (even recommended) to give read/write access to the private cloud server from within the plant, but not allow write access to the public cloud server users, or indeed to the public cloud server itself.  This way if the public cloud server is compromised it cannot be used to compromise the plant.
  4. This arrangement allows the plant to isolate itself quickly from the public cloud server if necessary by terminating a single connection.
  5. This also allows the plant to publish only a partial data set to the public cloud.  Users within the plant need access to the complete data set, but remote users may only need access to a less-sensitive subset of the data.
  6. It can be implemented incrementally.  The private cloud server can be added to the existing plant system without disrupting it, and private users can migrate at their own pace to it.  Once the private cloud server has been validated, it can be connected to the public cloud server, again without any disruption to the plant system.

Is There a Hybrid Cloud in Your Future?

Real-Time Cloud icon.According to a recent entry in IBM Cloudchat, the idea of a hybrid cloud is “poised to take flight” this year.  Last month we had the opportunity to join a Twitter discussion with IBM Distinguished Engineer and CTO Cloud Standards Christopher Ferris and IBM VP Scott Hebner, along with a number of other experts in the field of cloud computing to look at the potential for hybrid cloud systems.  Among other things, it seems that the hybrid approach may lend itself well to real-time cloud systems.

Definition
We started off by defining what “hybrid cloud” means.  Chris Ferris reminded us of the NIST definition: “in which two or more cloud types are discrete but networked together such that a burst of activity beyond the capabilities of one cloud is shifted for processing to another.”  In other words, a hybrid cloud is a linked combination of two or more types of cloud systems, such as public, private, or community.  Most of our discussion focused specifically on hybrids of public and private cloud systems.Hybrid cloud, one possible scenarioParticipants were quick to expand on this basic definition.  There was some agreement that a hybrid cloud should provide “seamless integrated management and usage of different cloud services and in-house IT.”  This brings up two important ideas that may be implied but are not clearly spelled out in the NIST definition.  First is the necessity for a well-integrated way to coordinate between the two or more types of cloud in the hybrid.  Second, there is a practical need to consider effective coupling with in-house systems.  This is particularly true for many real-time systems.

Benefits and Risks
The benefits and risks of hybrid systems were summed up in this comment by Marcus Erber: The “benefit is to get the best of each world. Risk is the complexity of the environment.”  Some of the specific benefits mentioned by other participants included:

  • Cloud bursting, which is the ability to handle sudden, heavy computing loads.
  • Scaling resources, such as processing power or storage capacity, possibly in a more planned and controlled manner.
  • Maintaining internal control & security on selected systems or data, which is often significant for industrial and mission-critical applications.
  • Accessing public cloud resources from within your firewall, which is similar to the requirement for real-time cloud systems to reverse the client/server relationship.

One overall comment was that a hybrid cloud provides the benefits of scalability and lower costs associated with the public cloud, while allowing companies to keep mission critical applications managed in-house (in a private cloud).

The risks were felt to be similar to those of the public cloud in a general sense, with the added challenge of integration between the two systems.  Some of the specific risks and challenges highlighted were:

  • Difficulty of achieving interoperability between cloud systems
  • A need for maturity of cloud APIs
  • Harder to achieve service levels specified in SLAs (Service Level Agreements)
  • Matching SLAs between private and public cloud providers
  • Avoiding vendor lock-in

As with other aspects of cloud computing, the general feeling among participants was that the benefits outweigh the potential risks, and the challenges can be met.  Even if we take in all the optimism with a grain of salt, there is some reason to expect to see a hybrid cloud in your future.

What would a hybrid cloud look like for a real-time system?  This is worth looking at in more detail, in our next blog.

The Private Cloud Option

Real-Time Cloud icon.What comes to mind when you hear the phrase “cloud computing”?  Despite all the benefits, do you get a vague feeling that somehow you’re going to be handing over control of your system or your data to someone else?  That’s not surprising.  The common understanding of a cloud system is called a “public cloud,” where anyone can sign up and start uploading programs and data alongside anyone else.  Of course, there are security safeguards in place, but you share the cloud infrastructure and hardware with others.

There are other options for cloud computing.  One of these is a private cloud.  The most recent draft copy of “Cloud Computing Synopis and Recommendations” from NIST (The National Institute of Standards and Technology of the US Dept. of Commerce) defines a private cloud like this: “The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.”

This opens new possibilities.  Suddenly cloud computing is not something “out there.”  It can be managed on-site by your own IT staff, using your own hardware.  Or you can outsource the operation and still have exclusive use of the cloud computing resources.  Either of these kinds of private clouds (on-site or off-site) can be used to support real-time systems.  Each has its own inherent advantages and drawbacks.An on-site private cloud deployed at a single location does not rely on outside networking, and is easier to secure.  But the upfront costs are higher, especially if you build and maintain it yourself.  Also, there are fewer resources available for “cloud bursting,” or handling sudden, heavy computing loads when you are using an on-site cloud.  So you lose some of the key advantages of a cloud system.An off-site private cloud, on the other hand, would be less expensive to implement up front, and would be more flexible in providing additional resources on short notice.  But it would run partially, at least, on external networks and more effort would be needed to implement security.

In a way, we can view on-site and off-site private clouds as sort of stepping stones towards a public cloud.   As you move up the steps, your costs go down and flexibility increases.  But to gain those benefits, you need to depend more on external networks or the Internet, and to keep a close eye on external security.

One approach to trying out cloud computing for a real-time system could be through implementing a private cloud.  This would give an opportunity to gradually gain valuable experience in cloud computing.  For example, you might want to experiment first with an on-site system, and once the kinks are worked out, move to an off-site private cloud.  Then sometime down the road, you could move to a public cloud.

Or, there’s another possibility–a hybrid cloud.  We’ll talk about that next week.

Nine Core Requirements for Real-Time Cloud Systems

Real-Time Cloud icon.Engineers have typically been enthusiastic and early adopters of new computer technology, especially when it comes to real-time data processing.  As PC technology has advanced, they first applied analog, then digital technology.  They have moved from isolated computers to wired and wireless networks for implementing real-time data communication in their process control systems.  Moving to the cloud would seem like the next logical step, but as with each previous step, this evolution will require changes in thinking and communications design.

To open a dialog about what these design changes might be, we list here what we understand to be nine core requirements for a cloud system to support the flow of real-time data for industrial, embedded and financial systems.  Each of these is discussed in more detail in related Real-Time Cloud blog posts (blue links).

Data Rates and Latency
1. High-speed “push” data sources.  The data should be pushed out to the cloud, and then pushed to the user.  Polling requires too much time and uses too much bandwidth.  Push technology also enables machine-to-machine communication.

2. Publish/subscribe data delivery.  In an event-driven model a user makes a request for data one time, then gets updates whenever they occur.

3. Low-latency data transmission.  The data needs to flow quickly and effortlessly through the system, through an in-memory real-time database.  Relational databases typically used for business systems are too slow.

Reversing Client/Server Relationship to Keep Firewalls Closed
4. Reverse the client/server relationship.  The typical client/server thinking is to treat an in-plant control system as a server (it is, after all, the source of the data), and the cloud service as a client to that in-plant system.  This means there needs to be an open firewall port directly into the in-plant control system.  Secure cloud-based systems need to reverse the client/server relationship by having the in-plant system act as the client and the cloud service act as the server, even though the in-plant system is the data source.  This allows the in-plant system to stream data to the cloud service without exposing itself to the Internet.

Data-Centric Infrastructure
5. Data-centric, not web-centric, design.  The data stays in its simplest format, with no HTML or XML code, for lowest possible latency.

6. Raw data access at the cloud.  The raw data flows from the source, through the cloud, to the user, and gets converted to other formats (such as HTML, XML, SQL, etc.) at the last instant.

7. Multiple user types.  Different users, such as web browsers, databases, spreadsheets, and machine-to-machine systems access a single data source.

Redundancy
8. Independent, hot-standby, redundant cloud systems.  It should be possible to provide fully redundant data paths from inside the plant firewall to inside the client firewall, that can switch over in milliseconds in case of any service outage.

LAN-to-LAN via the Cloud
9. LAN-to-LAN bridging and synchronization.  The system maintains a complete copy of the data set on the source LAN, and sends it across to the user LAN, continuously updating it in real time for live replication of the data on both LANs.  Should the cloud communication channel be lost, local clients and servers don’t need to respond to the network failure.  Individual control areas within a distributed system can continue operating as “islands of automation” until the cloud connection recovers.

Taken together, we feel these nine core requirements are needed to support a robust real-time cloud system.  These are, of course, in addition to the need to find a good cloud hosting service that provides a favourable service level agreement (SLA), solid performance, and security.

Predictions for the Cloud for 2012

Real-Time Cloud icon.Every month the IBM cloudchat invites a deluge of tweets about a topic related to cloud computing.  A few weeks ago they asked for predictions for the cloud for 2012.  The replies from the all-star panel of Dr. Srini Chari, Judith Hurwitz, and Amy Wohl, as well as many others around the world came thick and fast—hundreds of tweets raining in during the hour-long session.

During the storm it was almost impossible to read, much less to ponder implications.  But I’ve had a few days now to digest the content a bit, and thought I’d share a few of these predictions, along with how they might apply to real-time cloud computing.  Here are some of the answers to the question:  Looking ahead into 2012, what predictions do you have for the industry?

Broad acceptance
Tweets like, “The cloud debate is over, it’s how do I get there now!“, “customers are no longer asking if cloud but when cloud,” and “Cloud is here to stay, evolution after distributed computing. No turning back,” make it clear that everyone was on the same page.  The common wisdom is that cloud computing will become widely accepted.  In fact, Judith Hurwitz went so far as to say, “companies that have ignored the cloud model might not figure out how to remain competitive,” and Srini Chari added, “no IT system except top secret installations can exist in isolation.

Growth
As you might expect, it was widely agreed that cloud computing will continue to grow.  Predictions included increased private cloud adoption, significant growth in hybrid cloud, and further adoption by small and medium-sized businesses.  This tweet from Tina Williams at IBM sums it up: “Everything as a service.

Implications
There is significant expectation that widespread acceptance and growth will lead to a greater number of cloud applications in both the business and consumer markets.  A number of tweets mentioned more mobile apps.  Amy Wohl pointed out that “Consumer applications will continue to push business applications to keep up.“  Another implication for general lifestyle change is that more and more people will be working and collaborating across the Internet.

Challenges
A variety of challenges were mentioned, ranging from technical issues like data latency to business concerns like pricing.  Among these, you could sense an awareness of a need for expanding our vision.  “In 2012 people will finally realize that cloud is ‘not your parents IT infrastructure’ – new approaches for better outcomes,” tweeted Angel Luis Diaz, of IBM.

What about real-time cloud computing?
All of these predictions have strong implications for real-time cloud computing in 2012.  Widespread acceptance and growth of the cloud means that people working with industrial and embedded systems may start looking for cloud-based solutions.  We expect that with increased implementation of real-time industrial applications in the cloud, consumer apps using real-time data won’t be that far behind.  In fact, they may lead the pack.  Either way, any kind of real-time cloud system, industrial or consumer, will depend on an infrastructure that is neither your parents’ IT infrastructure, nor an industrial SCADA system, nor even what we typically see for cloud computing.  Real-time cloud computing will certainly require “a new approach for better outcomes.”

Required for Real Time: 5. LAN-to-LAN via the Cloud

Real-Time Cloud icon.For this final blog in our series on the unique requirements of real-time systems for the cloud, let’s step back a bit and look at the whole picture.  In any industrial or embedded cloud application, there are essentially three parts:

  1. The data sources, such machines, industrial processes, or perhaps remote terminal units (RTUs) or sensors used for data acquisition.
  2. The cloud system.
  3. The data consumers, which might be web pages, databases for generating reports, spreadsheets for running analytics, or even other machines or processes.

Each data source can send data individually to the cloud system, but often a number of sources will be connected on a LAN.  Most LANs of this kind are protected in some way from the open Internet, either by a secure firewall or in many cases simply by not having any physical connection to it.  Ideally, to distribute this well-protected data via the cloud, you want to be able to pull the data you need from the system and recreate it remotely, without opening any firewalls and without interfering at all with other data communication taking place on the LAN.

A real-time LAN-to-LAN cloud system is able to maintain a complete copy of the data set from the source LAN and send it across to the user LAN, continuously updating it in real time.  On the user LAN, the effect is that the entire source data set becomes immediately available, just like another node on the network.
Of course, data consumers can also make their own direct connections to a real-time cloud server, but there are many benefits from creating synchronized LAN-to-LAN connections.  For example, if a corporate office requires access to a remote plant, it would much prefer to maintain its own LAN-based system that replicates the data in the remote plant.  This would allow multiple researchers, engineers and managers to access the plant data without making their own connections to the cloud or the plant.

By keeping a single system synchronized with the cloud server, all data is transmitted from the cloud only once, and then distributed inside the local LAN to any number of users.  This produces both cost savings and improved responsiveness for those on the LAN.  It also allows for implementing redundancy.  Of course, this synchronization should occur without the need to open a port in the corporate firewall.  Effectively, the cloud server must act as a bridge between two client connections, both occurring from within fully secured firewalls.

So, this is what is so special about a real-time infrstucture for cloud computing.  It requires quick data rates and low latency, and it reverses the client/server relationship at the data sources to keep firewalls closed.  It relies on a data-centric infrastructure, allows for redundancy, and finally, it can bridge the process LAN to the corporate LAN to support fully synchronized data sets in real time.  With the value of this kind of infrastructure understood, we can now talk about real-time cloud computing in a meaningful way.