joubin's Kardz


EAV Model

The Entity-Attribute-Value model or EAV is also sometimes referred to at the Object-Attribute-Value Model, or even the Open Schema.

This is a data model that is often used in instances where the amount of attributes, properties, or parameters that can be used to define an entity are potentially limitless.

Attributes are defined disconnected from entities. The values table link back to the attribute and the entity itself.

http://www.learn.geekinterview.com/it/data-modeling/entity-attribute-value-eav.html

Shared by joubin on Fri Jan 26 2018

Browser Service Worker

A service worker is a script that your browser runs in the background, separate from a web page.

They don't need a web page or user interaction.

Examples of background tasks are:

  • Push Notifications
  • Background Sync

The reason this is such an exciting API is that it allows you to support offline experiences.

https://developers.google.com/web/fundamentals/primers/service-workers/

https://developers.google.com/web/ilt/pwa/introduction-to-service-worker

Shared by joubin on Tue Apr 17 2018

Manifest file

A manifest file, in computing, is a file containing metadata for a group of accompanying files that are part of a set or coherent unit.

For example, an executable binary file of a computer program may have a manifest describing the name, version number, license and the constituting files of the program.

The term is borrowed from a cargo shipping procedure, where a ship manifest would list the crew and/or cargo of a vessel.

https://en.wikipedia.org/wiki/Manifest_file

Shared by joubin on Mon Apr 16 2018

Cognitive Scale Cortex

CognitiveScale Cortex 5 simplifies design, development, delivery, and management of enterprise-grade AI systems that weave knowledge and learning across the enterprise—from front office to back office to mission critical core functions.

https://medium.com/fast-company/this-is-the-worlds-first-graphical-ai-interface-75cc11202168

https://www.cognitivescale.com/products/

Shared by joubin on Sun Apr 08 2018

Docker swarm mode

Swarm mode refers to cluster management and orchestration features embedded in Docker Engine. When you initialize a new swarm (cluster) or join nodes to a swarm, the Docker Engine runs in swarm mode.

https://docs.docker.com/glossary/?term=swarm%20mode

Shared by joubin on Fri Jan 12 2018

Kubernetes vs Docker Swarm

Kubernetes is a full-fledged container orchestration system that includes a scheduler, health checks, rolling upgrades, autoscaling, etc. whereas Docker Swarm is mainly about providing a cluster-wide view of a single Docker engine.

https://www.quora.com/What-are-the-pros-and-cons-of-Google-Kubernetes-vs-Docker-Swarm

Shared by joubin on Fri Jan 12 2018

Compiler parts

Every Compiler has two parts:

1. Front end (lexical analysis, parsing)

1.5 Optimizer (Optimizing abstract syntax tree)

2. Back end (machine code generation)

Front end (e.g. Clang) takes the source code and generates abstract syntax tree (LLVM IR).

Optimizer takes the LLVM IR and generates more optimized code using dead code elimination, constant propagation and other techniques ( Optimizing compiler ).

The back end takes optimzed IR and generates machine code specific to CPU ( X86, PowerPC, ARM ).





Shared by joubin on Tue Mar 06 2018

Blue-Green Deployment

The Blue-Green Deployment is a technique for releasing your application in a predictable manner with the goal of reducing any downtime associated with a release.

The point is that at any given time, only one version of the application is serving client.

Contrast this with rolling-updates type of deployment.

It’s a quick way to prime your app before releasing, and also quickly roll back if you find issues.

http://blog.christianposta.com/deploy/blue-green-deployments-a-b-testing-and-canary-releases/

Shared by joubin on Sat Feb 03 2018

Kubernetes (K8s)

Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts, providing container-centric infrastructure.

https://kubernetes.io/docs/whatisk8s/

Shared by joubin on Tue Feb 21 2017

GlusterFS

GlusterFS as a persistent data store for Kubernetes container applications.

It's an open-source software-based network-attached filesystem that deploys on commodity hardware.

After RedHat acquired the company, it was first marketed as Red Hat Storage Server, but in early 2015 renamed to be Red Hat Gluster Storage

https://en.wikipedia.org/wiki/Gluster

Shared by joubin on Sat Jan 13 2018

Docker Containers

Containers are simply a collection of "development code + depenencies". This is the same as saying that containers are a collection of "executable application + the dependencies".

A container runs on top of a container-runtime.

The container-runtime runs on top of the Kernel/OS/Hardware.

Contrast this with Hypervising setup.





Shared by joubin on Sat Jan 27 2018

Kubernetes etcd

etcd is a consistent and highly-available key value store used as Kubernetes' backing store for all cluster data.

etcd is a persistent, lightweight, distributed, key-value data store developed by CoreOS that reliably stores the configuration data of the cluster, representing the overall state of the cluster at any given point of time.

Other components watch for changes to this store to bring themselves into the desired state.

https://en.wikipedia.org/wiki/Kubernetes

Shared by joubin on Sat Feb 03 2018

boot2docker

boot2docker is a lightweight Linux distribution based on Tiny Core Linux made specifically to run Docker containers.

It runs completely from RAM, ~27MB in size and boots in ~5s (YMMV).

http://boot2docker.io/

Shared by joubin on Sun Mar 04 2018

GDPR

The General Data Protection Regulation (GDPR) (Regulation (EU) 2016/679) is a regulation by which the European Parliament, the Council of the European Union, and the European Commission intend to strengthen and unify data protectionfor all individuals within the European Union (EU).

It also addresses the export of personal data outside the EU.

GDPR regulates how we can process personal data.

https://en.wikipedia.org/wiki/General_Data_Protection_Regulation

Shared by joubin on Mon Mar 05 2018

localkube

Minikube uses localkube for running the cluster.

localkube was originally written and donated to this project by RedSpread.

Minikube uses libmachine for provisioning VMs.





Shared by joubin on Sun Mar 04 2018

Kubernetes Services

A Kubernetes Service is an abstraction which defines a logical set of Pods and a policy by which to access them - sometimes called a micro-service.

The set of Pods targeted by a Service is (usually) determined by a Label Selector.

Kubernetes Services are needed due to the ReplicationController createing/scaling up various Pods and assigning them their IP Address.

https://kubernetes.io/docs/concepts/services-networking/service/





Shared by joubin on Sun Mar 04 2018

Kubernetes Pods

Kubernetes Pods are mortal.

ReplicationControllers create and destroy Pods dynamically (e.g. when scaling up or down or when doing rolling updates).

Each Pod gets its own IP address on each create.

https://kubernetes.io/docs/concepts/services-networking/service/

Shared by joubin on Sun Mar 04 2018

Protected B

Protected B (Particularly Sensitive protected information): is used to protect information that could cause severe injury or damage to the people or group involved if it was released. Examples include medical records, annual personnel performance reviews, income tax returns, etc.

https://en.wikipedia.org/wiki/Classified_information





Shared by joubin on Fri Mar 02 2018

What are Containers?

A docker container is an isolated, resource controlled and portable operating environment.

Operating Environment = ON

A container provides an environment where an application can run without affecting the rest of the system and without the system affecting the application.

Shared by joubin on Tue Feb 27 2018

Status of a Pod in K8s

# Gets the status of a Pod in K8s
kubectl get pod <name>

Shared by joubin on Wed Feb 28 2018