System Oriented Programming
Next Evolution of Microservices and Distributed Computing
System Oriented Programming
Architecture Innovation
A novel approach to distributed system design and deployment, implemented entirely in Javascript, representing the next evolutionary step in microservices and distributed computing architecture.
Fundamental building block Is a "system" which has:
Each "system" instance Is a small vertical software stack running in a loosely coupled process that is an independent processing entity (a "system") in a distributed processing environment. The software framework gives programmers explicit and granular control over sharding and partitioning of the distributed data. The software framework also constructs software data processing/caching pipelines to efficiently move data to the CPU core during run-time processing.
The purpose of this technology is to optimize:
Best use cases are enterprise-class applications that support mission critical repetitive business processes. Examples of this are: billing, forecasting, reconcilliation, and other customer care oriented applications.
Emperical results Locality of Reference optimization can reduce I/O wait-states in application layer code by multiple decimal orders of magnitude (compared to a similar legacy application implemented in a relational database). We have customers with production applications that are now running 1,000x to 1,000,000x faster than their legacy application.
Simultaneous innovation System Oriented Programming consists of simultaneous innovations in:
A New Type of App Requires a New Development & Delivery Environment
Minimalist but complete.
Just a sliver A Cloud-Sliver contains just the necessary essence, a sliver, of the massive software infrastructure resident in the cloud and enterprise scale applications.
Reduce need for data centers A Cloud-Sliver instance manages storage and compute resources at a granular scale. A Cloud-Sliver runs on hardware at the network edge or the minimal instance of the cloud. A Cloud-Sliver runs on mobile devices, network hardware, desktop PCs, departmental workstations, and conventional servers in your data center and in the cloud. If the hardware has a processor, some storage, and a network connection -- it can be a Cloud-Sliver resource. Cloud-Sliver enables you to migrate OUT OF DATA CENTERS, reducing your energy footprint.
Distributed processing & storage Cloud-Sliver is a distributed development and delivery software platform. It enables an enterprise application and its databases to be split into dozens, hundreds, thousands, or millions of loosely coupled distributed processing and storage resources. Decentralized, distributed management of these resources so they behave as a coherent whole is an innate capability of each Cloud-Sliver instance.
Development community Cloud-Slivers utilize distributed libraries of features and content for industry specific or use-case specific applications. Business unit and department level resources that understand Javascript programming can contribute to, and make use of, these community libraries to develop and deliver enterprise scale applications in a single business quarter.
10 Million Customer Electric Utility Billing System
Example A medium size 10 million customer billing system is typically deployed on 10 Intel NUC's, each running 40 processes ("systems"), for a total of 400 processes ("systems").
Each Process ("system") Is a small vertical software stack running as a loosely coupled process that is an independent processing entity (a "system") in a distributed processing network.
Data sharding & partitioning Each loosely-coupled system typically hosts 3 types of databases.
Data flow Input data is streamed by the service point DB which guides calculations to produce the output data. This processing is done via a software processing pipeline that optimizes data flow so that data is paged into layer-2 cache immediately prior to a CPU core requiring the next data block from a data stream.
A Journey Worth Taking