The application is deployed in Amazon ECS as a single service that’s scalable and highly available. As the app has grown, we’ve noticed that content delivery becomes a bottleneck during normal operations. To deal with these issues, we decided to split the app into three microservices: Course Catalog, Content Delivery and Progress Tracking.
Table of contents
Microservices designUse case: Microservices designScenarioOut of scope (so we don’t lose focus)ServicesSolution step by stepIdentify the microservicesDefine the APIs for each microserviceCreate separate repositories and projects for each microserviceSeparate the codeSeparate the dataConfigure API GatewayDeploy the microservices to ECSUpdate the frontendTest the new architectureSolution explanationIdentify the microservicesDefine the APIs for each microserviceCreate separate repositories and projects for each microserviceSeparate the codeSeparate the dataConfigure API GatewayDeploy the microservices to ECSUpdate the frontendTest the new architectureDiscussionBest PracticesOperational ExcellenceSecurityReliabilityPerformance EfficiencyCost OptimizationSort: