basic Java • basic Maven • basic Spring • basic Docker and Docker Compose
skills learned
best practices of caching mechanisms • compress traffic between different microservices • reduce duplicate requests • prevent send requests to unhealthy requesters
Andres Sacco
4 weeks · 5-7 hours per week average · INTERMEDIATE
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.
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.
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 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 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.
Andres Sacco is a technical leader at Prisma. He has experience with many programming languages including Java, PHP, and Node.js. At his previous job, Andres helped find alternative ways to optimize data transfers between microservices, which reduced the cost of infrastructure by fifty-five percent. A co-author of Beginning Scala 3, published by Apress, Andres has also dictated internal courses about new technologies and shared his expertise in articles on Medium.
Prerequisites
This liveProject is for Java developers looking to reduce the costs of microservices architectures. To begin this liveProject, you will need to be familiar with the following:
TOOLS
Basic Java
Basics of any Java IDE: Eclipse, IntelliJ IDEA, Visual Studio Code
Basic Maven
Basic Spring and Spring Boot
Basic Docker and Docker Compose
TECHNIQUES
Understanding the principles of REST
Basic knowledge of microservices
features
Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.
how to play
guess the geekle in 5-, 6-, 7- tries.
each guess must be a valid 4-6 letter tech word. hit enter to submit.
after each guess, the color of the tiles will change to show how close your guess was to the word.