Podcast août 1, 2023

Is It Really up in the Air? Demystifying Cloud Technology and Software Solutions

Everyone has an idea of what the cloud is, but do most really understand how it works?

LIDD founder Charles Fallon and Onomatic President Jean-Martin Roux work to demystify cloud infrastructure and technology, especially as it relates to supply chain technology and warehouse management.

Click the video below to watch the complete episode, full of friendly banter and informative insights as Charles and Jean-Martin address some key components:

1. Charles and Jean-Martin discuss the concept of cloud solutions, cloud computing, and how they work in supply chain management, emphasizing that the cloud refers to decentralized servers rather than an abstract location.

2. They explain the distinction between traditional platforms claiming to be on the cloud and truly cloud-native solutions, which leverage the physical server decentralization for improved performance.

3. The conversation touches on the role of load balancers in distributing tasks across logic layers and the potential for database distribution in cloud-native applications, as well as the concept of microservices for breaking down software components into manageable portions.

Watch the full video below:

*Elements of the video have been paraphrased for readability. 

Charles, LIDD President 
Howdy, JM. It’s the End of the Week!

Jean-Martin, Senior Partner at LIDD & President of Onomatic
Howdy Charles, yes it is.

Charles
If anyone doesn’t know, JM is the head of technology at LIDD. Today, we are going to talk about something extremely exciting.

Jean-Martin
Well to us it is.

Charles
Well, for me it is.

Let’s start with my excitement. I don’t know anything about how cloud solutions work particularly in the supply. How software can sit in the cloud and manage all sorts of transactions.

A few weeks back we were chatting about it and you drew me a picture which hopefully will be in the show notes. And I thought we really should get you on here to walk us through that. So let me set the stage, and then you can take over.

Jean-Martin
Let’s make this interactive actually.

Charles
Oh it will be interactive, but let me set the stage.

So if I run a warehouse, and like everyone else I’ve heard « you’ve got to get into the cloud ». On-premise servers, server farms, infrastructure, all that is dead. No one in the IT world wants to jiggle cables and worry about these things anymore. So your application should sit in the cloud, your warehouse management system.

As a non-tech, caveman from the stone analog age I think, woah! That seems crazy to me. I’ll have fifty good, hardworking people, each put their RF guns or their voice headsets or whatever piece of technology they are using to first get transaction instructions and then record transactions that they are doing. Picking an order, putting a pallet away, creating a label, whatever. There’s these fifty people doing hundreds of things in an hour individually which adds up to thousands of transactions in an hour. Hundreds sometimes at the same very moment. And over the course of a day, tens of thousands if not hundreds of thousands of transactions.

All of this, you know, it’s not like you and me are loading up a website we can take an extra second or two. It has to work at incredible speeds. How can you have a WMS sitting up in the cloud and still manage to give that level of performance. You were telling me about it, please tell me how it works.

Jean-Martin
There is so much to unpack in a way. So, the myth I’m trying to break specifically in our industry is that the word « cloud » is a picture you automatically assign with this abstract place where your data resides. « It’s in the cloud! ». You know, the concept of a cloud is just that it is decentralized. Meaning that it is not on a server that is on your premise, on your building, or within your own server room. But it’s ultimately leveraging a server somewhere where there are a range of software depending on it.

So that is a first concept just to keep everybody down to the ground which is that there is nothing just floating around in the air. There is some physical place where there is some form of digits recorded on a piece of hardware.

Now, with that said. There is a range of components that construct a cloud infrastructure. And you have solutions that are on the cloud without being truly cloud-native solutions. So that is the first thing to clarify.

Charles
I want to repeat that so everyone understands. The cloud just means you are basically renting out server space in a server farm somewhere else. Right? In other words, the application, the WMS, is still sitting physically somewhere and it is likely in a server farm somewhere in an inexpensive power and utility jurisdiction. All I’ve done, if I take the floppy disk analogy of the old days, is taken the software on that disk and instead of putting it into my computer, I’ve just gone to a server farm and put it on there. There is nothing different about the application just because it’s on the cloud, because it’s not built for the cloud.

