π‘Scope & Technologies
Talking about whats in plan and its runway.
Scope of Project
One of the basic concepts of Microservices is to have separate service for seperate responsibility, so we have broken down identity to be a separate service which can be individually scaled as required and deployed to k8s.
Same has been done for Uploader and Processor.
Identity API
API built using ASP. Net Identity for generating token, supporting OpenID and OAuth
Uploader API
API responsible for entertaining request to upload Video Files of Any type and raises an event for the same.
Processor API
It's a Service which listens to the upload event and generates a thumbnail for the same. It also exposes an endpoint, for directly/synchronously communicating with Uploader API on grpc to get metadata for the uploaded video.
Background Processor
? Needs Discussion in query for AI communications
Tools and Technologies used.
.NET Core - Free. Cross-platform. Open source. A developer platform for building all your apps!
ASP.NET Core - ASP.NET Core to create web apps and services that are fast, secure, cross-platform, and cloud-based.
Docker - OS-level virtualization to deliver software in packages called containers.
Redis - The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.
RabbitMQ - RabbitMQ is one of the most popular open-source message brokers.
Kubernetes - Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management. (kind / minikube / EKS / AKS). Kubectl also is required to be setup.
Powershell - PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS. (For Development only)
Terraform - Terraform is an open-source infrastructure as code software tool created by Hashi Corp.
Istio.io - Istio extends Kubernetes to establish a programmable, application-aware network using the powerful Envoy service proxy.
Dapr
- Dapr in a distributed runtime for applications running on VM or K8s. GetMicrosoft Learning eBooksFluxcd - Flux is a set of continuous and progressive delivery solutions for Kubernetes that are open and extensible.
Flagger - Automate and manage canary and other advanced deployments with Istio, Linkerd, AWS App Mesh or NGINX for traffic shifting. Integrated Prometheus metrics control canary deployment success or failure.
ArgoCD
- Declarative continuous delivery with a fully loaded UI, also have a cli
Last updated