Spring Framework DevOps on AWS

Deploy Spring Boot Applications to the Cloud on AWS
Spring Framework DevOps on AWS
File Size :
11.00 GB
Total length :
7h 0m



John Thompson • 470,000+ Enrollments Worldwide


Last update




Spring Framework DevOps on AWS

What you’ll learn

Deploy Spring Applications to multiple environments
Manage advanced configuration options for Spring
Create a server on Amazon AWS
Launch a Docker container
Configure Jenkins builds
Configure Artifactory for use
Deploy Maven build artifacts to Artifactory
Use MySQL with Spring Boot

Spring Framework DevOps on AWS


Spring Framework (Beginner / Intermediate Level)
Basic Knowledge of Maven
Basic Linux Skills


The Spring Framework is very popular with large companies. In fact, Spring is the most popular Java framework.Did you know, a core reason for Spring’s popularity with companies is it’s IoC engine?A typical company will deploy their Spring Framework application in at least 3 different environments. Having a development, test, and production environment is common.The problem developers face is each environment is different. Different server names. Different databases. Different user accounts. Different passwords.In this course you will learn how to use Spring’s IoC container to deploy your application in many different environments. Through Inversion of Control, your Spring application can wire itself for the needs of each environment.You’ll start the course learning advanced configuration options of the Spring Framework. Next, the course takes a DevOps approach. You’ll see how to deploy Spring Framework applications in different environments.In development, it’s common to use a H2 in memory database. Of course, this database is only temporary. Not something you’d want to use for your production deployment.Do you want to see how to flip a switch and use MySQL? Flip another switch and your app can be using a RDS database managed Amazon. You can do this with no code changes.The course also looks as best practices used in enterprise software development. Using a continuous integration server is a best practice. Jenkins is the most popular CI server. You will learn how to install Jenkins on a Linux server. A server you provisioned in the AWS cloud.Once you have Jenkins running on your AWS server a best practice is to setup Jenkins on a friendly URL.Jenkins is a Java application running on port 8080. You don’t want to be typing some IP colon 8080 into your browser to reach Jenkins.Want to know how you can use Apache and Route 53 to reach your Jenkins server your own URL? To a domain you own?Docker is an exciting technology. You will see how to leverage Docker to host your own Artifactory Maven repository. We’ll use Artifactory to manage build artifacts produced by Jenkins.Just for fun, we will also use Docker to setup a MySQL database server. We’ll do this by provisioning a Linux server on AWS, installing Docker on it, and then deploy MySQL in a Docker container.We’ll also provision an application server we can use to run our Spring Boot application. You will pull the Spring Boot jar right from Artifactory and tell it to connect to database server.Amazon AWS also has managed MySQL databases. This is their RDS service. You will see how to provision your own RDS database. We’ll then reconfigure our Spring Boot application to connect to the RDS database.There is a lot of fun and challenging content in this course. You will learn:How to manage Spring properties.Why you want to encrypt sensitive properties, such as passwords.How Spring Profiles are used.Using YAML to configure Spring.To provision servers on Amazon AWS.Logging into your servers via SSH. How to use the yum package manager to install software on Linux.How to configure your own Linux service.How DNS works, and how to use Route 53 to setup your own host names.How to use webhooks in GitHub to trigger your builds immediately.Why you don’t want to use root accounts for your application.Configure Jenkins to perform a Maven build.Use Jenkins to deploy build artifacts to Artifactory.This is a very hands on course. To get the most out of this course, you will need an account on AWS. You should be able to use the AWS free tier to complete the course assignments.To get the most out of this course, you will  need a domain name. You will need to have control of the domain. Without this, you will not be able to configure subdomains in Route 53.The course does leverage AWS for their cloud services. The skills you learn on the AWS platform will transfer to most corporate environments. AWS is used to mimic the typical company.There is a lot of exciting content in this course! DevOps is not an easy area. Many different technologies are involved. In this course, you will see how easy it is to manage Spring Framework applications in complex corporate environments.


Section 1: Introduction

Lecture 1 Course Introduction

Lecture 2 Instructor Introduction

Lecture 3 Checking out from GitHub

Lecture 4 Getting Help with Spring

Lecture 5 Is your IDE Free Like A Puppy?

Lecture 6 Free 120 Day IntelliJ Trial!

Lecture 7 Project Overview

Lecture 8 Course Requirements

Section 2: Externalizing Properties

Lecture 9 Section Overview

Lecture 10 Using Property Source

Lecture 11 Spring Environment Properties

Lecture 12 Using Multiple Properties Files

Lecture 13 Spring Boot Application Properties

Lecture 14 Property Hierarchy

Section 3: Using Spring Profiles

Lecture 15 Section Overview

Lecture 16 Using Spring Profiles

Lecture 17 Setting the Active Profile for Testing

Lecture 18 Setting the Active Profile at Runtime

Lecture 19 Spring Boot Profile Properties

Lecture 20 Spring Boot Profile Properties Code Assignment

Lecture 21 Spring Boot Profile Properties Code Assignment Review

Lecture 22 Spring Boot Profiles with YAML

Lecture 23 Spring Profiles Conclusion

Section 4: Using a MySQL Datasource

Lecture 24 Section Overview

Lecture 25 MySQL Maven Dependencies

Lecture 26 MySQL Configuration

Lecture 27 MySQL Data Source Configuration

Lecture 28 Update to Bootstrap Loader

Lecture 29 MySQL Service Account

Lecture 30 Encrypting Properties

Lecture 31 MySQL Code Assignment

Lecture 32 MySQL Code Assignmnet Review

Section 5: Continuous Integration

Lecture 33 Section Overview

Lecture 34 Introduction to AWS

Lecture 35 Which Linux Distribution?

Lecture 36 Provisioning a Server on AWS

Lecture 37 Installing Jenkins

Lecture 38 How DNS Works

Lecture 39 Using Route 53

Lecture 40 Setting up Apache with Jenkins

Lecture 41 Why not Map Jenkins to Port 80?

Lecture 42 Creating SSH Keys

Lecture 43 Forking GitHub Projects

Lecture 44 Configuring GitHub with SSH Keys

Lecture 45 Installing Git on Jenkins Server

Lecture 46 Configuring Jenkins Credentials

Lecture 47 Configuring Maven on Jenkins

Lecture 48 Configuring Jenkins Maven Build

Lecture 49 Triggering a Jenkins Build

Lecture 50 GitHub WebHooks

Lecture 51 Conclusion

Section 6: Setting up Artifactory

Lecture 52 Introduction to Artifactory

Lecture 53 Assignment: Create Artifactory Server

Lecture 54 What is Docker?

Lecture 55 Docker Editions

Lecture 56 Installing Docker

Lecture 57 Running Artifactory Image

Lecture 58 Assignment – Configure Virutal Host for Artifiactory

Lecture 59 Assignment Review

Lecture 60 Resolving Artifacts through Artifactory

Lecture 61 Deploying to Artifactory

Lecture 62 Configuring Jenkins

Lecture 63 Conclusion

Section 7: Virtualized Cloud Deployment

Lecture 64 Introduction

Lecture 65 Assignment – Provision Database Server

Lecture 66 Configuring the Production Data Source

Lecture 67 Production Data Source Security

Lecture 68 Assignment – Provision Application Server

Lecture 69 installing Java

Lecture 70 Installing Spring Boot Application

Lecture 71 Running a Spring Boot Applicaiton

Lecture 72 Assignment Encypt DB Password

Lecture 73 Deploying Spring Boot as a Linux Service

Lecture 74 Conclusion

Section 8: Amazon RDS

Lecture 75 Introduction

Lecture 76 Provision MySQL RDS Database on AWS

Lecture 77 Create RDS Profile for Spring Boot

Lecture 78 Assignment Deploy Spring Boot Application using RDS Database

Lecture 79 Conclusion

Section 9: Appendix A – Using GitHub

Lecture 80 GitHub Basics

Lecture 81 GitHub Workflow

Section 10: Bonus

Lecture 82 Bonus Lecture: Course Bonuses!

The ideal student for this course is someone who has learned the Java programming language, basic skills with the Spring Framework.,Prior Java and Spring knowledge are required for this course.

Course Information:

Udemy | English | 7h 0m | 11.00 GB
Created by: John Thompson • 470,000+ Enrollments Worldwide

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top