As many of you know, my background is in the supply chain space, and despite the fact I’ve spend the last six months focusing on Cloud, I still have an interest for the supply chain. I’ve had the opportunity to talk to a number of service providers lately and this got me thinking about the parallelisms between cloud and the supply chain.
At the highest level, let me make some comparisons:
- What goods are transported in the cloud? Data
- Where are the inventories? Data storage areas
- What are the transportation routes? The network segments
- What is the transportation capacity? Network bandwidth
- What is the production capacity? Datacenter capacity
- What is the machine set-up time? Resource provisioning time
and I could go on like this. I assume you get the message. And this being said, we can learn from the supply chain lessons to improve the working of the cloud. So, what should we take into account:
- It’s important to view a supply chain functioning end-to-end, ensuring we are looking at the whole and not sub-optimizing a small portion of the network. Similarly, in the cloud it is important to look at end-to-end services and not limit things to the datacenter under the assumption that the internet functions fine and is outside our control. Hence the importance of looking at both the data center and the network. It is the only way quality of experience can be ensured, in the same way that an end-to-end view of the supply chain is needed to ensure SLA’s are met.
- Where should inventory be stored in the network. Numerous approaches have been developed to establish locations and sizes of buffer stocks. Similarly, the location of data should be in direct link with the demand. For example, often requested video material should be duplicated in multiple data centers close to the points of consumption, while rarely required ones may be stored in a more central place. The bandwidth required for the long-distance transport can be found more easily as the requests are infrequent.
- Capacity may be needed on the spot, but often workloads are projected ahead of time. Production and transport scheduling can be used in the same way as it is done in the supply chain. Similar models should be used to identify what can be “produced” when. The unsolicited nature of some of the workloads requires a portion of the capacity to be kept available to respond to this unplanned demand. This is similar, once again, to what is done in some industries, particularly the ones mixing build-to-order and build-to-stock.
- Provisioning of cloud environments may take time, depending on the strategy used. Here again, things are very similar to machine set-up times for production batches. Depending on the batch type, and in the case of manufacturing, the order in which they take place, more or less set-up time needs to be accounted for. The order in which workloads are executed does not matter at the moment in the cloud as the environment is put back into a common initial state. But as security concerns force more in-depth cleaning of the environment, particularly the storage part, one could envisage a differentiated approach depending on the workloads and their owners. For example, if two workloads of the same owner follow each other, lighter cleaning is required then if it is from competitors.
I could probably go on like this, but would end up boring you. So, let me stop here and conclude. Although supply chains and the cloud are very different things, one can learn from the other. Let me know if you agree with my analysis?