Serverless computing refers to a model where the existence of servers is entirely abstracted away. Even though servers exist, developers are relieved from the need to care about their operation. They are relieved from the need to worry about low-level infrastructural and operational details such as scalability, high-availability, infrastructure-security, and other details. Serverless computing is essentially about reducing maintenance efforts to allow developers to quickly focus on developing code that adds value.
We will work through three labs in this session:
Lab1: Create, build, and run a cloud-native Java serverless app in less than 15 minutes
Lab2: Create, build, and run a cloud-native Java serverless application that uses the Visual Recognition service to determine image content
Lab3: Create, build, and run three serverless functions as a sequence
Lab4 (optional): Create, build and run a Java function that listens for changes in a database using actions, triggers and rules
We will use Apache OpenWhisk to run through the labs. Openwhisk is an open source, distributed Serverless platform that executes functions (fx) in response to events at any scale. OpenWhisk manages the infrastructure, servers and scaling using Docker containers so you can focus on building amazing and efficient applications.
Key concepts introduced will include triggers, rules, actions, composition and event driven architecture. Finally, serverless is relatively new and we will look at what the shortcomings are with the current technology and how to mitigate them.
* Remember to bring your laptop!