Tech folks in your organization may be overcomplicating and/or underestimating some of the aspects of "the Cloud". This enabling technology has some fairly important new features and capabilities that you need to understand more fully.
Predictably, folks want to talk about the techie fun stuff when the Internet of Things comes up; there is palpable excitement around the possibility of really getting to use that Cloud thing that everyone is talking about. However, people who have a passing familiarity with any form of system implementation, software development or database design will come to the conversation with preconceived notions on “the Cloud”, and what it actually means to the overall product and development life cycle. We have seen product teams fall into these groups:
- Oversimplifiers: Some see “the cloud” as a glorified web- and database-hosting environment; the “apps” are going to be as easy as basic web pages with a little jQuery, while data aggregation and reporting can be delivered using familiar concepts from Access and SQL Server. They are thinking Infrastructure-as-a-Service – but they may be oversimplifying the subtle differences when you can’t reach under the desk and poke the reset button.
- Underestimators: Most don’t appreciate the potential requirements for scale – a balance between Things that will generate a ton of data vs. a reasonably small set of Users. Remember, we are mostly niche industrial manufacturers. “Platform-as-a-Service” requires a few different thought processes, primarily around DevOps and provisioning – some things are simplified, but other things are a bit different.
- Device Focused: Some teams will blur the distinction between mobile development and cloud architecture. There are important considerations when thinking through mobile client development, but it’s a lot more complicated than simply Android v. IOS.
The biggest challenge, however, is the rapid switching between architectural “layers” – primarily the tendency to talk about technical specifics before important business process decisions have been worked out. It is true that technology capabilities and limitations can enable and put limits on business process – but it takes a reasonably glib understanding of the technical and process components to easily switch. Since our company is a diversified group of manufacturers, I am working on an Architecture presentation that helps illustrate the differences (something for a future blog post).
I freely admit, by the way, that I come to all of these conversations with a non-trivial amount of technical hubris and new-world naiveté of my own. Over the last few years, I do think that techs are overcomplicating and/or underestimating some of the basics (ref: my newest blogroll addition) – however I do understand that the enabling tech of the Cloud has some fairly important new features and capabilities that I need to understand. To that end, I am getting some education – diving into the technology and architecture of Azure, Amazon, and other contenders.
No, I won’t get too involved with the hands-on; it’s a pity, but I know I will just slow things down. But we have to balance speed and fast failures with some sense of building for the future.
16 December, 2014