Kubernetes for Serverless Applications
eBook - ePub

Kubernetes for Serverless Applications

Russ McKendrick, Jeeva S. Chelladhurai, Paul Adamson

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

Kubernetes for Serverless Applications

Russ McKendrick, Jeeva S. Chelladhurai, Paul Adamson

Book details
Book preview
Table of contents
Citations

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.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
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 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
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 here.
Is Kubernetes for Serverless Applications an online PDF/ePUB?
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 Ciencia de la computación & Computación en la nube. We have over one million books available in our catalogue for you to explore.

Information

Year
2018
ISBN
9781788626125

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