Step into the role of a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation reservation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is reaching new heights, the performance of its reservation microservice is in a tailspin. Your job is to replace this microservice with an improved one using Kotlin and Spring Boot.
You’ll review the current microservice’s architecture and create one that has the same endpoints, saves all relevant information, has a default error handler, and can communicate with other microservices to access vital information. To reduce the risk of performance problems created by incorrect endpoint-invocation, you’ll create and validate documentation according to the Open API 3 standard. Following business-driven development (BDD) practices, you’ll implement robust testing to prevent deploying your new API with any bugs.
Improve performance by leveraging cache mechanisms that reduce traffic between APIs. Using Spring Security, you’ll secure the API against attacks, and you’ll minimize dependencies that slow it down. You’ll use GraalVM to create a Docker image that decreases consumption of resources, then wrap up by packaging your new API. When you’re done, you’ll have hands-on experience creating a secure, scalable, highly performant API from scratch—and TWA’s customers will be making many return trips!
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is rocketing higher, the performance of its reservations microservice is crashing and burning. As a solution, the company has replaced the microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to improve the performance of the new API.
With the help of the Maven Enforcer plugin, you’ll deal with dependencies that slow the microservice. You’ll use ktlint to format the source code according to a single standard, thereby increasing efficiency. You’ll create a Docker image using GraalVM and optimize it to decrease resource consumption. When you’re finished, your API will start up quicker and be more reactive, even on high-traffic days like Black Friday and Cyber Monday!
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success has been steadily climbing, the performance of its reservation microservice has been losing altitude. As a solution, TWA has replaced the microservice with a new one. Your job is to improve performance by leveraging cache mechanisms, including the Caffeine, Varnish, and Redis libraries, that will reduce traffic between APIs.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is flying high, the performance of its reservation microservice has taken an unfortunate detour. As a solution, TWA has replaced the microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to secure the API against possible attacks. You’ll configure a Keycloak authentication server to keep track of valid users. Using Spring Security, you’ll add security mechanisms on the microservice to ensure that only valid users can access it and that those users can only access their own reservations.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while the company’s success is moving quickly in the right direction, the performance of its reservations microservice has taken a wrong turn. As a solution, TWA has replaced this microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to reduce the risk of deploying the application with bugs—a common problem for the previous API—by implementing robust testing.
Following business-driven development (BDD) practices, you’ll create a series of unit tests that validate the code’s logic in a number of plausible scenarios. To test the behavior of the code itself without affecting or being influenced by external classes, you’ll create a series of mocks. Using several libraries, you’ll test to ensure database queries work as expected.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But while TWA’s success is on the right track, the performance of its reservation microservice is off the rails. As a solution, TWA has replaced the microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your job is to document the API endpoints for this new microservice—following the Open API 3 standard—to reduce the risk of someone invoking the endpoints incorrectly. You’ll also create custom rules for validating the documentation in an external library, allowing for reuse in other projects across the company.
You’re a senior developer at Travel World Agency (TWA), which has grown to become the largest travel agency in the world. The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS). But as TWA’s success has soared, the performance of its reservations microservice has taken a nosedive. TWA has decided to replace the reservation microservice with a new one, using Kotlin and Spring Boot to improve performance and maintainability. Your task is to review the architecture of the existing microservice and create a new one that has the same endpoints as the old one, saves all relevant information, has a default error handler, and communicates with other microservices to access other vital information.
Welcome to Travel World Agency (TWA), where you’ve been hired as a senior developer. As the company has grown, so have its computing costs. Before taking potentially disruptive cost-reducing measures, management wants you to prepare the company’s next-generation system, which runs on Amazon Web Services (AWS), by improving the quality of its microservice architecture.
In this series of liveProjects, you’ll review the microservice architecture, create an architecture test using ArchUnit, simulate random problems using Spring Boot’s Chaos Monkey library, use Dependency-Check and Dependency-Track to analyze dependencies, and create API and performance testing using Karate and Gatling. When you’ve completed these projects, you’ll have valuable practical experience with five different microservice testing methods that help you understand the effect certain changes are likely to have on your system.
The cloud’s ease of scaling is essential for handling distributed microservices architecture—but also proves extremely costly! In this series of liveProjects, you’ll implement different cost-saving techniques to help reduce unnecessary cloud usage by microservices without affecting platform availability. Each liveProject explores a different technique to save your company money on their cloud bill.
You’re a senior developer at Travel World Agency (TWA). Management is surprised at the amount computing costs have increased, but before introducing potentially disruptive cost-reducing measures they need to determine how to improve the quality of the microservices. Your task is to simulate random problems, using Spring Boot’s Chaos Monkey library, to determine whether any scenarios exist that aren’t addressed by the code. To test your conclusions, you’ll use the Chaos Toolkit to generate concrete problems. When you’re done, you’ll have the skills to spotlight issues that aren’t always revealed through unit testing.
Travel World Agency (TWA) has enjoyed rapid growth, but its computing costs have risen along with its success. Before implementing potentially disruptive cost-reducing measures to their next-gen system running on Amazon Web Services (AWS), it needs to improve the quality of its microservices. As a senior developer, your task is to detect whether any change in the request/response of the endpoints might affect the rest of the microservices. You’ll use Pact to define the contract between multiple microservices using the HTTP method, the name of the endpoint, and the requests and responses. By the end, you’ll be able to detect problems that could result from a change to the name, HTTP method, or the attributes that contain the requests and responses of one endpoint.
You’re a senior developer at Travel World Agency (TWA). As its success has grown, so have computing costs. But before introducing potentially disruptive cost-cutting measures into its next-gen system running on Amazon Web Services (AWS), it needs to improve the quality of its microservices. Your task is to detect possible security problems using Sonar, then use Dependency-Check and Dependency-Track to analyze the dependencies and add rules to define how many vulnerabilities your microservices might have with the ongoing execution of the pipeline.
You’re a senior developer at Travel World Agency (TWA). The company has built a next-generation system that uses a microservice architecture running on Amazon Web Services (AWS), and wants to prepare it for cost-cutting measures. Your task is to review the microservices architecture, create an architecture test using ArchUnit, create custom tests as needed, streamline update and creation processes by externalizing your tests to a single library, and integrate your architecture tests into a Jenkins pipeline. When you’re done, you’ll have a unit test that validates the structure of a microservices architecture.
You’re a senior developer at Travel World Agency (TWA). Its swift success has come with a high rise in computing costs. But before it introduces potentially disruptive cost-saving modifications to its next-gen system running on Amazon Web Services (AWS), it needs to improve the quality of its microservices architecture. Your job is to create API and performance testing using Karate and Gatling and apply a black-box approach that prevents anyone from changing what’s inside the microservices. You’ll test the connection with external services as well as with a database, then create a performance test with minimal configuration by reusing one of your API tests.
In this liveProject, you’ll implement bug and error fixes in your microservices to reduce unnecessary and costly data traffic. You’ll implement a Circuit Breaker to prevent sending requests to unhealthy requesters, set up a Fallback method that gives microservices a default behavior with errors, and work with rate limiters to prevent large numbers of requests to an API.
In this liveProject, you’ll reduce duplicate search requests in an e-commerce store to bring down unnecessary data usage of microservices. You’ll implement caching and database functionalities that can reduce search duplication during key promotional events like Black Friday, and set up a synchronization of search requests which occur at the same moment.
In this liveProject, you’ll implement methods of compression to reduce the size of data that microservices return as a response. You’ll use the built-in compression tools of Spring Boot to set up microservices data responses in a gzip format, then explore using databases like Redis to compress data with the serializer of data offered by Spring Boot.
In this liveProject, you’ll improve the caching mechanism between a Catalog API and microservices. This will reduce the number of unnecessary requests, and reduce costs from your cloud provider. You’ll explore near cache, remote cache, and proxy cache mechanisms, then evaluate the pros-and-cons of each approach.