Category: Architecture
REST API best pratices
Designing a Microservices Architecture for Failure
The Risk of the Microservices Architecture
Graceful Service Degradation
One of the best advantages of a microservices architecture is that you can isolate failures and achieve graceful service degradation as components fail separately. For example, during an outage customers in a photo sharing application maybe cannot upload a new picture, but they can still browse, edit and share their existing photos.
Change Management – Rolling Deployment
Health-check and Load Balancing
Modern service discovery solutions continuously collect health information from instances and configure the load-balancer to route traffic only to healthy components.
Self-healing
Failover Caching
Retry Logic
As a retry is initiated by the client (browser, other microservices, etc.) and the client doesn’t know that the operation failed before or after handling the request, you should prepare your application to handle idempotency. For example, when you retry a purchase operation, you shouldn’t double charge the customer. Using a unique idempotency-key for each of your transactions can help to handle retries.
Rate Limiters and Load Shedders
Fail Fast and Independently
Bulkheads
Circuit Breakers
Testing for Failures
Outro
Key Takeways
https://blog.risingstack.com/designing-microservices-architecture-for-failure/
Modelagem Arquitetural e Modelo 4 + 1
Cloud Trends by Adrian Cockcroft
https://gotoams.nl/2017/sessions/190
Migration Sequence (from on promise to cloud)
https://youtu.be/EDZBYbEwhm8?t=1109
The new de-normal
https://youtu.be/EDZBYbEwhm8?t=1300
Adrian Cockcroft on The New De-Normal – Untangling “Kitchen Sink” Database Schemas
https://youtu.be/Y6nKD-sK6tg
APIs in a Microservice Architecture
Microservices are revolutionizing how organizations build their enterprise architectures. We have spent a good couple of years talking deeply about APIs and their benefits, and understanding how APIs fit into an enterprise. The core benefits of disintegrated architectures can only be reaped if the system as a whole, including APIs, services, CI/CD processes, and development practices are designed with these objectives in mind.
With the rapid adoption of microservice architectures (MSA), the designs for securing, controlling, and monitoring our APIs have to be rethought and adjusted to reap the core benefits of an MSA.
During this webinar Nuwan will discuss,
- The impact of MSA on your API strategies and designs
- Possible changes in API design and deployment, API security, control and monitoring, and CI/CD
https://wso2.com/library/webinars/2018/09/apis-in-a-microservice-architecture/
Fast Delivery by Adrian Cockcroft
Smart endpoints and dumb pipes
Smart endpoints and dumb pipes
https://martinfowler.com/articles/microservices.html#SmartEndpointsAndDumbPipes
Microservice Principles: Smart Endpoints and Dumb Pipes
https://medium.com/@nathankpeck/microservice-principles-smart-endpoints-and-dumb-pipes-5691d410700f
Client-side rendering vs. Server-side rendering
Client-side vs. server-side rendering: why it’s not all black and white
Enterprises Are Embracing Microservices and Node.js
6 Main Reasons Why Node.js Has Become a Standard Technology for Enterprise-Level Organizations
https://www.monterail.com/blog/nodejs-development-enterprises
Why Enterprises Are Embracing Microservices and Node.js
https://thenewstack.io/enterprises-embracing-microservices-node-js/