Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: Go: Building Cloud Native Go Applications
Rating: 4.1 out of 5(138 ratings)
1,055 students

Learning Path: Go: Building Cloud Native Go Applications

Unleash the power of Go Microservices to build blazing-fast scalable applications
Last updated 8/2017
English

What you'll learn

  • Design and architect cloud native applications
  • Learn all about Go microservices
  • Containerize and orchestrate Go microservices using Docker and Kubernetes
  • Learn to use Consul for microservice discovery
  • Implement asynchronous communication in Go using RabbitMQ as well as Kafka

Course content

2 sections32 lectures3h 58m total length
  • The Course Overview4:13

    This video gives an overview of the entire course.

  • Motivation for Cloud Native Apps3:57

    The aim of the video is to introduce the motivation and key concepts of cloud native applications.

  • Challenges and Design Principles2:32

    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.

  • Decomposition with Microservices3:41

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

  • Introduction to the Cloud Native Stack4:39

    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.

  • Simple Go HTTP Server Implementation7:40

    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.

  • JSON Marshalling/Unmarshalling of Go Structs9:26

    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.

  • Simple REST API Implementation11:53

    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.

  • Basic Docker Workflow and Docker Commands9:21

    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.

  • Build Naïve Docker Image for Go Microservice7:22

    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.

  • Running Containerized Go Microservice Locally8:38

    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.

  • Improved Docker Image and Docker Compose7:59

    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.

  • Overview of Kubernetes Architecture and Main Concepts12:01

    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.

  • Deploy a Go Microservice to Kubernetes Locally10:47

    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.

  • Implement Deployment and Service Descriptors9:39

    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.

  • Scale Deployments and Perform Rolling Updates10:18

    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.

Requirements

  • Basic knowledge of the Go programming language.
  • Basic knowledge of web services and web programming would be beneficial.

Description

Ever wanted to build massive, scalable, and performance-oriented cloud native applications that don’t crush under the demands of today’s customers? Well, look no further.

Embark on a journey like never before with Packt’s latest offering, Go: Building Cloud Native Go Applications

“Cloud native” has been the term du jour for quite some time now. As the world slowly moves towards the cloud, which promises lesser downtime, and more speed and efficiency, websites and applications that take full advantage of the capabilities of the cloud are dominating the world like never before, fast replacing monolithic web applications.

This Learning Path takes you on a journey to building fast, scalable cloud-based applications using Go, specifically,  microservices in Go. We begin with learning about the basics of cloud-native applications. Then, we start learning about microservices, which form an integral part of applications that run on the cloud. We learn how to create simple microservices using the Go programming language. We then deploy our first application in the cloud using Kubernetes and Docker.  Later, we cover topics such as service discovery and microservice communication in detail. Along the way, we will also be working with and learning to use a plethora of useful tools such as Kubernetes, RabbitMQ, Kafka, and Consul.

By the end of this Learning Path, you would have become skilled in creating seamless cloud-first applications and services using Go.

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.


Who this course is for:

  • The target audience for this Learning Path primary includes Go developers interested in learning to leverage the effectiveness of the Go programming language to build world-class and highly performant cloud native applications.