1. Home
  2. Training Library
  3. DevOps
  4. Courses
  5. Building A Cloud Native Application

Introduction

The course is part of this learning path

Building and Deploying a Cloud Native Application
course-steps 4 certification 1 lab-steps 6

Contents

keyboard_tab
Introduction
1
Introduction
PREVIEW3m 32s
Quick Demonstration
Architecture Review
5
Go API
9m 54s
Test and Validation
Summary
12
Review
1m 15s
play-arrow
Introduction
Overview
Transcript
DifficultyIntermediate
Duration51m
Students4

Description

Introduction

This training course is designed to help you master the skills of designing and building cloud native applications.

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:

https://github.com/cloudacademy/voteapp-frontend-react
https://github.com/cloudacademy/voteapp-api-go
https://github.com/cloudacademy/language-vote-app

Learning Objectives

What you'll learn:

  • Understand 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
  • And finally, you’ll learn how to package and run microservices as lightweight containers using Docker

Demonstration

This training course provides you with several hands on demonstrations where you will observe first hand how to

  • Build a React based web frontend
  • Build a Go based API
  • Deploy and configure a MongoDB database
  • Deploy the full end-to-end application to Docker running locally

Prerequisites

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

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
  • DevOps Practitioners

About the Author

Students11075
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.
 

Covered Topics

- [Instructor] Hello and welcome to this Cloud Academy course on building a Cloud Native Application using React, Go, MongoDB and Docker. 

In this lecture well cover off the course agenda, intended audience, learning objectives and course prerequisites. I'm really excited to be taking you through this course. React, Go, MongoDB and Docker are best of breed tools for building cloud native applications as you'll see. 

Before we start I'll quickly introduce myself. My name is Jeremy Cook. I'm one of the trainers here at Cloud Academy, specializing in DevOps. Feel free to connect with either myself or the wider team here at Cloud Academy regarding anything about this course. You can email either myself and or the Cloud Academy team at support @cloudacademy.com. 

This training course takes you through the process of building a real world cloud native architected web application from initial concept and then all the way through to the end product, packaged into Docker containers. We'll finish the course by spinning up a locally hosted version of the application for testing and validation purposes. The follow up course, deploying a cloud native application into Kubernetes, will then take you through the process of deploying this same application into a Kubernetes cluster. In that course you'll get to see first hand the skills required and the techniques used to deploy a fully working solution within a Kubernetes cluster. 

So what exactly is cloud native? Cloud native is a design in which applications are architected as loosely coupled microservices, packaged into lightweight containers and are then more often than not deployed into and managed by a container orchestrator such as Kubernetes which is itself hosted on cloud infrastructure enabling you to exploit and benefit from the associated cloud computing model. 

This course is going to be centered around taking you through the process of designing a basic cloud native application and then packaging it into Docker containers. We'll create a sample web based application which provides a simple voting interface allowing an end used to vote for their favorite programming language. We'll demonstrate how to compile and package the application into Docker containers and then spin up the application locally. To help you follow along all of the coding assets as used and demonstrated within this course are hosted within the following three Cloud Academy github repositories. 

You are encouraged to clone these repositories and perform the same build and deployment on your own work station. So, in summary, during this course I'll show you how to build a basic cloud native application using the following technologies: React, used for fronting web development, Go, used for backend API development, MongoDB provides the backend database. And Docker, used for packaging and running lightweight containers. 

The intended audience for this course includes anyone interested in learning how to architect cloud native applications, anyone interested in using modern development tools, anyone interested in microservices and containerization and or anyone practicing DevOps. 

By completing this course you will learn and understand 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 and finally you'll learn how to package and run microservices as lightweight containers using Docker. 

The following prerequisites will be both useful and helpful for this course. A basic understanding of web based software development. A basic understanding of Linux administration. And or previous exposure to containers and containerization, in particular Docker. O

kay the course introduction has now been completed. Go ahead and close this lecture and we'll see you shortly in the next one.