Shaun Smith leads product management of Serverless technologies at Oracle and is a member of the open source Fn Project functions platform team. He's an experienced technical product manager, enterprise framework architect, and software developer active in open source and cloud service development. Shaun is a past committer on a number of Eclipse Foundation projects and is an experienced speaker who has presented frequently at JavaOne, Devoxx, EclipseCon, JAX, and many other developer conferences and user groups around the world.
Developers just want to write and deploy their code. This sounds easy enough but typically before you can deploy you need to allocate the necessary infrastructure including provisioning machines, configuring storage, configuring networking, and so on—all just to run even one line of code! Fortunately, serverless function platforms that eliminate infrastructure concerns entirely are appearing, although the majority of those platforms are proprietary. To avoid this vendor lock-in the open source Fn Project (fnproject.io) was launched. With Fn you can run your own serverless infrastructure wherever you want—on your laptop or on the cloud with no lock-in. Built on Docker, Fn includes support for writing functions in popular programming languages, local development with testing, and Fn Flow for orchestrating functions. All you need is Docker and you're ready to go! In this session, we’ll introduce Fn and show how easy it is to install and deploy your first function in seconds. With Fn’s function==container approach we’ll show how easy it is to deploy pre-existing components as functions. And finally we’ll explore how to build applications by orchestrating functions using Fn Flow.
In this hands-on lab you’ll be introduced to the open source Fn functions platform and learn how easy it is to write and deploy serverless functions using Java and other popular programming languages. We’ll walk through installing Fn on your laptop and how to define, build, and deploy functions. Once we’re done with the basics we’ll dive into using the Java FDK (Function Developer Kit) to accelerate function development and testing. We’ll also see how Fn’s packaging of functions as Docker containers provides support for advanced use cases not commonly possible with function platforms. When we’re done you’ll be ready to start using Fn to build highly responsive and scalable applications and services. Familiarity with Java and/or Go is recommended but not absolutely necessary for this lab. Note: Docker is a prerequisite for Fn so please come with Docker 17.10 or above installed. We’ll also have VirtualBox images with Docker available.