KTH/devops-course

Microservice architecture & management

Opened this issue · 36 comments

Concepts: proxy, load balancer, control plane, data plane, service mesh

References: https://en.wikipedia.org/wiki/Microservices

http://istio.io/ is a proxy manager / service mesh

+1 for istio. Note that istio has very usedul trace/monitor/log features

Content Delivery Network: https://en.wikipedia.org/wiki/Content_delivery_network
Example: cloudflare

Polyglot architecture

gRPC: https://grpc.io/

There's actually a Content Delivery Network around where you can look behind the scenes. It's based on pretty much all the cool research, most of it available as production grade open source software, all initiated by Prof Yair Amir @ Johns Hopkins Uni http://www.cs.jhu.edu/~yairamir/ and is commercially known as http://www.ltnglobal.com/.

serverless architecture, serverless computing

Architecting with Microservices: a Systematic Mapping Study
https://www.sciencedirect.com/science/article/pii/S0164121219300019?dgcid=rss_sd_all

Optimal and Automated Deployment for Microservices.
https://dblp.org/rec/conf/fase/BravettiGMTZ19

4 Microservice Frameworks in Comparison, Streaming Example Included
https://blogs.itemis.com/en/4-microservice-frameworks-in-comparsion-example-included

Conductor is a microservices orchestration engine
https://github.com/Netflix/conductor

The rise of nanoservices: A call to consider the flexibility of extra-small microservices powered by serverless computing.
https://increment.com/software-architecture/the-rise-of-nanoservices/

Meet Lagom

Lagom is an open source framework for building systems of Reactive microservices in Java or Scala.
https://www.lagomframework.com/

What a good name!

Github's curated collection of DevOps tools

https://github.com/collections/devops-tools

The KAR runtime makes it easy to develop and run stateful, scalable, resilient applications for the hybrid cloud that combine microservices and managed services.
https://github.com/IBM/kar

Linkerd: Ultralight, security-first service mesh for Kubernetes
https://github.com/linkerd/linkerd2

Spin is an open source framework for building and running fast, secure, and composable cloud microservices with WebAssembly
https://github.com/fermyon/spin

Bacalhau is a platform for fast, cost efficient, and secure computation by running jobs where the data is generated and stored. With Bacalhau you can streamline your exisiting workflows without the need of extensive rewriting by running arbitrary Docker containers and WebAssembly (wasm) images as tasks.

https://github.com/bacalhau-project/bacalhau

wasmCloud lets you focus on shipping features. Build secure, portable, re-usable components called actors and get rid of the headaches that come from being smothered by boilerplate, dependency hell, tight coupling, and making design decisions mandated by your infrastructure.

https://github.com/wasmCloud/wasmCloud

Krustlet is a Kubelet written in Rust — which listens on the event stream for new pods that the scheduler assigns to it, based on specific Kubernetes tolerations.

https://krustlet.dev/

Spin is an open source framework for building and running fast, secure, and composable cloud microservices with WebAssembly https://github.com/fermyon/spin

How to start with spin, https://github.com/fermyon/workshops

k8sgpt is a tool for scanning your kubernetes clusters, diagnosing and triaging issues in simple english.
https://github.com/k8sgpt-ai/k8sgpt

Kubernetes scheduling: Taxonomy, ongoing issues and challenges
C Carrión - ACM Computing Surveys, 2022
https://dl.acm.org/doi/abs/10.1145/3539606

Microservice Extraction Based on a Comprehensive Evaluation of Logical Independence and Performance
http://ieeexplore.ieee.org/document/10477676
IEEE Transactions on Software Engineering 2024

Fuzzing Microservices: A Series of User Studies in Industry on Industrial Systems with EvoMaster
https://arxiv.org/abs/2208.03988

Paper: Employing Software Diversity in Cloud Microservices to Engineer Reliable and Performant Systems
https://arxiv.org/pdf/2407.07287