Jean-Martin
Exactly. From their, the distinctions are exactly what you’re talking about. What you’ll find is that the majority of warehouse technology platforms now that claim to be on the cloud but all they are really doing is providing you with a website that is on a single server instance somewhere. And the distinction being between cloud native is having the software’s infrastructure, meaning the different layers like the logic tier where all the data is crunched, the database, and then a bunch of other components, but ultimately being cloud native is having these components being able to leverage that physical server decentralization to have the ability to distribute a bunch of things on different machines.

Charles
Terrific, don’t let me forget that second point because we will get there. But first, the very basic thing that people need to understand because it is very intimidating for people. There are these tiers. A WMS has this logic tier, and then a database tier.

Jean-Martin
Yes that’s a great way to simplify it.

Charles
Yeah let’s simplify it then we can complicate it. It’s like walking in the shallow end of the pool.

Jean-Martin
Well yeah, so that is true of most software platforms. You’re gonna start with where the business happens and where the data resides. Like we start with the basic concepts. These are two things that you’re usually going to find in a on-premise infrastructure where there is a server then a database, then a server for the software you are running. And that’s where these components…

Charles
But wait, why are they on separate servers? I’m gonna guess you can tell me if I’m right. I guess, it’s because I just can’t fit the storage or processing power on one single server?

Jean-Martin
So, the problem you are trying to solve when thinking about hosting a software is one that you’re trying to solve for performance. So how quickly does the application respond? You’re trying to solve for availability. So how often do I have access to it. Or the opposite, how often does it go down and you’re trying to make sure it doesn’t go down at all. And then the next thing you’re trying to solve for is backing up, or the concept of disaster recovery. Right? So if a server room catches on fire, where are the things backed up and how quickly can I return to operations. So why I say that, is these are the variables that drive the decision of how you are going to host things and how you are going to establish your distribution across these different tiers.

Charles
Funny story. I remember when I was just starting out in this world, we had a network administrator. Lovely guy. When he went on vacation, I remember it was like donut duty. One of the junior people at the company had to bring the archived tape home so that in a disaster recovery scenario we at least had yesterday’s backup we could bring so we’d only lose a day. So you have to worry about performance, availability, and disaster recovery. So then you split the logic and database tiers into two servers, which creates I’d guess a performance issue more than anything?

Jean-Martin
It’s a performance issue but also an availability issue. So it’s less stress you put on a single machine, and then on traditional on-premise components the database engine will usually share databases. So you’re going to have a server you pay a lot of money for and the licenses that run your database engine are going to have, you know, not just the WMS…

Charles
Not just WMS but also your TMS and a bunch of other databases.

Jean-Martin
Well I forgot about cost, but cost is something you’re trying to optimize through.

Charles
Yeah. But you know what, I really think that, again, I have in the mind the kind of people that will want to learn about this and just going through that it is a very important concept because a lot of people, let’s say you get this WMS proposal from a vendor and then the app, what is the system architecture? And for most of us on the operations side, finance side, executive side say « ugh, that’s the side I don’t care about you read this and tell me if it makes sense ». So let’s bring this back to the second thing you were saying about distribution. Now, once it’s on the cloud and having to distribute the tiers across many servers.

Jean-Martin
Yes, that is really where we start drawing the line between a application in the cloud, and a more traditional platform.

Charles
Yes, traditional being that you take your software on a disk and putting it on some server and calling it the cloud. But really that’s the National Rent-a-Car version of the cloud. But now you are going to talk about stage one of something that is truly built for the cloud.

Jean-Martin
The way I like to tell that story is to take you on a journey of a transaction as it occurs. We can start by taking a picking task. That’s the most common WMS scenario I can think of. So the first thing that needs to happen for a picking task to be executed is for an instruction to get to the warehouse operator. All the allocation has happened, now we’re at the point where we want to get that.

So in a cloud native environment we will have a piece of equipment on the shop floor that will need some form of internet connection. That will likely be pulling or be pushed a task to be executed. So that is, you can imagine, the server or servers pushing the information to the users. Let’s think of a push scenario.

