Building and Deploying a Cloud Native Application

OverviewStepsAuthor
DifficultyIntermediate
Duration12h 40m
Students97

Description

Interested in building robust enterprise grade cloud native applications at scale?

This Learning Path will get you started with building and deploying cloud native applications. First we introduce you to the basics of building a cloud native application - where you get to see first hand the skills and technologies used to create a sample cloud native application. The technology stack we demonstrate includes React, Go, MongoDB, and Docker. We then show you how to deploy the sample cloud native application into a Kubernetes cluster, and in doing so you will gain valuable insights into commonly used resources.. The Learning Path will introduce you to various 3rd party build tools and related applications for building, deploying, and testing your cloud native applications, ensuring that they are battle hardened and production ready!

Learning Objectives

  • Learn the basic principles of building cloud native applications
  • Understand the benefits of using React for frontend web development
  • Understand the benefits of using Go for backend api development
  • Understand the benefits of using MongoDB as a database system
  • Learn how to package and run microservices as lightweight containers using Docker
  • Understand the basic principles of deploying cloud native applications into a Kubenetes cluster
  • Learn how to setup and configure a locally provisioned Kubernetes cluster using Minikube
  • Learn how to work with and configure many of the key Kubernetes cluster resources such as Pods, Deployments, Services etc.
  • Learn how to manage deployments and Kubernetes cluster resources through their full lifecycle.

Intended Audience

  • Anyone interested in learning how to architect cloud native applications
  • Anyone interested in using modern development tools such as React, Go, MongoDB and Docker
  • Anyone interested in containerisation
  • Anyone interested in learning Kubernetes
  • DevOps Practitioners

Prerequisites

  • A basic understanding of web based software development
  • Previous exposure to containers and containerisation - in particular Docker

Content Outline

The Learning Path provides over 11.5 hours of instructional content delivered in 2 high definition instructional video lectures, 6 hands-on lab exercises and a final preparation exam. The content we cover is as follows: 

Building a Cloud Native Application
Observe first hand the end-to-end process of building a sample cloud native application using React, Go, MongoDB, and Docker. By taking this course you'll not only get to see firsthand the skills required to create a robust enterprise grade cloud native application, but you'll also be able to apply them yourself as all code and deployment assets are available for you to perform your own deployment.

Creating a Voting Web App using React
This Lab is designed to show you how to install and setup a React based development environment, allowing you to compile and execute your own React based web applications. The Lab will then walk you through the process of creating a custom programming language voting web application that involves making AJAX requests to a sample backend API service (provided).

Create an API with Go and Gorilla Mux
This Lab is designed to show you how to install and setup a Go based development environment, allowing you to compile and execute your own Go based applications. The Lab will then walk you through the process of creating a basic API in which you are shown how to use Gorilla Mux for API request routing. 

Get started with Docker on Linux for AWS
In this Lab, you will get up and running with Docker on Linux using an AWS virtual machine. You will work with images from the public Docker registry, run a handful of containers, and create your own image from which to create containers. 

Deploying a Cloud Native Application into Kubernetes
Observe first hand the end-to-end process of deploying a sample cloud native application into a Kubernetes cluster. By taking this course you'll not only get to see firsthand the skills required to perform a robust enterprise grade deployment into Kubernetes, but you'll also be able to apply them yourself as all code and deployment assets are available for you to perform your own deployment:

Mastering Kubernetes Pod Configuration
Kubernetes provides a variety of features to get the most out of your containerized applications. This Lab will train you on several Pod configuration concepts and teach you how to take advantage of what Kubernetes gives you. Some examples of what you will learn include how to separate configuration from container images to improve reusability, maximize cluster efficiency and utilization by configuring resource requirements for Pods, and using configuring security features to harden your Kubernetes application deployments.

Create Kubernetes Nginx Ingress Controller for External API Traffic
Being able to consume Kubernetes hosted services externally is a common requirement. Kubernetes provides the Ingress resource type to fulfill this requirement. In this Lab you learn how to deploy an Nginx Ingress Controller and install and expose a sample API service using an Ingress resource.

Create Kubernetes Layer-7 Network Policies using Cilium CNI
This Lab is designed to show you how to install and setup Kubernetes layer-7 Network Policies using Cilium. You will be walked through the process of deploying a sample Star Wars themed API. You'll then learn how to secure inbound application traffic to the API by creating and deploying a layer-7 network policy.

Certificate

Your certificate for this learning path
lock

About the Author

Students12847
Labs28
Courses65
Learning paths15

Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.

Jeremy holds professional certifications for both the AWS and GCP cloud platforms.