We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Building Microservices with Quarkus

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

Coming soon We're preparing activities for Building Microservices with Quarkus. These are activities you can do either before, during, or after a course.

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