|By Tim Park||
|March 27, 2014 02:03 PM EDT||
End-user computing devices have followed a trajectory of faster, smaller, and cheaper for several decades: adding better connectivity, more natural interfaces, but largely remaining a device with a screen and human input device. This model is breaking down as computation and connectivity collide with ordinary real-world things. These things often have existing physical methods of interacting with them that we culturally don't want to change or no interface at all.
I've been involved with devices for much of my professional career, starting with television set top boxes at Microsoft for the better part of a decade, then working in mobile as part of the Android team at Google, and most recently in the Internet of Things at Nest Labs before rejoining Microsoft as part of our platform strategy team. In my current role, one of my focus areas has been to think about so called Internet of Things and what that means for the industry, for Microsoft, and for enterprises and consumers.
It's clear to me that the future of computing lies in these things. The screens in our lives will slowly start to take a back seat to a model of computing that operates off of the context that we generate. In this sense, computing will take a much more active role in our lives but at the same time much more invisible. That said there are substantial challenges in getting from where we are today to this future, and I thought I'd survey those problems and potential solutions.
In the broader Internet, we've started to think about connectivity as a given. The pervasiveness of networks and the consolidation of the industry around cellular standards like LTE and wireless standards like 802.11 mean that, for our computing devices, we are almost always connected and the design of applications has shifted from primarily offline to primarily online to match this.
One of the key challenges in the Internet of Things is that it doesn't fit cleanly into this. The existing set of wireless and cellular standards are wholly unsuited for long longevity battery use - they are designed for devices, like our computer or phone, that are always or frequently connected to a power plug.
A door lock is a good example of a real-world device. It isn't connected to a power plug. While one solution could be to change or charge the batteries in your door lock once a month so that it can use Wi-Fi, when you step back and realize that there are hundreds of these devices in the home, it's clear that this would quickly limit our desire to manage more than a handful of these in our houses.
Rethinking then how we connect these devices is one of the key challenges facing the industry. There are a number of efforts to solve this, including new protocols like Zigbee, but the most promising of these are the efforts to create highly efficient variants of existing protocols like 802.11 with 802.11ah or Bluetooth with Bluetooth Low Energy (now branded Bluetooth Smart). These technologies hold the promise to overcome rapid power consumption in these devices.
In many ways, Bluetooth Smart is already here. As part of the Bluetooth 4.0 spec, it has piggybacked its way into many of the latest Bluetooth chipsets and from a software platform perspective (Windows 8, iOS, and Android platforms all include support for it). Given this, it is starting to become prevalent with the latest wave of devices. It also promises multi-year battery life levels of efficiency and provides an abstraction mechanism for exposing data and control through its characteristics and services. I wouldn't be surprised to see Bluetooth Smart move front and center in 2014 as it gains critical mass as a key way of bridging to these real-world things.
The simplicity of these devices implies that what it means to be an application will also change. In this world, applications shift from being something with a user interface that runs on our devices and backed by the cloud to a model where an application analyzes the context provided by potentially a large number of these devices. The application will begin to present itself less on a screen and more in the state changes in the real world. These applications will not run on any one of these devices but between them.
One potential model for this that we are experimenting with at Microsoft is a messaging-based approach. You can conceptually think about this as "Twitter for devices" where devices and applications communicate using messages through a message broker. The schema for these messages is well known among the principals in the system, enabling applications and devices to communicate that otherwise have no knowledge of each other.
This is a key advantage because devices in this new world are shifting from being consumption and creation devices to devices that provide context and control. A messaging-based approach allows you to leverage the message stream from one of these devices for multiple applications without correspondingly taxing this device with multiple requests for state. For example, a proximity sensor in your office hallway provides very interesting context for a security application for the building but is equally interesting to an application that uses them to make dynamic climate control decisions. A messaging model enables this with one set of state. It also provides a clean archiving and auditing model, enabling you to look back over this data two years later, for instance, when you want to build an occupancy model for your building across all of its proximity sensors.
The quantity and sensitivity of these devices will also mean that we need to rethink how we manage them and their data streams.
We currently manage an increasingly large number of computing devices in our lives, and while application stores have made it easier for us to install and upgrade applications and operating systems, we still spend a significant amount of time managing our devices.
As we increase the number of devices by an order of magnitude, we won't be able to provide this same level of love and care for every device in our lives. These devices are going to need to be largely autonomous. One of the core challenges of Internet of Things will be building the infrastructure to enable this level of autonomy.
Our current conception of devices working with services is largely a two-tier model. For many applications that require precise control, the 200ms latency involved in doing a round-trip from a home in Oklahoma to a data center in Virginia where multiple devices' message streams are combined may be too much. This means that applications that require this level of low latency will need to execute much closer to the edge. That said, there are many applications that will require the computational capacity and flexibility that only a larger public or private cloud data center can provide. One of the key challenges we face is providing a single abstraction for developers such that both these classes of application use the same interfaces and the infrastructure is smart enough to satisfy them transparently.
The data streams involved in the Internet of Things are also typically highly sensitive, either in the context that they provide on us or the sensitivity of the equipment that they control. One of the things we must demand as individuals and enterprises is control on what set of data we send to a centralized public cloud versus retain within systems under our control.
I believe these factors will drive a distributed approach to the Internet of Things, where applications move to the data instead the current direction of all of our data moving to the applications in the public cloud. At Microsoft we are currently experimenting with this hybrid approach, where there are several hierarchical tiers of increasing computation and storage as you go toward the cloud. Applications and data in this model flow between these tiers to the appropriate level that balances computational, latency, and privacy concerns. This distributed approach is also another key reason that an immutable messaging-based approach makes sense - it enables you to replicate these message streams between these tiers in the system while applying permission-based controls to filter them down to the messages you are comfortable sharing with another application or computational tier.
One thing that is clear is that the volume of data that is generated from these much more numerous devices will be staggering. For example, capturing all of the data from a single car's lifetime in an enterprise fleet requires upwards of 100GB on a relatively spacious once-a-second resolution. For an enterprise like Avis, which has on the order of 150,000 cars, this means managing nearly 15PB of information over the lifetime of one generation of cars.
As an industry we have established batch algorithms and platforms like map/reduce and Hadoop and newer near real-time platforms like Storm to process these large streams of information - but these still require substantial data science and DevOps investments to operate, which put them out of the reach of smaller organizations. A key challenge is making it easier to run data pipelines that operate on the context these devices generate and building abstractions that make them easier to develop for and to use with existing information worker tools.
We are at the very beginning of this transformation and are all still trying to get our heads around the right model that solves the problems in this space. Although I've posed a number of potential solutions in this post, you should take these more as strawmen to start a discussion than any concrete recommendation. I'd love to talk with you if working on any problems in this space - feel free to reach out to me at [email protected] or @timpark on Twitter.
Overgrown applications have given way to modular applications, driven by the need to break larger problems into smaller problems. Similarly large monolithic development processes have been forced to be broken into smaller agile development cycles. Looking at trends in software development, microservices architectures meet the same demands. Additional benefits of microservices architectures are compartmentalization and a limited impact of service failure versus a complete software malfunction. The problem is there are a lot of moving parts in these designs; this makes assuring performance co...
Oct. 13, 2015 02:15 PM EDT Reads: 354
The last decade was about virtual machines, but the next one is about containers. Containers enable a service to run on any host at any time. Traditional tools are starting to show cracks because they were not designed for this level of application portability. Now is the time to look at new ways to deploy and manage applications at scale. In his session at @DevOpsSummit, Brian “Redbeard” Harrington, a principal architect at CoreOS, will examine how CoreOS helps teams run in production. Attendees will understand how different components work together to solve the problems to manage applicatio...
Oct. 13, 2015 02:00 PM EDT Reads: 1,338
DevOps and Continuous Delivery software provider XebiaLabs has announced it has been selected to join the Amazon Web Services (AWS) DevOps Competency partner program. The program is designed to highlight software vendors like XebiaLabs who have demonstrated technical expertise and proven customer success in DevOps and specialized solution areas like Continuous Delivery. DevOps Competency Partners provide solutions to, or have deep experience working with AWS users and other businesses to help them implement continuous integration and delivery development patterns or to help them automate infr...
Oct. 13, 2015 02:00 PM EDT Reads: 295
SYS-CON Events announced today the Containers & Microservices Bootcamp, being held November 3-4, 2015, in conjunction with 17th Cloud Expo, @ThingsExpo, and @DevOpsSummit at the Santa Clara Convention Center in Santa Clara, CA. This is your chance to get started with the latest technology in the industry. Combined with real-world scenarios and use cases, the Containers and Microservices Bootcamp, led by Janakiram MSV, a Microsoft Regional Director, will include presentations as well as hands-on demos and comprehensive walkthroughs.
Oct. 13, 2015 02:00 PM EDT Reads: 193
As operational failure becomes more acceptable to discuss within the software industry, the necessity for holding constructive, actionable postmortems increases. But most of what we know about postmortems from "pop culture" isn't actually relevant for the software systems we work on and within. In his session at DevOps Summit, J. Paul Reed will look at postmortem pitfalls, techniques, and tools you'll be able to take back to your own environment so they will be able to lay the foundations for healthy, productive postmortems that produce actionable outcomes and help the company to move toward ...
Oct. 13, 2015 01:45 PM EDT Reads: 218
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in high-performance, high-efficiency server, storage technology and green computing, will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/Big Data, HPC and Embedded Systems worldwide. Supermi...
Oct. 13, 2015 01:45 PM EDT Reads: 220
DevOps has often been described in terms of CAMS: Culture, Automation, Measuring, Sharing. While we’ve seen a lot of focus on the “A” and even on the “M”, there are very few examples of why the “C" is equally important in the DevOps equation. In her session at @DevOps Summit, Lori MacVittie, of F5 Networks, will explore HTTP/1 and HTTP/2 along with Microservices to illustrate why a collaborative culture between Dev, Ops, and the Network is critical to ensuring success.
Oct. 13, 2015 01:00 PM EDT Reads: 258
Containers are all the rage among developers and web companies, but they also represent two very substantial benefits to larger organizations. First, they have the potential to dramatically accelerate the application lifecycle from software builds and testing to deployment and upgrades. Second they represent the first truly hybrid-approach to consuming infrastructure, allowing organizations to run the same workloads on any cloud, virtual machine or physical server. Together, they represent a very real opportunity for DevOps teams to drive faster development and cheaper operations, without many...
Oct. 13, 2015 12:45 PM EDT Reads: 239
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively.
Oct. 13, 2015 12:00 PM EDT Reads: 296
As a company adopts a DevOps approach to software development, what are key things that both the Dev and Ops side of the business must keep in mind to ensure effective continuous delivery? In his session at DevOps Summit, Mark Hydar, Head of DevOps, Ericsson TV Platforms, will share best practices and provide helpful tips for Ops teams to adopt an open line of communication with the development side of the house to ensure success between the two sides.
Oct. 13, 2015 12:00 PM EDT Reads: 693
Chris Van Tuin, Chief Technologist for the Western US at Red Hat, has over 20 years of experience in IT and Software. Since joining Red Hat in 2005, he has been architecting solutions for strategic customers and partners with a focus on emerging technologies including IaaS, PaaS, and DevOps. He started his career at Intel in IT and Managed Hosting followed by leadership roles in services and sales engineering at Loudcloud and Linux startups.
Oct. 13, 2015 12:00 PM EDT Reads: 304
Docker is hot. However, as Docker container use spreads into more mature production pipelines, there can be issues about control of Docker images to ensure they are production-ready. Is a promotion-based model appropriate to control and track the flow of Docker images from development to production? In his session at DevOps Summit, Fred Simon, Co-founder and Chief Architect of JFrog, will demonstrate how to implement a promotion model for Docker images using a binary repository, and then show how to distribute them to any kind of consumer, being it a customer or a data center.
Oct. 13, 2015 11:00 AM EDT Reads: 326
DevOps is here to stay because it works. Most businesses using this methodology are already realizing a wide range of real, measurable benefits as a result of implementing DevOps, including the breakdown of inter-departmental silos, faster delivery of new features and more stable operating environments. To take advantage of the cloud’s improved speed and flexibility, development and operations teams need to work together more closely and productively. In his session at DevOps Summit, Prashanth Chandrasekar, Founder & General Manager of Rackspace’s DevOps business segment and Co-Founder & Hea...
Oct. 13, 2015 10:00 AM EDT Reads: 272
Any Ops team trying to support a company in today’s cloud-connected world knows that a new way of thinking is required – one just as dramatic than the shift from Ops to DevOps. The diversity of modern operations requires teams to focus their impact on breadth vs. depth. In his session at DevOps Summit, Adam Serediuk, Director of Operations at xMatters, Inc., will discuss the strategic requirements of evolving from Ops to DevOps, and why modern Operations has begun leveraging the “NoOps” approach. NoOps enables developers to deploy, manage, and scale their own code, creating an infrastructure...
Oct. 13, 2015 10:00 AM EDT Reads: 227
As a CIO, are your direct reports IT managers or are they IT leaders? The hard truth is that many IT managers have risen through the ranks based on their technical skills, not their leadership ability. Many are unable to effectively engage and inspire, creating forward momentum in the direction of desired change. Renowned for its approach to leadership and emphasis on their people, organizations increasingly look to our military for insight into these challenges.
Oct. 13, 2015 09:00 AM EDT Reads: 287
The modern software development landscape consists of best practices and tools that allow teams to deliver software in a near-continuous manner. By adopting a culture of automation, measurement and sharing, the time to ship code has been greatly reduced, allowing for shorter release cycles and quicker feedback from customers and users. Still, with all of these tools and methods, how can teams stay on top of what is taking place across their infrastructure and codebase? Hopping between services and command line interfaces creates context-switching that slows productivity, efficiency, and may le...
Oct. 13, 2015 09:00 AM EDT Reads: 558
In today's digital world, change is the one constant. Disruptive innovations like cloud, mobility, social media, and the Internet of Things have reshaped the market and set new standards in customer expectations. To remain competitive, businesses must tap the potential of emerging technologies and markets through the rapid release of new products and services. However, the rigid and siloed structures of traditional IT platforms and processes are slowing them down – resulting in lengthy delivery cycles and a poor customer experience.
Oct. 13, 2015 05:00 AM EDT Reads: 1,095
Containers are changing the security landscape for software development and deployment. As with any security solutions, security approaches that work for developers, operations personnel and security professionals is a requirement. In his session at @DevOpsSummit, Kevin Gilpin, CTO and Co-Founder of Conjur, will discuss various security considerations for container-based infrastructure and related DevOps workflows.
Oct. 13, 2015 03:00 AM EDT Reads: 328
Achim Weiss is Chief Executive Officer and co-founder of ProfitBricks. In 1995, he broke off his studies to co-found the web hosting company "Schlund+Partner." The company "Schlund+Partner" later became the 1&1 web hosting product line. From 1995 to 2008, he was the technical director for several important projects: the largest web hosting platform in the world, the second largest DSL platform, a video on-demand delivery network, the largest eMail backend in Europe, and a universal billing system.
Oct. 13, 2015 02:00 AM EDT Reads: 358
Between the compelling mockups and specs produced by analysts, and resulting applications built by developers, there exists a gulf where projects fail, costs spiral, and applications disappoint. Methodologies like Agile attempt to address this with intensified communication, with partial success but many limitations. In his session at DevOps Summit, Charles Kendrick, CTO and Chief Architect at Isomorphic Software, will present a revolutionary model enabled by new technologies. Learn how business and development users can collaborate – each using tools appropriate to their expertise – to buil...
Oct. 13, 2015 02:00 AM EDT Reads: 399
IT data is typically silo'd by the various tools in place. Unifying all the log, metric and event data in one analytics platform stops finger pointing and provides the end-to-end correlation. Logs, metrics and custom event data can be joined to tell the holistic story of your software and operations. For example, users can correlate code deploys to system performance to application error codes.
Oct. 13, 2015 02:00 AM EDT Reads: 333
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and containers together help companies achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, will review the current landscape of DevOps with containers and the benefits. In addition, he will discuss known issues and solutions fo...
Oct. 13, 2015 12:15 AM EDT Reads: 251
For almost two decades, businesses have discovered great opportunities to engage with customers and even expand revenue through digital systems, including web and mobile applications. Yet, even now, the conversation between the business and the technologists that deliver these systems is strained, in large part due to misaligned objectives. In his session at DevOps Summit, James Urquhart, Senior Vice President of Performance Analytics at SOASTA, Inc., will discuss how measuring user outcomes – including how the performance, flow and content of your digital systems affects those outcomes – ca...
Oct. 12, 2015 04:00 PM EDT Reads: 549
Saviynt Inc. has announced the availability of the next release of Saviynt for AWS. The comprehensive security and compliance solution provides a Command-and-Control center to gain visibility into risks in AWS, enforce real-time protection of critical workloads as well as data and automate access life-cycle governance. The solution enables AWS customers to meet their compliance mandates such as ITAR, SOX, PCI, etc. by including an extensive risk and controls library to detect known threats and behavior and usage analytics to identify unknown risks.
Oct. 12, 2015 03:00 PM EDT Reads: 326
In his session at DevOps Summit, Bryan Cantrill, CTO at Joyent, will demonstrate a third path: containers on multi-tenant bare metal that maximizes performance, security, and networking connectivity.
Oct. 12, 2015 08:00 AM EDT Reads: 225