Skip to content

jorwalk/reference-architecture

Repository files navigation

Reference Architecture

git commit -m "gcp cloud architect" --date "Wed Jul 03 12:00:00 2019 +0300"

A reference architecture in the field of software architecture or enterprise architecture provides a template solution for an architecture for a particular domain. It also provides a common vocabulary with which to discuss implementations, often with the aim to stress commonality. A software reference architecture is a software architecture[1] where the structures and respective elements and relations provide templates for concrete architectures in a particular domain or in a family of software systems.

Front end

Bootstrap

Examples

Snippets

Material

Examples

Snippets

Cloud-native

Jenkins

12 Factor Microservice

Docker

Elasticsearch

Kibana

Prometheus

Data Science

Python

Weather

Stocks

Visualizations

Machine Learning

Machine learning is a field of computer science that gives computers the ability to learn without being explicitly programmed.

The name Machine learning was coined in 1959 by Arthur Samuel. Evolved from the study of pattern recognition and computational learning theory in artificial intelligence, machine learning explores the study and construction of algorithms that can learn from and make predictions on data – such algorithms overcome following strictly static program instructions by making data-driven predictions or decisions, through building a model from sample inputs. Machine learning is employed in a range of computing tasks where designing and programming explicit algorithms with good performance is difficult or infeasible; example applications include email filtering, detection of network intruders or malicious insiders working towards a data breach, optical character recognition (OCR), learning to rank, and computer vision.

Supervised

UnSupervised

Reinforcement Learning

Common Algorithms

Essentials of Machine Learning Algorithms

Linear Regression

Logistic Regression

Decision Tree

SVM

Naive Bayes

KNN

K-Means

Random Forest

Dimensionality Reduction Algorithms

Gradient Boosting algorithms

GBM

#####XGBoost #####LightGBM #####CatBoost

Cloud-native

DevOps

DevOps is the collaboration between software developers and IT operations with the goal of constantly delivering high-quality software that solves customer challenges. It creates a culture and environment where building, testing and releasing software happens rapidly, frequently, and more consistently.

continuous delivery

Continuous Delivery, enabled by Agile product development practices, is all about shipping small batches of software to production constantly, through automation. Continuous delivery makes the act of releasing dull and reliable, so organizations can deliver frequently, at less risk, and get feedback faster from end users.

microservices

  • 12 Factor App The twelve-factor methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc).

Microservices is an architectural approach to developing an application as a collection of small services; each service implements business capabilities, runs in its own process and communicates via HTTP APIs or messaging. Each microservice can be deployed, upgraded, scaled, and restarted independent of other services in the application, typically as part of an automated system, enabling frequent updates to live applications without impacting end customers.

containers

Containers offer both efficiency and speed compared with standard virtual machines (VMs). Using operating system (OS)-level virtualization, a single OS instance is dynamically divided among one or more isolated containers, each with a unique writable file system and resource quota. The low overhead of creating and destroying containers combined with the high packing density in a single VM makes containers an ideal compute vehicle for deploying individual microservices.

Continuious Delivery

Logging

  • Elasticsearch
  • Splunk

Distributed Tracing

  • Jaeger

About

Template solution for an architecture for a particular domain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published