Dude, where’s my server?

By 2020 one million new devices are expected to come online every hour (Source: Gartner). What impact will this have for how data is generated, stored, and accessed? The answer, huge.

Jeff Wesler, Vice President and Lab Director – IBM Research, recently shared a few facts that can give insight into why our mobile habits are changing the IT landscape. According to Wesler and IBM, in just two days we now generate as much data as was generated in total through 2003. Let that sink in. Moreover, they state that this year that the computing and storage capacity of all smartphones in aggregate will surpass that of all the servers worldwide.

So what does all this mean? Among the emerging trends are the concepts of the Intelligent Edge and Serverless Computing. Let’s talk about both.

This week Microsoft’s CEO Satya Nadella gave a speech that highlighted his view on what the Intelligent Edge means to Microsoft and their customers (Source: Microsoft). Nadella discussed how in today’s world the digital experience is spread across multiple devices, no longer bound to a single device. The experience spans across devices, different screen sizes, and different types and locations of sensors. The individual digital experience is no longer shackled to a particular device, but it is now being centered around the individual.

At the same Microsoft’s President and Chief Legal Officer Brad Smith announced a strategy on how to close the broadband gap that exists for most of rural America. The plan is to utilize TV white-space technology, as well as, a mix of satellite, fixed wireless, and limited fiber as an economical alternative to bring broadband access to 23 million people in the US that live without fast internet access. Microsoft does not intend to profit directly from the projects related to the expansion of Broadband access, but they’re not completely altruistic either. Mr. Smith acknowledge that such access would create new customers, “It’s going to be good for everybody in technology, including Microsoft” (Source: WSJ).

The exponential rate at which devices will come online – caused in part by multi-device digital experiences and increased access to fast internet – will be correlated with another phenomena, Serverless Computing.

So what is Serverless Computing? To understand what it is, we need define what was before. Previously you had to develop your application around the constraints of what on-prem infrastructure – server, database, storage, etc –you had available or could procure. This design approach led to a few problems. For one, developers would procure hardware for future growth and have unused capacity. These low levels of utilization meant companies were paying today for what they hoped to get value from in the future. Secondly, the design approach of the application engineers was often bogged down with having to manage infrastructure when they need to be consumed with creating delightful experiences for their customers (Source: Forbes).

Serverless Computing is a model where a cloud service provider is responsible for managing the compute resources needed for applications through a dynamic execution model and bills the customer only for what they used. An example of this would be AWS Lambda, where an application is deployed with single-action triggers. When the pre-defined conditions are met, the trigger fires. Only paying for the compute utilized, priced in 100 millisecond increments of usage (Source: TechCrunch). Yes the servers are still there, but the cloud service provider is responsible for managing the infrastructure. The app developers only care about getting the service needed to make their app function. This layer of abstraction helps developers focus on what matters, the customer experience within their application.


2 comments on “Dude, where’s my server?”

  1. I’m very interested in this serverless architecture that you mention mainly because of the layer of abstraction that it provides. But I’m going to approach the abstraction from the lens of programming language design first. Historically, programming languages were written with the idea of being run on a single computer, and thus had restrictions around them so they “fit” better with hardware. This gave any single engineer a lot of control over their code, but also raised the entry point for learning to code. As programming languages have been abstracted away from the hardware in a computer, the entry point for coding has lowered, and productivity has increased. Because creating apps for serverless architecture already requires a high level of abstraction, then their programming languages could be heavily abstracted as well, maybe even to the point of drag and drop tools. Think wordpress for serverless apps.

    Similar to how cloud computing and serverless architecture allow the developer to not worry about hardware, abstracted app development tools could allow developers to worry less about their code. This could open up distributed app development to an even wider array of consumers, such as smaller companies or community organizations, as well as innovators who can’t take the time to learn an existing programming language until they know their concept will work. I think serverless architecture could be a good place for these kinds of tools to develop.

    I am in 238A.

  2. An informative blog on serverless computing, Will!
    Serverless Computing (also known as Back end as a Service) is such a great model especially in today’s markets where companies are always looking to improve efficiency and reduce downtime when migrating to a different technology such as cloud. I especially like how it allows developers to concentrate on customers and nurture their creativity while not spending much time on tasks related to setting up and configuring servers. However, there are some downsides with serverless computing which companies need to assess before implementing it in their organization. Some of them are vendor lock-in, multilatency problems, security, high dependence on vendors and complexity of functions when executing tasks This should not necessarily drive companies away from serverless computing as it has some significant advantages if implemented correctly.


Comments are closed.