Java Spring Boot Microservices On Kubernetes In The Cloud
Published 4/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 10.52 GB | Duration: 20h 33m
Published 4/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 10.52 GB | Duration: 20h 33m
Continuous Integration, Delivery and Deployment (CI/CD), using Git & GitHub, of Microservices on Kubernetes in the Cloud
What you'll learn
You will learn how to create Microservices with Spring Boot and Java that are run as Docker containers.
You will learn how to use Git and GitHub to create Continuous Integration (CI) and delivery (CD) with Docker and Docker Hub.
You will learn how to process REST request and use Spring Framework’s processing to serialize, deserialize and process JSON structures.
You will learn how to create Docker images and run images and as Docker containers as well as deploy images on minikube.
You will learn basic commands for Docker and Kubernetes and also to create and use a Postgres database.
You will learn how to create Cloud Servers or Instances and deploy applications on Kubernetes. You will also learn how to install Kubernetes.
Requirements
Basic understanding of programming in Java.
Basic understanding of technical products.
Description
You will learn how to create Java Spring Boot applications that are managed and run as Microservices. You will learn how to use Git, GitHub, Docker and Docker Hub to setup Continuous Integration and Delivery (CI/CD). You will also learn how to deploy applications on both minikube and Kubernetes installed on Cloud servers. You will also learn how to process REST request and use Spring Framework to serialize, deserialize and process JSON structures. You will learn how to use Docker to create and run images which you will then deploy on Kubernetes. You will learn how to create AWS servers (instances) in the Cloud and install Kubernetes to create your own cluster.In bullets:Handling of REST applications in Java Spring Boot with Postman as a REST clientBasics of Spring Data JPA (Java Persistent API)Basics of Microservices and communication between services in Spring and in Docker containersBasics of handling Docker images, containers and registriesGit repositories and configuration of workflows for Continuous Integration (CI) and Delivery (CD) with GitHub and Docker HubBasics of AWS EC2 instances (Servers) in the CloudBasics of Kubernetes on AWS Cloud servers and application deploymentIntroduces different parts that could be used to find a specific part to dig deeper into as for example Spring, GitHub CI/CD, Docker or Kubernetes.What this course is not about:The course does not go deep into all aspects of CI/CD but instead deals with the fundamental parts of the process to create, integrate, deploy and call a Spring application.The course does not create production ready applications or systems but is a very good introduction to the process of developing, integrating and deploying applications with Git, GitHub, Docker, DokerHub and Kubernetes in a Cloud environment.What the organizations say about their own products:Java –“The world’s most popular modern development platform, Java SE is the programming language of choice for enterprise applications.” (java - Oracle)Spring Boot and REST services –“Spring’s focus on speed, simplicity, and productivity has made it the world's most popular Java framework” (why-spring - Spring)“REST has quickly become the de-facto standard for building web services on the web because they’re easy to build and easy to consume” (rest - Spring)Microservices with JPA –“Microservice architectures are the ‘new normal’. Building small, self-contained, ready to run applications can bring great flexibility and added resilience to your code.” (microservices - Spring)CI/CD with GitHub & Git –“Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized workflow.” (actions - GitHub)Docker and minikube“The Industry-Leading Container RuntimeDocker Engine powers millions of applications worldwide, providing a standardized packaging format for diverse applications.” (container-runtime - Docker)“minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows” (minikube)Kubernetes on AWS Cloud Services“Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.” (kubernetes)“Designed on the same principles that allow Google to run billions of containers a week, Kubernetes can scale without increasing your operations team.” (kubernetes)“Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access technology services, such as computing power, storage, and databases, on an as-needed basis from a cloud provider like Amazon Web Services (AWS).” (what-is-cloud-computing - Amazon)
Overview
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Setup the environment
Section 2: Rest and Spring Annotation
Lecture 3 Overview: Basics in REST and Spring annotation
Lecture 4 Logging, Configuration file and PathVariable
Lecture 5 Post, Put and Delete Mapping
Lecture 6 Exception Handler and Post Construct
Section 3: Basics in Spring JPA
Lecture 7 Entity Class and Autowire Repository
Lecture 8 Query builder mechanism
Lecture 9 Spring Test and Junit5 tests
Section 4: Microservices and JSON processing
Lecture 10 Overview Basics in JSON Processing
Lecture 11 Basics in JSON Processing
Lecture 12 Data format conversion
Lecture 13 Overview Microservices
Lecture 14 Create a document microservice
Lecture 15 Document References in the Note Controller
Lecture 16 Request Documents from the Document Service using a Reactor Client
Lecture 17 Tests for the Document and Repository classes
Section 5: Docker and Kubernetes Minikube
Lecture 18 Overview Basics in Docker
Lecture 19 Dockerfile and basic commands
Lecture 20 Basic commands and Linux example
Lecture 21 Overview Basics in Kubernetes Minikube
Lecture 22 Minikube basic commands
Lecture 23 Minikube deployment and kubectl
Lecture 24 Minikube and Docker Hub
Section 6: Basics in Git and GitHub repository
Lecture 25 Git basic commands and GitHub
Lecture 26 Git basic commands, branches and Document Service
Section 7: Continuous Integration and Delivery
Lecture 27 Overview Basics in CI/CD
Lecture 28 GitHub and Continuous Integration
Lecture 29 Workflows, Release Branches and CI
Section 8: Cloud servers and Kubernetes
Lecture 30 EC2 Instance, Firewall Ports and IPs
Lecture 31 Overview Cloud Servers and Kubernetes
Lecture 32 Installation Docker and Kubernetes
Lecture 33 Installation Docker and Kubernetes part 2
Lecture 34 Kubernetes deployment, Docker Hub and GitHub
Section 9: Feature, Branches and CI/CD
Lecture 35 Overview Lecture 13 - 15
Lecture 36 New Document Service Version
Lecture 37 Verify that the application works with Postman
Lecture 38 Continuous Integration and Delivery (CI/CD) – CRUD Document Service version
Section 10: CI/CD of the Exercises Application – New version
Lecture 39 Verify the Exercises Application with Postman
Lecture 40 Continuous Integration and Delivery (CI/CD) – Exercises Application
Section 11: Continuous Deployment (CD) on minikube and AWS
Lecture 41 Deployment of the Document Service
Lecture 42 Deployment of the Exercises Application
Lecture 43 Create Postgres Image, workflow files and deploy on Kubernetes
Lecture 44 Postgres on one Pod, Exercises and Document Service on minikube
Lecture 45 Postgres on one Pod, Exercises and Document Service on AWS
For anyone that want to learn Microservices with Java Spring Boot.,For anyone that want to learn Continuous Integration (CI) and Delivery (CD) with GitHub and Docker Hub.,For anyone that want to learn Spring data JPA.,For anyone that want to learn JSON handling and REST services.,For anyone that want to learn Git, Repositories and GitHub Workflows.,For anyone that want to learn Docker, minikube and Kubernetes.,For anyone that want to learn Cloud Servers and Kubernetes.