Kubernetes for Serverless Applications
eBook - ePub

Kubernetes for Serverless Applications

  1. 318 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Kubernetes for Serverless Applications

About this book

Transform yourself into a Kubernetes specialist in serverless applications.

Key Features

  • Get hands-on experience in installing, configuring, and using services such as Kubeless, Funktion, OpenWhisk, and Fission
  • Learn how to launch Kubernetes both locally and in public clouds
  • Explore the differences between using services such as AWS Lambda and Azure Functions and running your own

Book Description

Kubernetes has established itself as the standard platform for container management, orchestration, and deployment. It has been adopted by companies such as Google, its original developers, and Microsoft as an integral part of their public cloud platforms, so that you can develop for Kubernetes and not worry about being locked into a single vendor.

This book will initially start by introducing serverless functions. Then you will configure tools such as Minikube to run Kubernetes. Once you are up-and-running, you will install and configure Kubeless, your first step towards running Function as a Service (FaaS) on Kubernetes. Then you will gradually move towards running Fission, a framework used for managing serverless functions on Kubernetes environments. Towards the end of the book, you will also work with Kubernetes functions on public and private clouds.

By the end of this book, we will have mastered using Function as a Service on Kubernetes environments.

What you will learn

  • Get a detailed analysis of serverless/Functions as a Service
  • Get hands-on with installing and running tasks in Kubernetes using Minikube
  • Install Kubeless locally and launch your first function
  • Launch Kubernetes in the cloud and move your applications between your local machine and your cloud cluster
  • Deploy applications on Kubernetes using Apache OpenWhisk
  • Explore topics such as Funktion and Fission installation on the cloud followed by launching applications
  • Monitor a serverless function and master security best practices and Kubernetes use cases

Who this book is for

If you are a DevOps engineer, cloud architect, or a stakeholder keen to learn about serverless functions in Kubernetes environments, then this book is for you.

Tools to learn more effectively

Saving Books

Saving Books

Keyword Search

Keyword Search

Annotating Text

Annotating Text

Listen to it instead

Listen to it instead

Information

Year
2018
Print ISBN
9781788620376
eBook ISBN
9781788626125
Edition
1

Launching Applications Using Fission

Next up we are going to look at Fission. Fission is a fast-growing, serverless framework for Kubernetes and, of the technologies that we have seen in previous chapters, is probably the most versatile. In this chapter we will cover:
  • Who built Fission?
  • Installing the prerequisites
  • Installing, configuring, and running Fission locally
  • Command overview
  • Installing, configuring, and running Fission in the cloud
  • Deploying a few example Fission applications
By the end of this chapter, we will have worked on installing Fission in two different target environments, and also worked through launching several applications.

Fission overview

Fission is an open source serverless application developed by Platform9. It was designed to run on top of Kubernetes as well as take advantage of some core Kubernetes functionality. Platform9 are a managed service provider whose core business is the deployment, management, and support of open source clouds specializing in OpenStack and Kubernetes.
OpenStack is a collection of open source components that make up a fully functional Infrastructure as a Service offering. It provides compute, networking, block storage, object storage, orchestration, and even container service, to name but a few.

The project's goal is to provide support for a number of different hardware vendors, from vanilla x86 hardware to specialized storage solutions, allowing end users to build out their own AWS and Microsoft Azure style offering.
With services such as AWS Lambda and Azure Functions maturing to the point where they are now commonplace in most enterprises, Platform9 saw an opportunity to provide their own Functions as a Service offering.
Being a company who specialize in complex open source solutions, it made sense for them to contribute their work back to the community, and so they released Fission under the Apache License.
The Apache 2.0 License by The Apache Software Foundation allows developers to release their software for free, giving the end user permission to use that software for any purpose, and modify/redistribute it without the end user having to worry about royalties. To ensure that the License is not breached, the end user must preserve the original copyright notice and disclaimer.
This may seem like a strange decision. However, like OpenWhisk, which we covered in the previous chapter, Platform9 have given their customers, and anyone else who wants to start deploying Function as a Service (FaaS), a solid foundation to build their applications on top of. Not only are they giving people the freedom to deploy their workloads wherever they want, they are also able to offer support services for installation and the Fission platform.

Installing the prerequisites

Before we install Fission either locally or in a public cloud we need a few supporting tools. The first tool we have already installed and that is the Kubernetes command-line interface, kubectl. The second tool needed to run Fission, we have not installed yet: Helm (http://helm.sh/).

Installing Helm

Helm is a package manager for Kubernetes and is part of the Cloud Native Computing Foundation, where Bitnami, Google, Microsoft, and the Helm community all contribute to its development.
To install Helm on macOS High Sierra we can use Homebrew; simply run:
$ brew install kubernetes-helm
If you are running Ubuntu Linux then you can download and install Helm using the installation script:
$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
Finally, Windows 10 Professional users can download an experimental build of Helm from the canary repository. The direct download link for this build is https://kubernetes-helm.storage.googleapis.com/helm-canary-windows-amd64.zip. As this is an experimental build, I recommend running it directly and not putting it in the system folder.
The next step in installing Helm requires you to have a running Kubernetes cluster, as that is where it is launched. I will include the instructions for installing Tiller, the server component of Helm, later in the chapter.

Installing the Fission CLI

The final command-line tool we need to install is the one for Fission itself. You can install this by running the following on macOS High Sierra:
$ curl -Lo fission https://github.com/fission/fission/releases/download/0.3.0/fission-cli-osx && chmod +x fission && sudo mv fission /usr/local/bin/
For Ubuntu 17.04 you can run:
$ curl -Lo fission https://github.com/fission/fission/releases/download/0.3.0/fission-cli-linux && chmod +x fission && sudo mv fission /usr/local/bin/
Finally, the Windows executable can be downloaded from https://github.com/fission/fission/releases/download/0.3.0/fission-cli-windows.exe. I would recommend using it alongside the executable for Helm rather than installing it in your System32 folder.
Running the following commands should show you the currently installed versions:
$ helm version
$ fissio...

Table of contents

  1. Title Page
  2. Copyright and Credits
  3. Packt Upsell
  4. Contributors
  5. Preface
  6. The Serverless Landscape
  7. An Introduction to Kubernetes
  8. Installing Kubernetes Locally
  9. Introducing Kubeless Functioning
  10. Using Funktion for Serverless Applications
  11. Installing Kubernetes in the Cloud
  12. Apache OpenWhisk and Kubernetes
  13. Launching Applications Using Fission
  14. Looking at OpenFaaS
  15. Serverless Considerations
  16. Running Serverless Workloads
  17. Other Books You May Enjoy

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Kubernetes for Serverless Applications by Russ McKendrick, Jeeva S. Chelladhurai, Paul Adamson in PDF and/or ePUB format, as well as other popular books in Informatik & Cloud Computing. We have over one million books available in our catalogue for you to explore.