We may earn an affiliate commission when you visit our partners.
Course image
Antonio Goncalves

This course is for Quarkus developers who want to discover how Quarkus and MicroProfile handle microservices. It’s a mixture of slides and code so you can “Understand and Practice” at the same time. This way, you learn the theory, and then put it into practice by developing a microservice architecture step by step.

Read more

This course is for Quarkus developers who want to discover how Quarkus and MicroProfile handle microservices. It’s a mixture of slides and code so you can “Understand and Practice” at the same time. This way, you learn the theory, and then put it into practice by developing a microservice architecture step by step.

In this course you will develop two microservices that talk to each other. After introducing Microservices and MicroProfile, you will make sure your development environment is set up, and you will go from bootstrapping two Quarkus microservices, to running them as Docker containers. The different steps you’ll go through are:

  • Understand Microservices,

  • Understand MicroProfile,

  • Check your development environment,

  • Develop two microservice that expose a REST endpoint using JAX-RS and CDI,

  • Customize the JSON output with JSON-B,

  • Test the two microservices in isolation with JUnit and RESTAssured,

  • Configure each microservice,

  • Document each microservice with MicroProfile OpenAPI,

  • Establish the communication between microservices with MicroProfile REST Client

  • Mock the microservice communication when testing,

  • Handle communication failure with MicroProfile Fault Tolerance,

  • Build a Linux executable with GraalVM out of each microservice,

  • Containerize each microservice with Docker and execute it,

  • Create and configure a Docker Compose file so both microservices can be executed in a single command.

At the end of the course you’ll get a good understanding on how implementing microservices with Quarkus. You will be able to bootstrap, develop, package and execute a microservice architecture, but most important, take Quarkus microservices to your next project.

Good luck for the course, and please reach out if you need any help or if you have any request: I’m here to help.

Enroll now

What's inside

Learning objectives

  • Understand the microprofile ecosystem and how quarkus supports it
  • Bootstrap two microservices with quarkus
  • Develop, configure and test each microservice separately using jax-rs, json-b, cdi, junit and restassured
  • Use microprofile openapi to document each microservice
  • Use microprofile rest client so microservices can communicate with one another
  • Use microprofile fault tolerance so the communication between microservices can gracefully handle failure
  • Generate native binaries thanks to graalvm
  • Build and execute docker containers for each microservice
  • Bundle both microservices into a single docker compose file and configure it so the entire system is executed with a single command

Syllabus

Building Microservices with Quarkus
Course Overview
What Will You Build in This Course?
Next
Read more
Understanding Microservices
Lesson Overview
What are Microservices?
What is MicroProfile?
Companies sponsoring the speaker's diner
Checking up the Development Environment
Activity: Checking up the Development Environment
Bootstrapping the Microservices
Activity: Bootstrapping the Microservices
Main exhibition hall
Exposing the Number REST Endpoint
Activity: Exposing the Number REST Endpoint
Customizing the JSON Output
Activity: Customizing the JSON Output
Documenting the Number Microservice
Activity: Documenting the Number Microservice
Configuring the Number Microservice
Activity: Configuring the Number Microservice
Testing the Number Microservice
Activity: Testing the Number Microservice
Exposing the Book REST Endpoint
Activity: Exposing the Book REST Endpoint
Documenting the Book Microservice
Activity: Documenting the Book Microservice
Configuring the Book Microservice
Activity: Configuring the Book Microservice
Testing the Book Microservice
Activity: Testing the Book Microservice
Can't be physically at the event, this virtual sponsoring is for you
Invoking the Number Microservice
Activity: Invoking the Number Microservice
Mocking the Communication
Activity: Mocking the Communication
Dealing with Communication Failure
Activity: Dealing with Communication Failure
Building Native Linux Executables
Activity: Building Native Linux Executables
Containerizing Native Linux Executables
Activity: Containerizing Native Linux Executables
Executing Docker Containers
Activity: Executing Docker Containers
Revisiting the Application
Congratulations!
What’s Next?
Quarkus References
MicroProfile References
Author References
Bye Bye

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores MicroProfile, which is used in cloud-based enterprise Java projects
Explores Quarkus, which is an open-source Java framework built for cloud-native applications
Focuses on developing usable microservices, as opposed to just describing what microservices are
Develops your knowledge of Quarkus and MicroProfile, which are essential resources for Java cloud developers
Taught by Antonio Goncalves, who is a Quarkus developer and author of several books on Java and JEE
Requires knowledge of Java for those who want to learn how to build microservices in Java

Save this course

Save Building Microservices with Quarkus to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Building Microservices with Quarkus with these activities:
Join a study group or online forum for Quarkus developers
Join a study group or online forum to connect with other Quarkus developers, ask questions, and share knowledge, fostering collaboration and reinforcing learning.
Show steps
  • Identify relevant study groups or online forums
  • Introduce yourself and express your interest in joining
  • Participate in discussions and ask questions
  • Share your own knowledge and experiences
Create a collection of resources on Quarkus best practices
Create a collection of resources on Quarkus best practices to reinforce your knowledge, stay up-to-date with industry standards, and improve your development practices.
Show steps
  • Research and identify best practices for Quarkus development
  • Gather relevant articles, blog posts, and documentation
  • Organize and categorize the resources
  • Create a document or online repository to store the collection
  • Share your collection with other Quarkus developers
Practice writing REST endpoints using JAX-RS in Java
Practice writing REST endpoints to reinforce your understanding of JAX-RS and how it is used in Quarkus.
Show steps
  • Create a new Quarkus project and add the RESTEasy dependency
  • Define a JAX-RS resource class and endpoint methods
  • Add dependency injection to your resource class
  • Test your endpoints using a REST client like RESTAssured
Four other activities
Expand to see all activities and additional details
Show all seven activities
Attend a Quarkus workshop or conference
Attend a Quarkus workshop or conference to gain hands-on experience, learn from experts, and network with other developers, enhancing your knowledge and skills.
Show steps
  • Research upcoming Quarkus workshops or conferences
  • Register for the event
  • Attend the workshop or conference sessions
  • Participate in hands-on exercises and discussions
  • Network with other attendees and speakers
Build a Spring Boot REST API with JPA and MySQL
Follow a tutorial to build a Spring Boot REST API with JPA and MySQL to reinforce your understanding of RESTful web services and data persistence.
Browse courses on Spring Boot
Show steps
  • Set up a new Spring Boot project
  • Create a JPA entity and repository
  • Define REST controllers for CRUD operations
  • Test your API using a REST client like Postman
Mentor a junior Quarkus developer or participate in a coding challenge
Mentor a junior Quarkus developer or participate in a coding challenge to reinforce your knowledge, enhance your problem-solving skills, and contribute to the community.
Show steps
  • Identify opportunities to mentor or participate in coding challenges
  • Prepare materials and resources
  • Provide guidance and support to mentees or participants
  • Evaluate progress and provide feedback
  • Reflect on your experience and areas for improvement
Write a blog post on the benefits of using Quarkus for microservices development
Write a blog post to share your knowledge and experience with Quarkus and microservices, reinforcing your understanding of the benefits and use cases.
Show steps
  • Research the benefits of using Quarkus for microservices development
  • Write an outline for your blog post
  • Develop the content of your blog post, including code examples and demonstrations
  • Proofread and edit your post
  • Publish your blog post on a platform like Medium or Dev.to

Career center

