Getting started with Cloud Native Go
3.2 (69 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
636 students enrolled

Getting started with Cloud Native Go

Deep dive into Implementation of Go microservices and learn how to containerize them through Docker and Kubernetes
3.2 (69 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
636 students enrolled
Created by Packt Publishing
Last updated 6/2017
English
English [Auto]
Current price: $86.99 Original price: $124.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Implement the REST API with Go’s standard library
  • Learn how to Containerize Go microservices using Docker and Kubernetes
  • Implement Deployment and Service descriptors
  • Run Docker images locally
  • Understand the basic Docker workflow and basic Docker commands
  • See a simple Go microservice implementation
  • Find out how to successfully implement Go microservice frameworks
Course content
Expand all 16 lectures 02:04:06
+ Introduction to Cloud Native Apps and Microservices
5 lectures 19:02

This video gives an overview of the entire course.

Preview 04:13
The aim of the video is to introduce the motivation and key concepts of cloud native applications.
Motivation for Cloud Native Apps
03:57
Cloud native applications have additional challenges compared to traditional monolithic applications. This video aims to discuss the design principles that should be taken into account when developing these kind of applications.
Challenges and Design Principles
02:32

This video introduces the new concept and anatomy of ops components and discusses the decomposition trade-offs associated with microservices.

Decomposition with Microservices
03:41

The development of cloud native applications brings along several challenges and complexities that need to be addressed. This videos introduces the Cloud native stack with its anatomy and key technologies to meet those challenges and presents the stack used throughout this course.

Introduction to the Cloud Native Stack
04:39
+ Simple Go Microservices
3 lectures 28:59

Every microservice needs an HTTP server to serve its API. The aim of this video is to show how this can be achieved with plain Go and standard packages only.

Preview 07:40

JSON is the de facto standard data transfer format for microservices and REST APIs. The aim of this video is to demonstrate how Go structs are marshalled and unmarshalled and how the JSON format can be customized using tags.

JSON Marshalling/Unmarshalling of Go Structs
09:26

The aim of this video is to show how to leverage HTTP verbs, status codes, and URIs to implement a REST API that offers basic CRUD functionality.

Simple REST API Implementation
11:53
+ Introduction to Docker and Go Microservice Containerization
4 lectures 33:20

Docker is a virtualization technology that operates at the OS level.Cloud native applications are packaged, distributed, and run as containers. The aim of this video is to teach the Docker basics required throughout this section.

Preview 09:21

Cloud native applications are packaged, distributed, and run in containers. Docker is a key container technology. This video shows how a Docker image for a Go microservice is built and distributed.

Build Naïve Docker Image for Go Microservice
07:22

Cloud native applications are packaged, distributed, and run in containers. Docker is a key container technology. This video shows how a Docker containers for a Go microservicecan be run locally. It also shows how ENV variables, port mappings, and resource constraints can be specified.

Running Containerized Go Microservice Locally
08:38

Cloud native applications are packaged, distributed, and run in containers. Docker is a key container technology. This video shows how an improved Docker image can be built and how Docker Compose can be used to build and run the image in combination with other services.

Improved Docker Image and Docker Compose
07:59
+ Introduction to Kubernetes and Go Microservice Orchestration
4 lectures 42:45

Kubernetes is a cluster operating system used to run cloud native applications and microservices. The aim of this video is to give the audience a rough understanding of Kubernetes with its key concepts that are required this section.

Preview 12:01

In order to run a Docker container in Kubernetes we need to define a Pod. The aim of this video is to show how deploy and run a containerized Go microservice using Minikube on a local developer machine.

Deploy a Go Microservice to Kubernetes Locally
10:47

Kubernetes provides several high level abstractions to manage and access containerized applications: deployments and services. The aim of this video is to demonstrate how these abstractions can be declared and used in Kubernetes to run a small Go microservice.

Implement Deployment and Service Descriptors
09:39

Kubernetes is a sophisticated cluster operating system that supports many ops tasks out of the box. Theaim of this video is to show how Kubernetes deployments can be scaled horizontally and how rolling updates can be performed easily.

Scale Deployments and Perform Rolling Updates
10:18
Requirements
  • Some knowledge of web services and web programming will be sufficient to get you through the course.
Description

Microservices in Go teaches you how to handle advanced server side development in Go; it uses microservices to accomplish this, but is relevant to all server-side developers.

This course is your one-stop guide to learn all about building cloud-native architectures in Go. We begin by introducing you to the cloud native stack and microservices, then move on to implementing a simple Go microservice. This includes implementing the REST API with Go’s standard library. Finally, we look at the Containerization and Orchestration of Go micro services using Docker and Kubernetes by showing you how to deploy Kubernetes and scale deployment.

About the Author

Mario-Leander Reimer has been a chief technician at QAware since the beginning of 2014. He is responsible for the technical success of projects in the field of after sales for their customer BMW.

He is a specialist in the design and implementation of complex system and software architectures based on open source technologies. As a member of the Java Community Process (JCP), his goal is to further improve the Java platform and to develop practical specifications. He is a speaker at international conferences and guest lecturer at Rosenheim University of Applied Sciences.

Mario-Leander studied computer science in Rosenheim and at Staffordshire University.

Who this course is for:
  • This course is for Go developers who want to build secure, resilient, robust, and scalable applications that are cloud native.