Building microservices with Go - virtual



Kursarrangør: Glasspaper AS
Sted: Nettkurs / Nettstudie
Hele landet
Type:Nettkurs og nettstudie
Studie / yrkesutdanning
Undervisningstid: Ta kontakt for informasjon
Varighet: 5 days
Pris: 26.900

We provide virtual course about building microservices with Go. In the past ten years microservice architecture has become a widely used pattern for creating web-based applications. Go was created to suite this particular need.

Course description:
Its vibrant community, fast compilation, ease of use, and statically-linked builds make it one of the best tools for the job. Widely used across well established companies such as Google and Netflix, microservice architecture has become popular because of its simplicity and the ability to split large and complex tasks, into smaller easily manageable ones.

This course teaches you the basic concepts of microservice design by introducing you to a wide variety of scenarios and tools. From handling simple http requests to managing asynchronous operations on the backend, Go is the language in which microservices are thriving. No wonder that some of the most popular tools used in the Cloud Native movement, such as Kubernetes, Docker, Vault, and Terraform are using Go as their language of choice.

Learning outcomes:
By the end of this course the students will be able to:
• Differentiate between monolith, service oriented, and microservice architecture
• Plan microservice architecture
• Build scalable microservices
• Handle security check-points by using middleware
• Plan and write REST services
• Handle data from SQL and NoSQL databases
• Test microservices
• Document APIs

Course outline:
1) Microservice architecture basics:
• What are microservices
• Microservice benefits
• Creating a scalable microservices

2) Building a REST services from scratch:
• Getting familiar with the http package
• Handling requests and responses
• Working with HTTP status codes

3) Overview of popular REST routers and frameworks:
• Gorilla
• Goji
• Echo
• http router

4) Using and writing REST middlewares:
• Using prebuilt middleware functions
• Writing your own middleware

5) Handling data with databases:
• Using SQL database
• Using NOSQL databases

6) RPC message frameworks:
• RPC overview
• Working with protobuf

7) Scalable Microservice authentication:
• Using JWT for authentication and authorization
• Configuring JWT for better security

8) Microservice event and error logging:
• Logging to standard output
• Creating log files
• Logging libraries

9) Using scalable file storage systems:
• Using S3 and compatible services

10) Asynchronous data processing with message queues:
• Introduction to MQ systems
• Using RabbitMQ

11) Microservice testing:
• Unit testing
• HTTP handler testing
• External testing tools

12) Documenting your REST APIs:
• Documenting code and functions
• Documenting REST endpoints

Training methodology:
The framework behind every lesson follows an inclusive approach and involves everyone in the class by relating to real world experiences and problems they have or may encounter in the field. Classes are filled with practical exercises that push everyone to think and experience real-life coding techniques. Questions are always welcomed, since that is the best way to learn a practical skill.

Instructor: Bojan Gavrovski

Bojan Gavrovski holds a BSc degree in Computer Science from SEEU, and Master’s candidate status in Cloud Computing at UKIM Faculty of Computer Science and Engineering. His professional work started back in 2002 as a web designer and front-end developer. Over the years, he´s created a large list of courses in the fields of front-end and back-end development.

Some of the most notable courses are HTML5 & CSS3, HTML5 APIs, PHP & MySQL for Beginners, Advanced PHP and MVC, Javascript Libraries and Frameworks, Programming in ReactJs & Redux, NodeJs & MongoDB for beginners, and Go. He is a distinct member of partner Semos Education and winner of many “Best Trainer” awards in this company.

Target audience:
This course it aimed at developers that want to expand their knowledge with the new paradigm of Cloud-Native development.

Prerequisites:
• In order to be able to follow this course, attendees need to have a general knowledge of the Go programming language and web development.

Course level:
• Intermediate (Foundation/Intermediate/Advanced)

Language:
• English instructor, english course material