This Week in Programming: Whither Serverless?

Last year, serverless was all the rage. But what about now? Maybe so? Maybe not?
Either way, it seems that the topic is on people’s minds this week, as it has crossed my various feeds in myriad ways, first with an email from Doug Davis to the Cloud Native Computing Foundation (CNCF) technical oversight committee (TOC) listserv. In the email, Davis, a co-chair of the Serverless Working Group (WG) summarized a recent discussion around whether or not to include the AppDelivery special interest group (SIG) under their purview, eventually deciding that, while there was some overlap, a separate “AppPlatform” SIG might be more appropriate. It was the reasoning that struck me as interesting, on the topic of a blurring of lines.
“The creation of a Serverless SIG might be too limited in scope. One of the things that we’re noticing is that the lines between CaaS, PaaS, FaaS and Serverless are getting blurry,” wrote Davis. “Which means the distinction between the various platforms, or underlying technologies for each *aaS, is becoming less clear. Instead, the differences are becoming more akin to configuration settings rather than entirely distinct platform considerations.”
Meanwhile, an article over at ZDNet asks if the container hype has jumped the shark as it looks at some numbers from a recent report by Cloud Foundry that, in short, finds that developers like productivity and appreciate abstraction when available, but value stability most. Again, though, it was this idea of overlapping that struck a note here — while the growth of both containers and serverless has slowed, adoption is still on the rise, with users often opting for both, not either-or. In case you were confused by that melange of acronyms earlier in the email, the gist was that the lines between containers, platforms, functions — all “as a service” — and serverless were getting blurry.
Meanwhile, cloud and Kubernetes guru Kelsey Hightower took to Twitter this week to ask if any, very specific company out there in the real world had come to switch 100% over to serverless.
Are there any good success stories where a large organization, with real customers, and has been in business more than 10 years, that has been able to sunset their entire stack in favor of a 100 percent Serverless architecture?
— Kelsey Hightower (@kelseyhightower) October 23, 2019
While some offered that they had, indeed, met Hightower’s very specific conditions, the majority of respondents tended toward a response along the lines of “who does anything 100%?”
Or 100% on…anything. Nothing ever wins everything. (But Kelsey knows that already.)
— Matt Asay (@mjasay) October 23, 2019
Although we exists only 8 years and it is internal / external facing products we are 99% serverless. One products runs 8000 parallel functions to crunch terabytes of data few times a day. The funny story is this product was migrated from containers and monolith before :)
— Darek Dwornikowski ☁🇺🇦 (@7d1) October 23, 2019
I don’t think any have sunset their entire stack in favor of anything… legacy enterprise tech has the half life of uranium
— Matt McLarty (@MattMcLartyBC) October 23, 2019
So, on the question of where has serverless gone as of late, I’d venture nowhere in particular, but perhaps to the other side of that parabolic curve that is a hype cycle. Whereas its devotees may have professed serverless’ utility for all use cases, the more likely outcome is that it becomes part of the larger stack, alongside all those other as-a-service tools out there. At least, that’s what everything seemed to be pointing to this week.
This Week in Programming
- BioInformatics, Data Processing & Machine Learning with Go: While Go may not be the first language that comes to mind when these areas are first mentioned, GRAIL, the company that uses data to detect cancer early, says that it chooses the language for several reasons: “Go’s simplicity makes it easy for newcomers to learn; its transparent runtime semantics makes it easy to reason about performance, and its ability to control data layout and allocation makes it possible to write highly performant data processing code.” That aside, GRAIL says that the language was missing a tool for large-scale data processing, and so it has released Bigslice, a Go library for data processing that “provides a coherent set of operators that helps the user efficiently compute over large data sets using ordinary Go code.” Bigslice lets you write sequential code while parallelizing the execution, creating what it calls “a cluster computing system for Go.” The library is available as open source under the Apache 2.0 license.
Dress up as a TCP packet for Halloween…
Them: what are you dressed as?
You: are you ready for me to tell you?
Them: I am ready for you to tell me
You: ok I am going to tell you
Them: ok
You: I am a TCP packet
Them: …
You: I am a TCP packet
Them: ok
— Pranay Pathole (@PPathole) October 24, 2019
- Netflix Opens Up Its Polyglot Notebook: Netflix penned a blog post this week announcing it would open-source its IDE-inspired polyglot notebook that goes by the name of Polynote. The notebook is “a new, polyglot notebook with first-class Scala support, Apache Spark integration, multilanguage interoperability including Scala, Python, and SQL, as-you-type autocomplete, and more.” If your finding yourself asking “why Scala?” it’s because Netflix also has a JVM-based ML platform that happens to make “heavy use” of Scala , and this integrates closely with that. As for specific features, Netflix says that Polynote aims to provide reproducibility by design, IDE-like features like autocomplete and in-line error highlighting, visibility into kernel and task status, dependency and configuration management, data visualization, and, of course, the ability to be polyglottal, with each cell able to be written in a different language, though also able to share variables. Currently, Polynote supports Scala, Python and SQL.
Welcome to MCRaaS (@mattklein123 Code Review as a Service). Please elect to receive one or both of the following comments:
1) Please add documentation and release notes.
2) Can we make this simpler?Thank you and have a joyous day.
— Matt Klein (@mattklein123) October 21, 2019
- Google Ups Its Android Game: ProgrammableWeb brings us the story of several Google initiatives that work to modernize Android development in the form of “three core sets of tools: a developer preview of Jetpack Compose; expanded APIs for Android Jetpack; and Android Studio 4 in Canary,” which the company says were inspired by developer feedback. Jetpack Compose has launched as a developer preview with improved APIs to build native Android apps, while the canary release of Android Studio 4 includes Java “desugaring” and a motion editor. ProgrammableWeb also notes that Google has increased its commitment to Kotlin, Java and C++ with new investments, and now makes it easier to test apps with APK sharing. Read on for all the details. Oh, and while we’re talking about Kotlin for a moment, don’t forget that KotlinConf 2019 is coming up soon!
- Microsoft Adds Free Azure Cognitive Services: That’s right, Azure free account holders can now start building with Azure Cognitive Services for free, adding AI to their apps with an API call. What type of stuff can you do with Azure Cognitive Services? Examples include facial detection, text extraction and language detection, personalization, computer vision modeling, and the ability to automatically build “conversational experiences” AKA bots.
There are no actual full stack developers in 2019.
The stack has become too large for a single person
— Tomasz Łakomy 🌩 cloudash.dev 🇺🇦 (@tlakomy) October 20, 2019
- Amazon Gets Down With The JCP: Last week, we saw AWS backing Rust, this week its Amazon joining the Java Community Process (JCP). The company says that it “runs thousands of Java production services” and depends heavily on the Java Development Kit (JDK), including Amazon Corretto, its own OpenJDK binary distribution used to run AWS and other Amazon services, which it later open sourced. Amazon also says it contributes patches as well as helps maintain the OpenJDK 8 and 11 update projects. All that’s to say, the company wants you to know it’s down with Java, and now it has joined the Java Community Process, the Java platform standards organization.
- First Raku, Now JS? All eyes turned toward the suggestion, or question rather, on whether we should rebrand JavaScript last week – what with the continued confusion by the non-technical observer between Java and JavaScript and their complete non-relation. The most common, knee jerk reaction was a quick guffaw and an exclaimed “no!” while others offered that the simple contraction to JS would suffice, both in keeping file extensions as they were and noting that brevity often led to its use anyways. If Perl 6 can become Raku, I say why not to JavaScript becoming JS — how about you?
Pro tip: Look at the code before committing.
— 🧁 Mark Dalgleish (@markdalgleish) October 22, 2019
Cloud Foundry and CNCF are sponsors of The New Stack.
Feature image by 3D Animation Production Company from Pixabay.