So I log in, identify I am JM, by the way I am in the case picking zone. Oh! You have identified a task or being pushed a task. So you are on a device or accessing a browser where you are in the app. So when the task is being pushed to you, the most cloud native solutions are going push to the device a series of information that enables it to perform its activities while having some level of cached information to limit the back and forth that needs to hit the server. For instance, if I’m being pushed a task, I will be told « that’s the location, here is the item’s image » and all sorts of relevant information that the device itself can keep inside it’s memory.

Charles
So now, just again for the ignoramus. You used the word « cached ». We all know it as « do you want to clear your history or the cache in your browser ». So we know that concept, but just to give it to the human day-to-day thing, you know when you type in your favorite website it downloads super fast. That is because it is already there locally. I’m not going to the internet every time for The Bay, or whoever your favorite retailers are. A lot of that information is already sitting on your computer. And that is a performance benefit to you. I am going to borrow a little bit of the memory real estate you have on your device whether that is a computer or in our case a scan gun, and I am going to borrow some of that memory to make the interaction faster.

Jean-Martin
Correct. And the additional component to that is that it is temporary. Meaning it can be erased with little consequence. It is not something you will have to report back on to evaluate someone’s performance for example.

So moving on. Now I’m executing my pick and I am trying to limit the interaction back to the server. So the picking is executed and I have reported the short pick in my device and now I need to tell the WMS, « hey, here is short pick there is something you need to do about it ». And this is where the key distinction between traditional and cloud native solutions appears. The first thing that needs to happen is that the cloud native solution, when it is reporting back the pick, will have the ability to distribute this pick on a multiple of available clusters or server resources. So the first component you are usually going to find is the load balancer. This component is going to ask itself « oh, which server or which cluster or which pieces of the software has available computing power to decide what to do with that pick.

Charles
Ok, I get it. I just want to help people because I have seen the visual image. And it is helpful when you see it. When you talk about these clusters, I don’t know why anyone who has got anything to do with Generix loves the world cluster.

Jean-Martin
Well you know that is a French Canadian thing…

Charles
So basically, let’s go back to the beginner baby-lala way of describing this. I have a logic layer. That logic layer is actually mirrored in a bunch of available resources, in a bunch of clusters.

Jean-Martin
Well, yes and no but I suppose mirrored is a good place to start.

Charles
In other words, this logic layer, I understand what you mean by mirrored, it’s not mirrored necessarily. It’s all one entity but…

Jean-Martin
Right, but there are different strategies. We could have three that do picking, four that do allocation, there are a bunch of architecture decisions that need making.

Charles
So if I go « ok, I have this load balancer that is receiving not just from the picker but in theory it is receiving hundreds of transactions, which for it is all these bits of information that need to be processed in the logic layer, and therefore changing the database. So everyone, I just did my pick, I send it in, the first thing that happens is there is a traffic cop, and this traffic cop is called a load balance, and the load balancer is just trying to decide where is the best place to throw this bit of information into so that everything is being processed at the optimal speed to minimize performance.

Jean-Martin
Optimize performance.

Charles
Right. I mean to minimize downtime. And so that, you’re calling it the load balancer. What is it? Is it a server?

Jean-Martin
So it’s not a server. It’s a piece of logic that understands the volume of transactions coming and understands the status of the broken down or mirrored logic tiers.

Charles
But this load balancer has nothing to do with a WMS per-se. It has to do with how to manage resources on a server?

Jean-Martin
Right. It is specific to the application that it is running on.

Charles
So every cloud data application will have it’s own load balancer logic?

Jean-Martin
Yes. There are products you can use and configure, you can incorporate them…

Charles
And I’m sure there are some shared common strategies on how to do that?

So like we said, we have these clusters of resource availability and the logic layer can be sitting on 17 different servers in three different countries?

Jean-Martin
It could. There are strategic components to consider, like not throwing in a whole bunch of countries…

Charles
Right. Well that would be a business decision too. Consideration of data control policies, security, things that have nothing to do with what’s digitally or technologically feasible but have to do with controls on your data.