Learners who complete Building Microservices with Quarkus will develop knowledge and skills that may be useful to these careers:
Technical Project Manager
Technical Project Managers plan, execute, and manage software development projects. They work with stakeholders to define the project scope, timeline, budget, and quality requirements. While this course does not focus on project management, it can provide insight into the software development process as a whole, which can be helpful for Technical Project Managers.
Enterprise Architect
Enterprise Architects design and implement IT strategies and solutions for organizations. They work with senior management to understand the business goals of the organization and translate those goals into technical requirements.
Solutions Architect
Solutions Architects work with clients to understand their business needs and design and implement technical solutions that meet those needs. This course will introduce you to building microservices using Java, which is a skill that Solutions Architects can use to build and maintain the kinds of software systems that clients require.
Full Stack Engineer
Full Stack Engineers work on both the front-end and back-end of web applications. They are responsible for the entire stack of technologies that make up an application, including the user interface, the server-side logic, and the database. This course will introduce the principles of building microservices that will connect to databases, which are the kinds of skills Full Stack Engineers use.
Software Architect
Software Architects design and build software systems. They work with stakeholders to understand their needs and translate those needs into technical requirements. As a Software Architect, you will be responsible for making sure that software systems are secure, scalable, and reliable. This course could be useful for Software Architects as it dives into the implementation of microservices and provides insight into building systems.
Cloud Architect
Cloud Architects design, build, and manage cloud computing systems. They work with cloud providers and customers to develop cloud strategies and solutions. This course "may" provide a helpful foundation in cloud computing for Cloud Architects and provide some direction in designing and managing cloud systems.
DevOps Engineer
DevOps Engineers work with developers and operations teams to improve the software development process and increase the speed and quality of software delivery. This course "may" be useful for DevOps Engineers who are interested in building a foundation in Java and understanding how to build microservices.
Quality Assurance Analyst
Quality Assurance Analysts work alongside software engineers to implement testing strategies, manage test cases, execute tests, and report on results. They may also collaborate with product owners and other teams to understand customer needs and ensure that the final product meets requirements. This course "may" help Quality Assurance Analysts understand the development stage of applications and provide them with architectural experience in Java.
Data Scientist
Data Scientists gather, analyze, and interpret massive amounts of data to extract meaningful insights for organizations. While this course does not dive into data analysis, it "may" provide some helpful Java experience, which is a language that can be helpful in data science.
Data Engineer
Data Engineers design, build, and maintain data pipelines and systems. They collaborate with data scientists and other stakeholders to ensure that data is accessible, reliable, and secure. This course "may" provide useful foundational Java experience, which is a language that can be helpful for Data Engineers.
Web Developer
Web Developers design and develop web applications and websites. They translate ideas into code that creates aesthetically-pleasing, functional products usable by end users. This course "may" introduce foundational concepts in Java that Web Developers can use to build web solutions.
Computer Programmer
Computer Programmers design, modify, and maintain computer programs and software to meet the needs of users. This course "may" be useful to Computer Programmers as it touches on using Java to develop and execute solutions, which is a popular language that could be used in this role.
Information Security Analyst
Information Security Analysts identify and mitigate risks or vulnerabilities in hardware and software systems that may put the organization at risk. This course "may" provide insight for Information Security Analysts by offering an introduction to security features that may be found in similar software systems.
Computer Systems Analyst
Computer Systems Analysts study how computer systems are used in an organization and offer advice on how to improve the system's efficiency. This role may lead and manage projects by establishing project scope, timeline, budget, resource allocation, and quality assurance. This course "may" be helpful for Computer Systems Analysts, as it can help with problem solving skills.
Software Engineer
Software Engineers create software that meets the needs of users. In a role as a Software Engineer, you might design architectural solutions to complex problems and then create software to meet those solutions. While this course focuses on being an introduction microservices with Quarkus, it "may" provide a basic understanding of concepts that Software Engineers in this field may use.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Building Microservices with Quarkus.
Provides a comprehensive overview of the MicroProfile specification and its use in building microservices and cloud-native Java applications. It covers key concepts such as microservice design, development, and deployment, as well as advanced topics such as fault tolerance, security, and reactive programming.
Provides a comprehensive guide to microservices. It covers everything from the basics of microservices to advanced topics such as building and deploying microservices. It also provides detailed examples of how to use microservices to build real-world applications.
Provides a comprehensive overview of microservices patterns and best practices. It covers everything from designing and building microservices to deploying and managing them in production. It also provides detailed examples of how to use microservices in real-world applications.
Provides a hands-on guide to building and deploying microservices with Spring Boot and Kubernetes. It covers everything from setting up your development environment to deploying your microservices to production. It also provides detailed examples of how to use Spring Boot and Kubernetes to build real-world microservices applications.
Provides a comprehensive guide to microservices architecture, covering topics such as design patterns, best practices, and deployment strategies. It valuable resource for anyone looking to learn about microservices architecture.
Provides a comprehensive guide to unit testing with JUnit, covering topics such as JUnit basics, JUnit extensions, and JUnit best practices. It valuable resource for anyone looking to learn how to unit test with JUnit.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Building Microservices with Quarkus.
Docker Bootcamp: Conquer Docker with Real-World Projects
Most relevant
Microservices with NodeJS, React, Typescript and...
Most relevant
Deploying .Net Microservices with K8s, AKS and Azure...
Most relevant
Monolith to Microservices at Scale
Most relevant
Event-Driven Microservices: Spring Boot, Kafka and Elastic
Most relevant
Building Microservice Platforms with TARS
Most relevant
Cloud-Native: Microservices, Kubernetes, Service Mesh,...
Most relevant
Developing React.js Apps with Docker
Most relevant
Microservices Architecture Fundamentals
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser