|
2 | 2 |
|
3 | 3 |  |
4 | 4 |
|
5 | | -This project contains the supporting code for the Java on AWS. You can find the instructions for the hands-on lab [here](https://catalog.workshops.aws/java-on-aws). |
| 5 | +Java remains one of the most widely used programming languages, powering millions of applications from startups to enterprises. This repository contains the source code, infrastructure, and samples supporting a family of hands-on workshops that cover cloud-native Java on containers and AI agent development on AWS. |
6 | 6 |
|
7 | | -# Overview |
8 | | -In this workshop you will learn how to build cloud-native Java applications, best practices and performance optimizations techniques. You will also learn how to migrate your existing Java application to container services such as AWS AppRunner, Amazon ECS and Amazon EKS or how to to run them as Serverless AWS Lambda functions. |
| 7 | +## Java on AWS — Containers |
9 | 8 |
|
10 | | -# Modules and paths |
11 | | -The workshop is structured in multiple independent modules that can be chosen in any kind of order - with a few exceptions that mention a prerequisite of another module. While you can feel free to chose the path to your own preferences, we prepared three example paths through this workshop based on your experience: |
| 9 | +**[catalog.workshops.aws/java-on-aws](https://catalog.workshops.aws/java-on-aws)** |
12 | 10 |
|
13 | | - |
| 11 | +Learn how to build, containerize, optimize, and operate Java applications on Amazon EKS and Amazon ECS — from first container to production-grade deployment. |
14 | 12 |
|
15 | | -## Security |
| 13 | +### Container optimization |
| 14 | + |
| 15 | +A core focus of the workshop is reducing startup time, image size, and resource consumption. You'll work through a progression of techniques, measuring the impact of each: |
| 16 | + |
| 17 | +- **Jib** — build images directly to registry without a Dockerfile |
| 18 | +- **Custom JRE** — create minimal Java runtimes with jlink |
| 19 | +- **SOCI** — lazy-load container images, reducing pull times by up to 70% |
| 20 | +- **Class Data Sharing (CDS)** — pre-load classes for faster startup |
| 21 | +- **AOT compilation cache** (Java 25+) — ahead-of-time compiled code for reduced warmup |
| 22 | +- **GraalVM native image** — compile to native executables with instant startup |
| 23 | +- **CRaC** — checkpoint and restore a warmed JVM for sub-second startup |
| 24 | +- **Pod Resize** — boost CPU during startup, scale down after (EKS) |
| 25 | + |
| 26 | +### AI-powered JVM analysis |
| 27 | + |
| 28 | +The workshop includes an AI-driven performance analysis module that uses Amazon Bedrock to automate JVM diagnostics: |
| 29 | + |
| 30 | +- Collect and analyze thread dumps automatically from running containers |
| 31 | +- Generate flamegraphs with async-profiler |
| 32 | +- Get AI-powered performance recommendations based on thread state, lock contention, and resource usage |
| 33 | +- Identify bottlenecks and optimization opportunities without manual analysis |
| 34 | + |
| 35 | +### Additional modules |
| 36 | + |
| 37 | +- **Observability** — CloudWatch Application Signals, OpenTelemetry instrumentation, service maps, logs, metrics, and traces |
| 38 | +- **Graviton/ARM64** — build multi-architecture images and deploy to AWS Graviton for up to 40% better price-performance |
| 39 | + |
| 40 | +## Building Java AI Agents with Spring AI |
| 41 | + |
| 42 | +**[catalog.workshops.aws/java-spring-ai-agents](https://catalog.workshops.aws/java-spring-ai-agents)** |
| 43 | + |
| 44 | +Build AI agents with Spring AI and Amazon Bedrock. This workshop covers the full journey from a simple chat application to a production-ready agent with memory, knowledge bases, tool calling, and MCP integration. |
| 45 | + |
| 46 | +- Integrate foundation models into Java applications using Spring AI |
| 47 | +- Implement conversation memory for stateful interactions |
| 48 | +- Ground model responses in your own data using knowledge bases |
| 49 | +- Enable tool calling for real-time information access |
| 50 | +- Integrate external APIs using Model Context Protocol (MCP) |
| 51 | +- Deploy AI agents to AWS infrastructure |
| 52 | + |
| 53 | +## Building Java AI Agents with Spring AI and Amazon Bedrock AgentCore |
| 54 | + |
| 55 | +**[catalog.workshops.aws/java-spring-ai-agentcore](https://catalog.workshops.aws/java-spring-ai-agentcore)** |
| 56 | + |
| 57 | +Extends the Spring AI workshop with Amazon Bedrock AgentCore — an agentic platform for deploying and operating AI agents at scale. Deploy to AgentCore Runtime (serverless), add persistent memory, browser automation, sandboxed code execution, and API gateway integration. |
| 58 | + |
| 59 | +- Deploy agents to AgentCore Runtime with session isolation and fast cold starts |
| 60 | +- Add short-term and long-term memory with AgentCore Memory |
| 61 | +- Automate web interactions with AgentCore Browser |
| 62 | +- Execute code safely with AgentCore Code Interpreter |
| 63 | +- Convert APIs into MCP-compatible tools with AgentCore Gateway |
| 64 | + |
| 65 | +## Contributing |
16 | 66 |
|
17 | 67 | See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information. |
18 | 68 |
|
|
0 commit comments