O'Reilly logo
live online training icon Live Online training

Getting Started with Spring Boot and AWS

Hands-on guide to integrating Java Applications with AWS

Topic: System Administration
Madhusudhan Konda

Distributed systems are both beauty and the beast. Complex features such as service discovery, distributed tracing, circuit breakers, a control bus, and routing make designing distributed systems a challenge—and that’s before you add multicloud development, continuous integration, and deployments to the mix. Building applications from the ground up is a humongous task, as is finding a generic, abstracted pattern for working within multicloud environments such as AWS. Developing cloud native applications comes with a cost, from learning the multicloud SDKs and libraries to working with infrastructure code and handling low-level configurations.

Join expert Madhusudhan Konda to discover how to use Spring Boot and Spring Cloud with the AWS framework inside and out as you develop a full-fledged SaaS application, deployed and tested in the AWS cloud. You’ll start with a dive into the necessary tools to design and deploy distributed systems, microservices, and serverless applications to the AWS platform. Madhusudhan then walks you through developing AWS server-side applications from the ground up—integrating applications with Amazon’s S3 file system via Spring’s resource loaders, working with hosted databases in AWS, and consuming and publishing messages for Amazon’s SQS and SNS using the core messaging API. Along the way, you’ll dive into email functionality utilizing Spring’s mail framework and others.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • Spring Boot, Spring Cloud, and AWS fundamentals
  • Best practices for working with AWS’s databases (RDS) and enabling ElastiCache in applications
  • How to retrieve an EC2 instance’s metadata, access AWS’s parameter store, integrate with AWS Secrets Manager, and configure the CloudFormation
  • Spring Boot and AWS cloud integration

And you’ll be able to:

  • Develop AWS-integrated Spring Boot applications
  • Deploy Java-based Spring applications to AWS using Elastic Beanstalk
  • Upload, download, and manage files on Amazon S3
  • Publish and consume messages over Amazon SQS and SNS
  • Send emails using Amazon SES

This training course is for you because...

  • You’re a Java developer who wants to develop Spring Boot applications for AWS, integrate Spring-based applications with AWS, or implement cloud-based Spring projects for AWS using Spring Boot.
  • You’re an architect designing Java-Spring backend microservices for AWS.
  • You’re a cloud engineer analyzing the integration patterns for distributed architectures using Spring-based technologies.

Prerequisites

  • Experience developing Java and working with the Spring Framework and Spring Boot
  • Familiarity with developing RESTful microservices using the Spring Framework
  • A basic understanding of distributed architecture patterns (useful but not required)

Recommended preparation:

Recommended follow-up:

About your instructor

  • Madhusudhan Konda is a passionate technologist and a lifelong tech learner who loves distilling complex problems into simpler solutions, looking at the big picture and providing technical direction, and experimenting with newer programming languages and shiny frameworks. Over his career, Madhusudhan has held roles such as solution architect, development lead, lead developer, and others, always with a strong inclination toward teaching his fellow techies programming languages, frameworks, and new technologies. He’s been instrumental in delivering high-quality solutions to major clients such as EBRD, Credit Suisse, UBS, Mizuho, Deutsche Bank, Halifax, British Petroleum, British Airways, and Lloyd’s of London, to name a few. His core competencies lie in not only creating simple architectures for complex business problems and designing and developing the software projects from the ground up but also providing strategic road maps, cost-effective architectures, and product designs, leading teams, mentoring, and providing thought leadership. He’s written well-received books and produced video courses on Java, Spring, and the Hibernate ecosystem.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

What is Spring Boot with Spring Cloud AWS? (25 minutes)

  • Presentation: Introduction to Spring Boot and AWS
  • Demos: Getting started with Spring Boot and AWS; connecting to S3
  • Q&A

Getting started (30 minutes)

  • Presentation: Setting up the AWS CLI; integrating an application with AWS
  • Demo: High-level walk-through of S3, SQS, and RDS
  • Hands-on exercises: Create a Spring Boot application; add a sample file to an S3 bucket
  • Q&A

Break (5 minutes)

Working with S3 (20 minutes)

  • Presentation: Resource handlers for S3
  • Demo: Managing S3 buckets
  • Hands-on exercise: Create and delete files from an S3 bucket
  • Q&A

Sending point-to-point messages (20 minutes)

  • Group discussion: Point-to-point communication using SQS
  • Presentation: Messaging API fundamentals
  • Demo: Working with queues
  • Hands-on exercise: Send and receive messages
  • Q&A

Publish-subscribe messaging (15 minutes)

  • Presentation: SNS and pub/sub messaging
  • Demo: Using pub/sub messages
  • Hands-on exercise: Create a sample project with pub/sub-enabled components
  • Q&A

Break (5 minutes)

Talking to databases (20 minutes)

  • Presentation: Working with RDS
  • Group discussion: Using MySQL, PostgreSQL, Oracle, SQLServer, and other supported databases
  • Demo: Using CRUD data on a MySQL server running on AWS
  • Hands-on exercise: Install a MySQL server and connect it from a local application
  • Q&A

Sending emails (10 minutes)

  • Presentation: Spring’s support for emails and SES
  • Demo: Sending a sample email
  • Hands-on exercise: Set up an email project
  • Q&A

Implementing caching (20 minutes)

  • Presentation: Introduction to ElastiCache
  • Demo: Using a memcached application
  • Hands-on exercise: Integrate an application with ElastiCache
  • Q&A

Wrap-up and Q&A (10 minutes)