Sobes.tech
Junior — Senior

Creating a separate microservice for managing images from a monolithic application

livecode

Task condition

Within a large monolithic project (social network), there is a significant volume of graphic files – avatars, photos from albums, etc. The first step is to allocate a separate microservice responsible for storing and processing these images.

Describe how to approach the separation of the image service: choice of storage, standardization of image sizes, providing access to files via URL, and interaction of the new service with other system components.

  • Storage – what types of storage (cloud, file-based, CDN) are suitable, how to organize upload and replication.
  • Size standardization – what sizes need to be generated automatically, what tools to use for resizing and optimization.
  • Access via link – how to form public/private links, how to ensure caching and access security.
  • Interaction – what APIs (REST, gRPC) and events (message bus) are needed to connect the microservice with other modules of the monolith, how to ensure data consistency and migrate existing content.