dmcs-l

module
v0.0.0-...-1a52fca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2020 License: MIT

README

Distributed Minimal Composable Superimposed λ-System

Overview

In this two repositories DMCS-λ and DMCS-π we develop distributed systems for the purpose of exploring aspects like: security weaknesses or strengths, elegance, performance, etc. The λ version (λ-calculus) is a process/services implementation while the π version (π-calculus) is a distributed (containerized) implementation using the usual suspects. They are esentially the same abstract distributed system with two distinct implementations. We're Following a general guideline: Superposition of Minimal Orthogonal Compositions which to us means the following:

  • write minimal code that is sufficient to make a point and no more (Occam's Razor)

  • design modules to do one thing, be composable, and independent (orthogonal) of each other within the same layer

  • don't compose when you can superimpose components

Rant

We want to avoid superfuous bell and whistles or undecomposable abstractions

Components

We want to explore the following in order of appearance

  • Arch Linux: for better OS component control and package management

  • Go (Golang): an obvious choice and because it's a favorite languages with Haskell, Rust, and C.

  • Docker: to model scalability

  • gRPC: to explore performance

  • etcd: to explore basic clustering

  • Swarm: to explore simple scalability

  • Consul: to explore simple security

  • Vault: to explore improvements to secure key management

  • Prometheus: to

Branching on Subjects

We want to explore a number of subject areas while preserving key steps that exemplify an issue of interest. The Git platform seems ideal for a concrete representation of this.

Exposing Decomposition and Evolution

Often we are presented a system in its current magestic (and sometimes indescipherable) state and wonder how it got there, i.e., what are its essential components, when was each component introduced, etc.

We want to explore security and best practices as we evolve and branch the systems and try to establish a cannonical partial order.

# DMCS - Distributed Minimal Composable Superimposed System 

## Functional Evolution and Branching Tree


   DMCS - (λ: Services Based)
    │
    ├── ReST
    │
    ├── ProtoBuf
    │
    ├── GRPC
    │  
    ├───────────────> DMCSP - (π: Docker-Hashicorp)
    │                   │                                     
    ├── TLS             ├── Docker                            
    │                   │                                     
    ├── SystemD         ├───────────────> DMCSK - (π: Kube-Stack)
    │                   │                   │  
    ├── ETCD            ├── Swarm           ├── Kubernetes    
    │                   │                   │       
    ├──                 ├── Consul          ├── Istio    
    │                   │                   │       
    └─>                 ├── Vault           ├── Prometheus      
                        │                   │       
                        ├── Prometheus      ├──     
                        │                   │       
                        ├──                 └─> 
                        │                                     
                        └─>                           

### Legend:
   λ System  (λ-calculus) is a process/services implementation 
   π Systems (π-calculus) are distributed (containerized) implementations

NON-Functional Components

    Environments:
        Development: Local Arch-Linux Servers Inside  
        Integration & Testing: AZ / AWS / GCP Platforms 
        Production: Same Platforms (may not be needed due to the experimental nature of the project)

    DevOps (Pipelines): AZ DevOps

Directories

Path Synopsis
cmd
grpc
._______.___________________.___________________.___________________.___________________._______; η3», Main,Package
._______.___________________.___________________.___________________.___________________._______; η3», Main,Package
proto
._______.___________________.___________________.___________________.___________________._______; proto.go
._______.___________________.___________________.___________________.___________________._______; proto.go
rest
._______.___________________.___________________.___________________.___________________._______; ITest1_rest.dmcs.go
._______.___________________.___________________.___________________.___________________._______; ITest1_rest.dmcs.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL