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.
These projects are designed for learning purposes and are not complete, production-ready applications or solutions.
Manning author Andres Sacco shares what he likes about the Manning liveProject platform.
here's what's included
Project 1 Reduce Traffic
Project 1 Reduce Traffic
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.
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:
Basics of any Java IDE: Eclipse, IntelliJ IDEA, Visual Studio Code
Basic Spring and Spring Boot
Basic Docker and Docker Compose
Understanding the principles of REST
Basic knowledge of microservices
you will learn
In this liveProject, you’ll learn easy-to-implement techniques for reducing unnecessary data transfer between microservices.
Working with an internal cache in each instance of microservices
Working with a cache in front a particular API
Best practices and pros/cons of each mechanism of cache
You choose the schedule and decide how much time to invest as you build your project.
Each project is divided into several achievable steps.
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.
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.