Overview
Amazon Web Services (AWS), offered by Amazon, is a suite of cloud computing services that runs on the same infrastructure that Amazon uses internally for its end-user products.
Micronaut is a modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications with an emphasis on developer productivity and code simplicity.
By design, the Micronaut framework is “natively cloud native,” making it the framework of choice for deploying microservices to AWS and deploying functions to AWS Lambda. Micronaut provides great support for simplifying the development and deployment of microservices to AWS.
This training experience introduces Micronaut by way of examples and demonstrates how easy it is to take advantage of AWS when building applications with Micronaut.
In this deep dive we cover many capabilities of Micronaut and demonstrate how to:
- Build a suite of services with Micronaut
- Deploy those services to Raspberry Pi edge devices and AWS
- Wire the whole architecture together with minimal effort
This experience will enable developers to quickly get started building JVM microservices with Micronaut and deploying those services to AWS.
Outline
The following topics are covered in this workshop:
- Introduction to Micronaut
- Controllers
- Compile-time dependency injection
- Application configuration
- HTTP client
- Service discovery
- Testing
- Bidirectional JSON
- Server events
- Management endpoints
- Polyglot Micronaut
- Deploying to Elastic Beanstalk
- Accessing a relational database hosted with RDS with Micronaut Data
- Distributed tracing with X-Ray
- Integrating Micronaut services on a Raspberry Pi edge device
Technical Requirements
The workshop is a mixture of slides, live coding, interaction with AWS, and hands-on exercises.
Individuals will be set up with their own participant accounts in Amazon’s custom event engine to provide a seamless learning environment during the workshop.
Each participant will receive a Raspberry Pi device and the necessary related hardware to complete the lab exercises. Students keep all hardware at the end of the workshop.
Amazon will also provide account credits, which may be applied to participants’ AWS accounts to cover runtime costs for their personal runtime environments.
Additionally, in order to get the most out of the hands-on exercises, participants should be aware of the following technical requirements.
- IntelliJ IDEA. During the course, the instructor will use IntelIiJ IDEA Ultimate. Attendees should come with JDK 8 or JDK 11 and either IntelliJ IDEA Community (free, open source) or IntelliJ IDEA Ultimate (free trial available) installed on their laptops. Both versions can be downloaded at https://www.jetbrains.com/idea/download.
- SDKMAN! We recommend installation of the Software Development Kit Manager (SDKMAN!) to ease changing the Java version. Download SDKMAN! at https://sdkman.io.
- GitHub. Attendees will require a GitHub account, so that code samples and documentation can be shared. If you don't already have one, create your free GitHub account at https://github.com/.
- Docker. Docker 18 (or later) should be installed prior to the start of class. Kitematic is recommended, but not required.
- Micronaut 1.3.x CLI. Download Micronaut at https://micronaut.io/download.html
- SSH and SCP clients. Mac and Linux users may use the command-line tools included in the OS. A number of graphical tools are available if you prefer.
Windows 10 users running the April 2018 update or later may use the command-line tools included in the OS.
If you're running a different Windows release or prefer a graphical interface, install PuTTY from https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html and WinSCP from https://winscp.net/
Prerequisites
Although everyone is welcome, we recommend attendees have at least a working familiarity with web development, HTTP, Java, and JVM development frameworks.
Experience with Micronaut and AWS is a plus, but not required.
Duration & Format
1 day (7 hours)
Professional Training for Modern Technology Teams
Open Enrollment Courses
Open enrollment courses are a great, cost-effective option for organizations that have an immediate need to train a small number of employees.
Customized Training Programs
Customized training programs can be delivered on-site, in our training lab, or online to help organizations enhance the skills of their internal development teams.