It’s been nearly four years since Marc Andreessen wrote his famous column Why software is eating the world. It’s proven to be incredibly prescient. While software and the Internet has removed many market frictions from many businesses, software is now just starting to “eat” the physical world as adoption of the so-called Internet of Things accelerates.
Before his talk, IoT and the Modern Developer, at IBM InterConnect, we caught up with RedMonk senior analyst Donnie Berkholz to discuss how software is in fact now eating the physical world and how the Internet of Things is now more accessible than ever before, and like the description of Berkholz’s talk says, “We live in a world of glue code, where open building blocks are available to Developers to snap together the pieces of the next big thing.”
DevOps.com: Thanks for taking the time Donnie. Can you tell us a bit about your talk, IoT and the Modern Developer?
Berkholz: The idea is that IoT has been really hard to work with for a long time because a lot of it has required working with the Arduino tool set, for example, which is a lot of C++ and a lot of developers these days aren’t very interested in working in low level languages anymore. A lot of them want to work in Python or maybe Go or Node, or some form of JavaScript. The challenge for a lot of these embedded devices has been that they’re just really inaccessible to the way people want to write software these days both from a perspective of languages, but also toolsets. For instance, the library support just is not great.
It all kind of ties together into the same idea of IoT hadn’t taken off for a long time. Not from a developer perspective. Independent developers weren’t doing a lot of playing with, largely because it was a pain in the ass to work with. Whereas more recently we’ve seen stuff coming out like the Raspberry Pi, and the BeagleBone. The Espruino is a really good example and as is the Tessel of this new generation of IoT that is easy to work with and is super affordable, and you’re working with it, in most cases, in Node. Every one of those more current boards supports running Node on the embedded board itself which is a huge change.
The old point of view used to be having JavaScript on the server and there was a central server that was dealing with all this stuff. But the new perspective is that all these embedded boards are powerful enough that you can actually run JavaScript on every single one. There’s never a point at which you have to interface down to some low level language that you’re not interested in working on.
That’s basically the point of the talk and it obviously goes into a lot more detail with lots and lots of examples of what’s happening, how the trends have changed over time.
DevOps.com: That is very interesting, do you know of real-world examples?
Berkholz: One that I particularly enjoyed is the Internet of toilets. There’s a good company called Hagleitner. They are doing smart restrooms. Big data with washrooms is how they frame it. They’ve Raspberry Pis sitting in these washrooms running, it was at an F50 conference, they’re running SQL Anywhere and integrating with the HANA Cloud platform. And they’ve all the kinds of instrumented paper towel dispensers and that sort of thing so that they can get on-demand maintenance instead of just basically pulling-based maintenance. Obviously it’s the way we want to write software. It’s the same way. It would be great if we could do that in the real world.
DevOps.com: Where do you think IoT is heading in the next years ahead?
Berkholz: We’ve run a show called IoT at Scale. We ran one last fall. We’re going to run another one early summer in Europe. The last one was in Palo Alto and the basic premise is that the IoT that’s real today, the IoT that’s easily commercializable today is industrial IoT. With enterprises, all you have to do is show that there’s ROI there. You have to show that if they invest in this instrumentation, they’re going to save money. They’re going to lower risks.
Whereas with consumer IoT, it’s basically a guessing game. You’re gambling every time you do and sometimes you win, but a lot of times you lose. And so the talk runs through all kinds of examples of what’s going on with industrial IoT and in retail, in construction, in smart buildings, in connected cars, fleets of trucks, all sorts of different things like this. In every one of those cases, it’s a commercial business that’s making money right now and keeping companies alive.
DevOps.com: That is great to see. Going back 13 years or so at InformationWeek, we actually had a beat called Telematics and it was about covering all of that. It was mostly transportation, but it was so far ahead of the time that we couldn’t find real use cases so we shut it down.
Berkholz: Exactly. That’s the thing that we’ve been waiting for is all the vendors have been suggesting use cases for years and they think wouldn’t it be cool if somebody did this? That would be awesome, right? But they could never come up with any customers and I think that’s the big change is a lot of these examples are actually customers that have developed their own solutions using vendor products as part of them. GE is a reasonable example. They built their own software stack for IoT and they hit a billion dollars in revenue last year. If that’s not a proof point, I don’t know what is.
DevOps.com: That’s a great proof point. How do you see this affecting the work load of operations and developer teams? Are they going to have to manage an IT layer of physical devices?
Berkholz: Yes. It’s definitely going to require extending the DevOps ideas of collaboration to field teams as well, to utility workers and that sort of thing that are out there actually maintaining smart meters. The equivalent of your rackers and stackers in the data center are these field techs who may not be well educated in the technology at all, but still have to understand enough to maintain the hardware on premise and to manage to do software updates. I think that’s one of the critical aspects and certainly one that probably resonates with you from a security perspective is all these embedded devices get sold and then either they’re never updated even though they’re connected or they’re updatable.
DevOps.com: That’s exactly right. A lot of it feels like it’s 1999 and the Web all over again.
Berkholz: Yes, exactly. The Internet was not architected with the idea of hackers in mind. We should learn from that lesson as we’re building up the IoT and as we’re creating and experimenting with protocols so that we can make sure we architect in security from the ground up instead of doing the same thing all over again.
DevOps.com: What are the challenges in working with IoT management teams and building efficient Ops in this environment?
Berkholz: Yes, I think it’s going to be a very different model. We’re going to have to take a step back in a lot of these cases because on the tech side of things we’re moving forward into more and more technological methods of collaboration, using more and more virtual, using tools like Slack or HipChat or others and relying on that to work together whereas a lot of these people are not at all comfortable with that. In many cases, they may not even use email. I live in Minnesota which is not exactly a software hub, as you, and I’m sure you know many people who may not own computers.
I think a lot of it is going to have to rely on having field teams out there with much smarter devices themselves that are a step up from the deployed IoT stuff. Like the ruggedized laptops and PDAs that they’re carrying around. So there’s going to have to be a lot of intelligence on there that can cope with what’s happening out in the field and on the back end it’s obviously going to require very scalable and intelligent software to figure out what’s going on out there in the field.
Techs need to know if alerts require action be taken, or if everything is all good. Because if I can’t figure out if I have to take action until later, that’s going to cost the company money to send somebody back there in person.
DevOps.com: That brings up a great point. Mistakes here could be potentially expensive, potentially much more expensive than software mistakes because you’re talking about physical devices. Errors in planning or design can be monumental.
Berkholz: It absolutely increases the risk profile. It’s the same thing that software on things like space shuttles, satellites, airplanes have had to cope with for years and years and years. That’s why in a lot of cases they have to use specialized software development techniques and languages, like Ada is a particularly popular one, to basically prove that they’re going to be reliable, to prove that the architecture is solid, which interestingly is the same kind of approaches that Amazon is taking with building its cloud. I don’t know if you’ve looked into what they’re doing with TLA+?
They’re proving that their architecture works from a mathematical perspective. I think that’s the same approach that’s going to have to happen with IoT is we’re going to have to do a lot better job of building automated testing and of being able to rapidly roll back and roll forward and of using much more strongly protected languages and testing tools.
DevOps.com: What things should developers who are looking at IoT for the first time now, as a potential platform to develop upon, be looking at or self-teaching themselves?
Berkholz: I think for now, for the time being, the answer is the way we start a conversation which is picking up cheap embedded devices like BeagleBoards or Raspberry Pis and putting Node on them and playing with Node.
That seems, to me, to be the place to be with the Internet of Things right now. Come up with a project that sounds interesting and do it.