Jean-Martin
And to the metrics that we described. There are a bunch of reasons you don’t want that.

Charles
Makes sense, you don’t want a bunch of servers on different sides of the planet.

So now, what should we know about now that I have gotten passed the load balancer and the logic layer has put it into a cluster, then it goes into a database?

Jean-Martin
It then goes into the logic piece of your software. It is then executed by the load balancer, basically wherever the traffic cop has said it is going to get processed. So the traffic cop understands there are 17 DMV offices where you will process your fine, and tells you this is the place you will process your fine. So once the DMV office has decided what to do with your infraction then once you have paid it is going to go back to the system of record, the centralized database itself.

Charles
So, JM you have picked the order from your local device. The signal gets sent, it hits the load balancer, the load balancer then decides where to put it in the logic layer. It gets into that area of the logic layer, it gets processed, then in turn updates the database. Is the database now still sitting on one server or is that also distributed?

Jean-Martin
Either or.

Charles
Why would it be distributed across servers?

Jean-Martin
For the reasons we were describing. It always boils down to performance availability and backing up / disaster recovery.

Charles

So I’m looking at the time and we are already going further than we normally should and there is one other thing we want to cover. We will do a part 2, and if anyone has questions we will do a follow-up Q&A. I think a lot of the general audience among our clients and stakeholders and partners will love to see this, but internally people will really benefit from it. So please send in your questions so we can do a Q&A after, but I want to make sure there is one extra level to being a digitally native app in the cloud. And that all has to do with microservices.

Jean-Martin

Yeah, so the concept of microservices is the idea of clustering the logic tier. And this is where the microservices vs the distribution is very similar. The reason is, you can decide to have your application broken down into different modules or different components rather than being deployed in this one big logic tier. So the concept of microservices in the world of WMS is for you to have a microservice for picking, and then another microservice for order inventory allocation, and then a microservice for the user interface, because that’s another piece of the software. And these are all microservices that can exchange information amongst themselves to generate what the user is either seeing or how the information travels across the software. So really this is the concept of breaking down the software into different packages.

Charles

Ok, hold on hold on. We will answer this, then maybe leave it on a cliff hanger. One of the things, again, dangerous when I read an article or because you know I’m usually just reading the headline, I though there was something to do with a traditional data structure in the database for example what we have is the item master which has a bunch of SKU numbers and eighty different variables and meanings depending on the function. I thought a microservice meant that I’m going to break that item master into seventy different databases or data tables I should say so that if I am doing a receiving and doing a QA checklist on that item or doing picking and I have to pick the item, that I am accessing two different databases so it is not weighing down the processes.

Jean-Martin
So, accessing a database is what the logic tier does. So you could say that the logic tier that does the picking only needs a section of the data. But the concept itself of microservices starts by segregating the logic pieces in individual portions that you can then decide to expose different pieces of information because your core software that used to have eighty attributes are not relevant to that little piece of logic.

Charles
I don’t even remember, we got Apple 1,2,3 from high school. That was the last time I looked at databases. I didn’t really play with access. So let’s go back to this, the item master then in the micro service world is in theory one big massive table.

Jean-Martin
It is still a huge object, and the concept of this object is how they didn’t get defined into a logic and a database tier, but it is still an item that is handling units, and then the handling units have volumetric information. The concept of the item is in tact. That doesn’t go away. Now, how it gets stored and used is different, but the concept of an item is not all broken down.

Charles
Ok, ok. I thought this was a great conversation but it has gone a little long.

Jean-Martin
Yeah it was great. This is a huge topic and I want to dig into it.

Charles
I think for most of us this is beyond the service we want to get. But I do think that people should ask questions and we will follow up.

Jean-Martin
I think if I can suggest something, you will hear about different cloud environments like Amazon, or Google, or Azure and there are a lot of things to demystify about these. And it’s a topic to talk about.

Charles
That can be a part two. It’s the end of the week, it’s time to go. Thank you very much JM.

Jean-Martin
Thank you Charles, thank you guys for listening. 

Construisons ensemble une infrastructure de classe mondiale.

Réserver une consultation