Microservices
Bounded Context
Subdivide monoliths
Small Teams
Independent
Clearly-Defined Interfaces
Conway’s Law
Command (Create, Add, Save, Notify)
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
Separation of concerns
Modularity, encapsulation
Scalability
Horizontally scaling
Workload partitioning
Virtualization and elasticity
Automated operations
On demand provisioning
Like the human body
Each organ has a purpose
Organs form systems
Systems form an organism
Use an ELB (elastic Load Balancing)
https://aws.amazon.com/elasticloadbalancing/
Edge Services
Middle Tier and Platform
https://arnon.me/2014/03/services-microservices-nanoservices/
https://arnon.me/soa-patterns/
https://arnon.me/soa-patterns/inversion-communication/
https://arnon.me/soa-patterns/service-host/
https://arnon.me/soa-patterns/service-instance/
https://arnon.me/soa-patterns/service-watchdog/
https://www.product-lifecycle-management.com/download/DOD-STD-2167A.pdf
Service to Service communication
Use Hystrix
Fault Injection Testing (FIT)
Critical Microservices
CAP Theorem
In the presence of a network partition, you must choose between consistency and availability
Use cassandra
https://en.wikipedia.org/wiki/CAP_theorem
Infrastructure
Infrastructures fail
Amazon AWS takes down Netflix on Christmas Eve (Forbes)
https://www.infoq.com/presentations/netflix-failure-multiple-regions
References
Mastering Chaos - A Netflix Guide to Microservices
https://www.youtube.com/watch?v=CZ3wIuvmHeM
https://8thlight.com/blog/uncle-bob/2015/05/28/TheFirstMicroserviceArchitecture.html
http://ibm-1401.info/1401-IBM-Systems-Journal-FORTRAN.html
Martin Fowler
https://martinfowler.com
https://martinfowler.com/microservices/
https://martinfowler.com/articles/microservices.html
https://www.nginx.com/blog/introduction-to-microservices/
https://www.nginx.com/blog/refactoring-a-monolith-into-microservices/
http://microservices.io/patterns/microservices.html
https://www.infoq.com/news/2014/10/exploring-hexagonal-architecture
http://microservices.io/patterns/index.html
https://dzone.com/articles/hello-hexagonal-architecture-1
https://medium.com/statuscode/cloud-functions-vs-container-engine-5c773e364ced
https://cloud.google.com/appengine/docs/standard/python/microservices-on-app-engine
https://techbeacon.com/5-fundamentals-successful-microservice-design
https://smartbear.com/learn/api-design/what-are-microservices/
https://dzone.com/articles/integrating-humio-with-ballerina
Microsoft
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-overview-microservices
https://blog.keen.io/architecture-of-giants-data-stacks-at-facebook-netflix-airbnb-and-pinterest/
https://howtofirebase.com/firebase-data-modeling-939585ade7f4
https://engineering.videoblocks.com/web-architecture-101-a3224e126947
https://codeburst.io/express-js-on-cloud-functions-for-firebase-86ed26f9144c
https://www.skcript.com/svr/creating-restful-api-firebase/
https://medium.com/@timleytens/api-security-in-a-microservices-architecture-2ef673e807c
https://www.oreilly.com/library/view/microservices-antipatterns-and/9781492042716/
https://medium.com/it-dead-inside/isolating-your-microservices-through-loose-coupling-48b710e28de6
https://www.codeproject.com/Articles/5162427/Microservices-Myth-Madness-or-Magic