Spring Core DevOps on AWS
4.3 (136 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,817 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Spring Core DevOps on AWS to your Wishlist.

Add to Wishlist

Spring Core DevOps on AWS

Learn to Deploy Spring Boot Applications to the Cloud on AWS
4.3 (136 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,817 students enrolled
Created by John Thompson
Last updated 5/2017
English
Curiosity Sale
Current price: $10 Original price: $100 Discount: 90% off
30-Day Money-Back Guarantee
Includes:
  • 6.5 hours on-demand video
  • 1 Article
  • 2 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
Requirements
  • Java
  • Spring Framework (Beginner / Intermediate Level)
  • Basic Knowledge of Maven
  • Basic Linux Skills
Description

Companies love to use the Spring Framework. 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 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 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. Next, the course takes a DevOps approach. You'll see how to deploy Spring 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 focuses on how applications are commonly managed. 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 on the cloud.

Throughout the course, you will learn best practices. 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. Many different best practices are involved. By completing this course, you'll see how these technologies and best practices come together.

Who is the target audience?
  • 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.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
78 Lectures
06:42:55
+
Introduction
6 Lectures 26:24
+
Externalizing Properties
6 Lectures 30:01

Property Source
07:32

Spring Environment Properties
06:09

Using Multiple Properties Files
04:13

Spring Boot Application Properties
05:00

Property Hierarchy
05:41
+
Using Spring Profiles
9 Lectures 46:35

Using Spring Profiles
04:44

Setting the Active Profile for Testing
07:55

Setting the Active Profile at Runtime
10:12

Spring Boot Profile Properties
04:49

Spring Boot Profile Properties Code Assignment
01:01

Spring Boot Profile Properties Code Assignment Review
06:17

Spring Boot Profiles with YAML
06:05

Spring Profiles Conclusion
02:18
+
Using a MySQL Datasource
9 Lectures 44:11

MySQL Maven Dependencies
02:13


MySQL Data Source Configuration
10:17

Update to Bootstrap Loader
05:47

MySQL Service Account
07:13

Encrypting Properties
08:38

MySQL Code Assignment
01:54

MySQL Code Assignmnet Review
03:18
+
Continuous Integration
19 Lectures 01:33:56

Introduction to AWS
05:06

Which Linux Distribution?
02:07

Provisioning a Server on AWS
06:31

Installing Jenkins
12:15

How DNS Works
08:05

Using Route 53
03:34

Setting up Apache with Jenkins
08:31

Why not Map Jenkins to Port 80?
03:32

Creating SSH Keys
07:50

Forking GitHub Projects
02:46

Configuring GitHub with SSH Keys
02:52

Installing Git on Jenkins Server
02:47

Configuring Jenkins Credentials
03:12

Configuring Maven on Jenkins
02:43

Configuring Jenkins Maven Build
06:09

Triggering a Jenkins Build
07:31

GitHub WebHooks
04:04

+
Setting up Artifactory
12 Lectures 01:26:58

Assignment: Create Artifactory Server
01:45


Docker Editions
09:15

Installing Docker
11:52

Running Artifactory Image
10:48

Assignment - Configure Virutal Host for Artifiactory
02:44

Assignment Review
04:57

Resolving Artifacts through Artifactory
11:42

Deploying to Artifactory
08:55

Configuring Jenkins
06:00

Conclusion
02:10
+
Virtualized Cloud Deployment
11 Lectures 50:40

Assignment - Provision Database Server
01:45

Configuring the Production Data Source
05:20

Production Data Source Security
03:34

Assignment - Provision Application Server
01:05

installing Java
04:40

Installing Spring Boot Application
03:36

Running a Spring Boot Applicaiton
14:43

Assignment Encypt DB Password
01:35

Deploying Spring Boot as a Linux Service
09:45

Conclusion
02:48
+
Amazon RDS
5 Lectures 24:06

Provision MySQL RDS Database on AWS
07:39

Create RDS Profile for Spring Boot
09:29

Assignment Deploy Spring Boot Application using RDS Database
02:27

Conclusion
02:24
+
Bonus
1 Lecture 00:03
Bonus Lecture: Course Bonuses!
00:03
About the Instructor
John Thompson
4.4 Average rating
1,424 Reviews
6,955 Students
7 Courses
Spring Framework Guru - Best Selling Udemy Instructor

Hi. I'm John.

I've been in the IT industry for over 20 years. Today, I specialize mainly in Java, the most successful and widely known programming language in use today. I also specialize with the Spring Framework, which the most popular open source application framework for building enterprise class applications on the Java platform. Just some of the organizations I've worked with include Visa, Kohls, Federal Home Loan Bank, and Belk Department Stores.

Through the courses I'm providing, I hope to leverage my years of experience to accelerate your learning of the Spring Framework. I'm not going to lie to you. The Spring Framework is a big framework. The environment for enterprise Java is even bigger. If you're new to Java, you have a lot to learn. I hope through the content on this web site I can accelerate your education of the Java and Spring landscape.