lots of known unknowns and unknown unknowns here
Microservice in short is a distributed modular system. A good Monolith should also be a modular system.
Module and Components are different in the sense that Components are composable. The iPhone charger is a Module but cannot charge an Android phone. Desktop PC hardwares can be interchanged and thus are Components.
Microservice tends to compose Components, each is an independent Component, as an application.
On an e-Commerce website, Orders, Wishlist, Recommendation, Product Category can all be separate microservices.
Microservices architecture
Building microservices on Azure | Microsoft Docs
SOA Manifesto
Learn microservices
Introducing Domain-Oriented Microservice Architecture | Uber Engineering Blog
Chapter 13: SOA Primer | dan chak
From Monoliths to Microservices: An Architectural Strategy - The New Stack
Code inComplete - SOA - Overview
How to build resilient microservices | InfoWorld !important, Ballerina
Of Microservices & Containers - By Spruha Pandya
What are Microservices? | Netlify
微服务:从设计到部署 · GitBook
Blog Series - Building Microservices | Callista Enterprise
Explain like I'm 5: Microservices in Node.js - NodeSource
Microservices: An application revolution powered by the cloud | Blog | Microsoft Azure
Effective Microservices Architecture with Event-Driven Design - The New Stack
Microservices: The Essential Practices | Technology Conversations
Monolithic Servers vs Microservices | Technology Conversations
Microservice Patterns That Help Large Enterprises Speed Development, Deployment and Extension | Java Code Geeks - 2018
How Anti-Patterns Can Stifle Microservices Adoption in the Enterprise | Java Code Geeks - 2018
Rewriting Uber Engineering: The Opportunities Microservices Provide - Uber Engineering Blog
Asynchronous APIs in Choreographed Microservices | Nordic APIs |
Microservices Workshop All Topics Deck 2016 Adrian Cockcroft
Microservices 101 - The Big Why? // Speaker Deck
When and Why for Microservices | Iron.io
Microservice Principles: Smart Endpoints and Dumb Pipes
What are microservices? Lightweight software development explained | InfoWorld
Microservices tutorial: How to build microservices apps | InfoWorld
7 secrets to scaling with microservices | InfoWorld
微服务下使用 GraphQL 构建 BFF (Backend for Frontends)的实践
Q&A: Microservices design patterns | TSH.io
Webinar: Design patterns for microservice architecture - YouTube
Introduction to Microservices | NGINX series by Nginx
microservices Archives - NGINX
NGINX Plus and Kubernetes Power Microservices Architectures
NGINX Microservices Reference Architecture: Download the Free Ebook
Microservices design and deployment with NGINX | Free Ebook
SOA Lessons Learned
Practical SOA / microservices - Typed Requests
Practical SOA / microservices - Hydration - Part 1
Practical SOA / microservices - Hydration - Part 2
Microservices and Service Oriented Architecture | Packt Hub
Microservices Versus SOA in Practice | Voxxed
Learn from SOA: 5 lessons for the microservices era | InfoWorld
Simplifying Your Transition from Macro to Microservices - via @codeship | via @codeship
From Macro to Microservices: Jumpstarting Your Transition - via @codeship | via @codeship
An Introduction to Building Your Apps with Microservices
Building Scalable Microservices | Packt Hub Spring Boot
Breaking into Microservices Architecture | Packt Hub
microservice.add(observability) isNotEqualTo(microservice.add(monitoring)
20 Go language projects for mastering microservices | InfoWorld
GraphQL in a Microservices Architecture – ITNEXT
Node, npm, and Service Oriented Architecture - Forward 4 Web Summit - YouTube
Richard Rodger - "How Microservcies fail and what to do about it" - YouTube slide
Mastering Chaos - A Netflix Guide to Microservices - YouTube
Connecting the Services
devops#Service Registration and Discovery
Microservices for Java Developers: Microservices Communication | Java Code Geeks - 2018
Microservices Messaging: Why REST Isn't Always the Best Choice - via @codeship | via @codeship
Use Custom Packet Framing for Microservices Messaging | Java Code Geeks - 2018
Microservice Communication with Queues - via @codeship | via @codeship
Scaling Microservices with Message Queues, Spring Boot and Kubernetes
REST and MQTT: Yin and Yang of Micro-Service APIs – Dejan Glozic
mattduffield/microservices: This is a sample using MQTT
oemdaro/mqtt-microservices: The example of MQTT microservices based system build on top of Node.js, Go (Golang), Java, gRPC and Apache Kafka
Data
Hot shot 009 – Dealing with M/SOA DATA (part 1) « Peter Pilgrim :: Java Champion :: Digital Developer Architect
Hot shot 010 – Dealing with Micro-Service Oriented Architecture DATA (part 2) « Peter Pilgrim :: Java Champion :: Digital Developer Architect
The hardest part of microservices is your data - YouTube
Thank You for Requesting this Webinar Recording - Is Your Data Architecture Ready for Microservices? - VoltDB
Christian Posta
The Hardest Part of Microservices: Calling Your Services – Software Blog
The Hardest Part About Microservices: Your Data – Software Blog
3 Easy Things to Do to Make Your Microservices More Resilient – Software Blog
Why Microservices Should Be Event Driven: Autonomy vs Authority – Software Blog
Microservices for Java Developers [Book]
Microscaling
Microscaling in a Box - container scaling
microscaling/microscaling: Microscaling Engine
Increasing Resource Efficiency with Microscaling - via @codeship | via @codeship
Service mesh
"Side-cart" attached to the service for
- service discovery
- routing
- tracing
- failure handling
- security (zero-trust networking)
We've Made Quite A Mesh - Tim Hockin, Google - YouTube
Getting Started with a Service Mesh - a Linkerd Intro - {code}
The difference between API Gateways and Service Mesh | Cloud Native Computing Foundation
service mesh 是什么,常用工具有哪些?
Do you need a service mesh? - O'Reilly Media
An Overview of the Service Mesh and Its Tooling Options | Java Code Geeks - 2018
Service Mesh for Microservices - Microservices in Practice - Medium
The Top 3 Service Mesh Developments in 2020 – The New Stack
Deploying Service Mesh in Production
SMI | A standard interface for service meshes on Kubernetes
Standardizing Service Mesh Value Measurement
Google Cloud Blog - News, Features and Announcements
avito-tech/netramesh: Ultra light service mesh for any orchestrator
Introducing netramesh — lightweight service mesh – AvitoTech – Medium
Connect (Service Segmentation) - Consul by HashiCorp
Meshery The Service Mesh Management Plane | Layer5
The Rush to Fix the Kubernetes Failover Problem – The New Stack Linkerd, Istio, Consul
Linkerd vs Istio: my 2¢ – Jeff Gensler – Medium
Comparison to similar systems — envoy documentation
Setting up a service mesh in GKE using Linkerd2 and Traefik 2.0
Kubernetes Service Mesh: A Comparison of Istio, Linkerd and Consul
Comparing eBPF and Istio/Envoy for monitoring microservice interactions | Cloud Native Computing Foundation
How eBPF will solve Service Mesh - Goodbye Sidecars
eBPF and Wasm: Exploring the Future of the Service Mesh Data Plane
Traefik Mesh, the Simplest Service Mesh | Traefik Labs
traefik/mesh: Traefik Mesh - Simpler Service Mesh
Announcing Maesh, a Lightweight and Simpler Service Mesh from Traefik
Maesh, a Simpler Service Maesh. Presented by The Traefik Team!
Microservices Demo: Sock Shop
microservices-demo/microservices-demo: Deployment scripts & config for Sock Shop
Testing
Improving Testability of Java Microservices with Container Orchestration and a Service Mesh
On the Contrary
The Fallacy of Tiny Modules | hueniverse
Small modules: it’s not quite that simple — Medium
One-line node modules · Issue #10 · sindresorhus/ama
Modularity
Microservices in Production: 5 Challenges You Should Know | Takipi Blog
Microservice Mistakes – Complexity as a Service | Form Follows Function
Microservices - Not a free lunch! - High Scalability -
When microservices becomes darkservices | Java Code Geeks - 2018
Goodbye Microservices: From 100s of problem children to 1 superstar · Segment Blog
Serverless, Microservices, or Monolith: Choosing Back End Architecture for Your Startup
This Week in Programming: When NOT to Do Microservices - The New Stack
About When Not to Do Microservices – Software Blog
You're not going to do Microservices – Software Blog
Istio as an Example of When Not to Do Microservices – Software Blog
Bits or pieces?: Pioneers, Settlers and Town Planners
The gist is that pioneers, those implementing MVP or experimenting the core values of the product with their clients (in other words, the clients don’t have concrete requirements), should use monolith for faster iteration and easier maintenance.
Microservices should only be considered in the next phases when the need to scale arises.
Honestly, We Shouldn’t Have Used Microservices | by Mika Yeap | CodeX | Apr, 2021 | Medium
This Week in Programming: Forget Microservices, Monoliths Are the Way Forward - The New Stack
Monoliths are the future |> News and podcasts for developers |> Changelog
GOTO 2021 • The Problem with Microservices • Dave Farley - YouTube
You Want Modules, Not Microservices
Stop Creating Microservices | Prime Reacts - YouTube
Microservices Demo
microservices-demo/microservices-demo: Deployment scripts & config for Sock Shop
microservices-demo/load-test: A load-test script & container for Sock Shop
Martin Fowler
Microservices !important
Microservices • Martin Fowler - YouTube
Characteristics of a Microservice Architecture:
- Componentization via Services
- Organized around Business Capabilities
- Products not Projects
- Smart endpoints and dumb pipes
- Decentralized Governance
- Decentralized Data Management
- Infrastructure Automation
- Design for failure
- Evolutionary Design
Testing Strategies in a Microservice Architecture
MonolithFirst
InfoQ
Migrating to Microservices
Testing Web Services, Microservices and APIs
Microservices Retrospective – What We Learned (and Didn’t Learn) from Netflix
DZone
Micro-Components Architecture - DZone Microservices patterns used in microservices
DZone Microservices
Microservices in Practice: From Architecture to Deployment - DZone Microservices
Patterns for Microservices — Sync vs. Async - DZone Microservices
Design Considerations for a Microservice Architecture With Docker Swarm - DZone Microservices
10 Best Practices for Microservice Architectures - DZone Microservices
Microservices vs. SOA – Is There Any Difference at All? - DZone Integration
Microservices vs. Service-Oriented Architecture (SOA) - DZone Microservices
How Are Your Microservices Talking? - DZone Microservices vs SOA
We've Done SOA, Why Should We Care About Microservices? - DZone Microservices
Getting Your Team Ready for Microservices — Part 1 - DZone Microservices
Getting Your Team Ready for Microservices — Part 2 - DZone Microservices
Microservices: Organizational Practices, Part 1 - DZone Microservices
Microservices: Organizational Practices, Part 2 - DZone Microservices
Microservices Architectures: Event Driven Approach - DZone Microservices
Building Microservices Through Event-Driven Architecture, Part 1: Application-Specific Business Rules - DZone Microservices
Building Microservices Through Event-Driven Architecture, Part 2: Domain Objects and Business Rules - DZone Microservices
Building Microservices Through Event-Driven Architecture, Part 3: Presenters, Views, and Controllers - DZone Microservices
Building Microservices Through Event-Driven Architecture, Part 4: Repositories - DZone Microservices
Building Microservices Through Event-Driven Architecture, Part 5: Dockerization - DZone Microservices
Microservices and Distributed Transactions - DZone Microservices
Distributed Transactions and Microservices Still Don't Mix - DZone Microservices
Auth0
Auth0's three part series: !important
An Introduction to Microservices, Part 1
API Gateway. An Introduction to Microservices, Part 2
An Introduction to Microservices, Part 3: The Service Registry
mfa-and-microservices-blog-samples/microservices at master · auth0-blog/mfa-and-microservices-blog-samples
Linkerd
Buoyant | Open source Linkerd service mesh for cloud-native applications
Linkerd has built in Prometheus and Grafana dashboard
A guide to distributed tracing with Linkerd | Linkerd
Linkerd2 is built with Conduit, control plane in Go; data plane in Rust (Conduit)
linkerd/linkerd2: Open source service mesh for cloud-native applications, v2
Linkerd 2.0 Now In General Availability: From Service Mesh to Service Sidecar - Cloud Native Computing Foundation
Linkerd v2: How Lessons from Production Adoption Resulted in a Rewrite of the Service Mesh
Hands On With Linkerd 2.0 - Kubernetes
Linkerd - Announcing Linkerd 2.3: Towards Zero-Touch Zero-Trust Networking for Kubernetes
Under the hood of Linkerd's state-of-the-art Rust proxy, Linkerd2-proxy | Linkerd
Conduit
conduit-rust GitHub Org
conduit-rust/conduit: Web Application Interface for Rust
Introducing Conduit - blog.buoyant
v1
based on framework in Twitter, JVM based
linkerd
linkerd/linkerd: Resilient service mesh for cloud native apps 1.0, Scala
Finagle RPC for JVM
Vladimir Kostyukov - Finagle 101
Finagle — Finagle Under the Hood
Envoy
Envoy Proxy - Home out of application edge and service proxy used by Istio, eventually consistent
How to write WASM filters for Envoy and deploy it with Istio · Banzai Cloud
Extending the Envoy Proxy With WebAssembly - Container Journal
one man's singularity - Extending Envoy With Wasm and Rust
Convergence of Envoy and eBPF, removing side car
Istio
Istio !important, heavyweight, uses Envoy, let Google run it
istio/istio: Sample code, build and tests and governance material for the Istio project.
Istio / The Evolution of Istio's APIs
回归单体 —— Istio 的自我救赎? · Service Mesh|服务网格中文社区
Istio as an Example of When Not to Do Microservices – Software Blog
Diving Into Istio 1.6 Certificate Rotation – Software Blog
What Is Istio and Why Does Kubernetes Need it? – The New Stack
A Crash Course For Running Istio – Namely Labs – Medium
Easy microservices with Kubernetes and Istio ✅ ☸️ ⛵️ - DEV Community 👩💻👨💻
Welcome to the service mesh era: Introducing a new Istio blog post series | Google Cloud Blog
Istio Service Mesh Control Plane - DZone Microservices
Exploring Istio telemetry and observability · Banzai Cloud
Running Istio on Kubernetes in production. Part I. – AvitoTech – Medium
Istio and Kubernetes in production. Part 2. Tracing
Running Apache Kafka over Istio - benchmark · Banzai Cloud
Kubernetes-based Microservice Observability with Istio Service Mesh: Part 1
Kubernetes-based Microservice Observability with Istio Service Mesh: Part 2
Microservices in the Cloud with Kubernetes and Istio (Google I/O '18) - YouTube
Reducing Microservices Architecture Complexity with Istio and Kubernetes
Crashing KubeCon: Has Istio become the new cloud-native darling? – GeekWire
5 things you didn't know about Istio - YouTube
The rise of the Istio service mesh | InfoWorld
Why you need Istio, Kubernetes, and Weave Cloud for Distributed Applications
GitOps for Istio - Manage Istio Config like Code
redhat-developer-demos/istio-tutorial: Istio Tutorial for Java Microservices
Backyards
Backyards - the automated service mesh · Banzai Cloud the Banzai Cloud Istio distribution, making Istio easy to use and manage for everyone
Announcing Banzai Cloud automated service mesh, Backyards - Istio the easy way · Banzai Cloud
Backyards - automated service mesh for multi and hybrid cloud deployments · Banzai Cloud
banzaicloud/backyards-cli: CLI for Backyards, a multi and hybrid-cloud enabled service mesh platform
StdLib
StdLib — API development made simple A Standard Library for Microservices
StdLib – Docs
Code.xyz — Code Editor for APIs
Scrape Websites for Information Easily using Code.xyz and Node.js
Ballerina
Home - Ballerina.io
Language to implement middleware microservices to integrate enterprise services
Replaces ESB
Learn
Ballerina: A Programming Language for Cloud Native Computing - The New Stack
Ballerina: A Data-Oriented Programming Language
How Ballerina is different from other programming languages
Intro to Ballerina: A Cloud Native Programming Language - YouTube
Ballerina Language with Tyler Jewell - Software Engineering Daily
Tower (Rust)
tower-rs GitHub org
tower-rs/tower: fn(Request) -> Future
Dapr
Dapr - Distributed Application Runtime
dapr/dapr: Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge.
Dapr : The Ultimate Developer API for Authoring Microservices - YouTube
Dapr for .NET Developers | Microsoft Docs
Announcing Distributed Application Runtime (Dapr), an open source project to make it easier for every developer to build microservice applications - Open Source Blog
Micronaut
Micronaut Framework compiled with GraalVM
Micronaut framework promises low-overhead microservices | InfoWorld
Micro
Go framework
Micro | Platform APIs built for developers
Getting Started with Micro | Micro
What is Micro? It’s just the future of microservices development. | Micro
Micro GitHub org
micro/micro: A microservice toolkit
An ecosystem which simplifies building and managing microservices
Universal Micro Services | M3O
Pricing | M3O
Micro from Vercel
Node.js framework
vercel/micro: Asynchronous HTTP microservices
amio/awesome-micro: A collection of awesome things regarding zeit's micro.
Simple, but not too simple: how using Zeit’s micro
improves your Node applications · Code with Hugo
Serverless Framework
The Serverless Application Framework | Serverless.com
serverless/serverless: ⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –
hapi pal - lalalambda
Architect
Architect serverless framework
Zato
Zato - Home
Open-source ESB, SOA, REST, APIs, SSO and Cloud Integrations in Python — Zato 3.0.0 documentation
Kong
Kong Community Edition | Open Source API Gateway API gateway
Kong Hub | Plugins and Integrations | Kong - Open-Source API Management and Microservice Management
Kong Mesh - KongHQ
Kong/kubernetes-ingress-controller: Use Kong for Kubernetes Ingress
Kong Microservices Api Gateway with Docker - DEV Community 👩💻👨💻
Deploy your NextJS Application on a different base path (i.e. not root) | by Ernesto F | Level Up Coding
How I Stopped Coding Repetitive Service Components with Kong - DZone Web Dev
Breaking Up a Monolithic Database with Kong - DZone Microservices
Kuma
Kuma
Introducing Kuma: The Universal Service Mesh - KongHQ
Implementing a Secure Service Mesh – The New Stack
Lever OS
Introducing Lever OS — Lever OS blog
Seneca
Seneca, a microservices toolkit for Node.js
Seneca 1.0 for Node.js and microservices is out - nearForm
Object oriented technology was great - now enter microservices with Node.js slides demo
mcollina/bloomrun: A js pattern matcher based on bloom filters map string -> anything, faster than patrun
Building JavaScript Microservices with SenecaJS and Compose
Seneca Microservices Framework
senecajs/seneca-auth: A Seneca user authentication plugin for Hapi and Express
senecajs/seneca-web: A plugin that provides HTTP functionality for the Seneca framework
Studio
ericholiveira/studio: A nodejs framework to create decoupled and scalable applications
GraftJS
Graft.io - coming soon | Daemon.co.za
Full-Stack Through Microservices
GraftJS/graft: full-stack javascript through microservices
GraftJS/jschan: JavaScript port of libchan based around streams
Nameko
gRPC APIs with Nameko – ITNEXT
nameko/nameko-grpc: GRPC Extensions for Nameko
nameko/nameko-examples-grpc: Examples of Nameko gRPC Extensions
Helidon
Helidon
oracle/helidon: Java libraries for writing microservices
Helidon Takes Flight – Oracle Developers – Medium
Meet Helidon, a new open source Java microservices framework - JAXenter
Hydra
Introduction · Hydra
Quick tutorial · Hydra
Resources · Hydra
Building a Microservices Example Game with Distributed Messaging | @RisingStack
Netflix
Netflix/Hystrix: Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
Building Fault-Tolerant MicroServices using Netflix’s Hystrix
Go micro
micro/go-micro: A microservice framework
Meet Go micro, a zero-dependency microservice framework - JAXenter
Micro Blog - THE SIMPLEST WAY TO BUILD MICROSERVICES
micro/micro: A microservice toolkit
go-kit
go-kit/kit: A standard library for microservices.
kit - GoDoc
Go kit: Go in the modern enterprise
Microservices in Go using Go-kit | Heroku
How to write a microservice in Go with Go kit - DEV Community 👩💻👨💻
Hippo
Introducing Hippo: A Golang Microservices Toolkit | Clivern
Clivern/Hippo: 💨A well crafted go packages that help you build robust, reliable, maintainable microservices.