Digital Transformation
cancel
Showing results for 
Search instead for 
Did you mean: 

Serverless and the rise of the non-developer developer

mikeshaw747

The rise of the "non-developer developer"

IT spend is moving away from central IT. IDC estimates that already more than 50% of IT is under the control of the business, and Gartner recently estimated that by 2022, the majority of CIOs would get less than 30% of all new IT spend.

New IT spend is moving to both business IT and CDO (chief digital officer) IT, with 73% of digital transformation projects and 76% of IoT projects being controlled by business IT or CDO IT.

While central IT's applications were created by developers for whom development was their career, this often not the case for business IT-based developers. Business IT developers can be paid-social executives, or pump engineers, or factory automation engineers for whom coding is a means to an end - if they could use Voodoo chants and strings of garlic to achieve the same ends, they would do so.

An interview with Ms New-to-Python..

Q : You have just started programming in Python. Why Python?

A: Because that’s what Google told me I need to use to get the level of analytics I need from our PPC (pay per click) data.

Q: What infrastructure does your analytics run on?

A: No idea. Don’t care. I just need to get the analytics so I can more quickly and accurately adjust my PPC campaigns.

Q: Do you like Python? A: It gets the job done.

You get the idea - business “developers” are often in fact, “non-developer developers”. Nowhere in their objectives does it say that they must develop code - it’s just something they have to do to increase sales, to use predictive maintenance to stop their sewage pumps from failing in the middle of winter, or to make their factories safer and more efficient.

serverless-pump.jpg


What are the requirements of "non-developer developers"?

The number one requirement for non-developer developers is the abstraction away from anything that detracts from them getting the job (pay-per-click analytics or pump predictive maintenance) done.

Non-developer developers are not interested in servers (their size, how many you need), storage, VMs, containers, parallelising and scaling.

They know that security, compliance and data sovereignty and data resilience requirements have to be met, but if this can be done without them having to do anything (or understand anything about the details of security, compliance and then like), then that would be great.

Non-developer developers will usually start their development of an application in "experimental" mode. They may later move to what Gartner terms "scale out mode", but to start with, and often for a good amount of time, they are in experimental mode. Experimental mode typically means that they don't have much money, or if they do have money, they don't want to throw it all at something that is experimental. Because of this, they need "pay as you go" - pay for the compute resource that you use.

"Pay as you go" includes the option to walk away leaving no financial liabilities. For example, I recently visited a water utility. The head of engineering (note - not central IT, but a part of the business) was looking at using analytics to predict when his sewage and water pumps were going to fail. He wasn't sure if this project would work. In other words, he wanted to experiment, paying only for the resource he used, and if necessary, walk away without being left with unused compute assets.

serverless-robots.jpg


Serverless

A technology called "serverless" promises to meet many of the requirements of the non-developer developer.

What is "serverless"? Well, the first thing to note is that serverless is not "without servers". It's more, "you don't need to worry about servers".

With serverless, you write functions and those functions are called, they do their thing, and then they die. They are what is known as "ephemeral - they are born, they do something, and then they die".

Imagine you have a web site to take orders. You might create a "take order" serverless function. This function would be called when someone wants to place an order. The function would come into existence when called. It would take the order. And then it would die.

The person writing the function would not need to worry about servers. They would not need to worry about VMs. They would not even need to worry about containers. All that is taken care of for them.

In fact, you don't even need to worry about scaling in a parallel fashion. If there were a hundred orders being taken at the same time, one hundred instances of your "take order" function would be created automatically. They would simply run in parallel.

Of course you need something to invoke your serverless functions. This could be a web UI (via HTTP), or an IoT system raising an event, or an event from Slack, or a mobile application.


The evolution from bare metal, thru VMs and containers, to serverless

Genesh Samarthyam in his SlideShare presentation on serverless architectures has a nice description of the evolution from bare metal servers , thru VMs, and containers, to serverless.

To build applications on bare-metal servers you have to know about :

  • the hardware
  • the operating system
  • the run-time environment
  • and the code

To build applications on VMs you have know about :

  • the operating system
  • the run-time environment
  • and the code

To build applications using containers you have know about :

  • the run-time environment (the containers)
  • and the code

To build serverless functions you have to know about :

  • the code and only the code

Where is serverless at

Serverless functions are available from the public cloud providers, AMS, Azure and Google Cloud. AMS has had a serverless service called Lambda for a number of years. Azure has serverless as a production service, and Google Cloud offers it as a beta (at the time of writing).

AWS, Azure and Google all charge for serverless functions on a per-invocation basis. Users of serverless like this because they believe it most accurately reflects the value derived from the service.

IBM and Adobe had a serverless framework called OpenWhisk. This has now been given to Apache. 

Also thru Apache, Platform9, experts in Kurbernetes, OpenStack and hybrid cloud, have a serverless framework called Fission which is currently in alpha. Platform9's serverless framework uses Kurbernetes to manage the serverless functions' birth, death and if required, parallel invocation. 


More information

The seminal work on serverless is considered to be a blog post by Mike Roberts entitled Serverless Architectures. I think it's a super piece, a/ because it's well written and useful and b/ because it puts to the sword the "well known fact" that blog posts can be no more than two pages otherwise the reader falls asleep or twitches to such an extent that they can't continue to read.



Mike Shaw
Director Strategic Marketing
Hewlett Packard Enterprise

twitter.gif @mike_j_shaw
linkedin.gif Mike Shaw

Mike Shaw
Director Strategic Marketing

twitter.gif@mike_j_shaw
linkedin.gifMike Shaw

  • Digital_Technlogy
0 Kudos
About the Author

mikeshaw747

Mike has been with HPE for 30 years. Half of that time was in research and development, mainly as an architect. The other 15 years has been spent in product management, product marketing, and now, strategic marketing. .

Labels
Events
28-30 November
Madrid, Spain
Discover 2017 Madrid
Join us for Hewlett Packard Enterprise Discover 2017 Madrid, taking place 28-30 November at the Feria de Madrid Convention Center
Read more
See posts for dates
Online
HPE Webinars - 2017
Find out about this year's live broadcasts and on-demand webinars.
Read more
View all