Discovering Open Source Projects

Go (Golang)

Go is a compiled programming language. Like all others, it wants to be "better than C." The language development is supported by Google (the creators of the language are Rob Pike, Robert Griesemer and Ken Tompson).
Go is completely open-source, and a large number of people not from Google also take part in its development. I got interested in the language because of its simplicity and unusual approach to OOP and multithreading. 

The main advantages of Golang:

  • Simple and clear syntax
  • Excellent performance
  • Rich standard library
  • Highly Concurrent
  • Go compiler (Error checking, cross-compiling)
  • Open source
  • Charming logo
So looking for an open source project, I found 3 that might be interesting to contribute to: 
  1. Kubernetes
  2. Itsio
  3. Moby 

Kubernetes

What is Kubernetes? 

"Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem"

The project is designed to manage a cluster of Linux containers as a single system. Kubernetes manages and runs Docker containers on a large number of hosts, and also provides co-location and replication of a large number of containers. The project was launched by Google and is now supported by many companies, including Microsoft, RedHat, IBM and Docker.

What does it provide?
  • a container platform
  • a microservices platform
  • a portable cloud platform and a lot more

Moby

What is Moby?

Moby’s original announcement compared it with a Lego's set of dozens of components and a framework for assembling them into sets. Explaining their intentions, the authors spoke about the desire to "develop the movement of containerization of software and encourage the ecosystem to accept containers as a mainstream."
In a more pragmatic sense, Moby turned out to be a framework that provides:
  • a library of containerized components for all vital aspects of the container system
  • tools for assembling components into running artifacts for the entire supported set of platforms and architectures
  • a set of reference kits called Moby Origin, which can be used either as is, or by modifying, or for an example to create your own versions.
As is the case with Docker itself, the Moby project is designed to provide a flexible solution, the design of which follows strict guidelines. Those are:
  • All components needed to create a complete container system are available, but are replaceable due to the modular architecture. 
  • Security is provided by default without compromising usability.
  • Container Orientation: "Moby is created with containers and for launching containers."

Istio

What is Istio? 

This is the so-called Service mesh, a technology that adds a layer of abstraction over the network. We intercept all or part of the traffic in the cluster and perform a certain set of operations with it. It is a complete framework for connecting, managing and monitoring the microservice architecture. Istio is designed to work on top of Kubernetes. It itself does not deploy software and does not care to make it available on the machines that we use for this purpose with containers in Kubernetes. For example, we want to do smart routing, we can organize “canary deployment”, partially switching traffic to a new version of the service, and we can limit external interactions and monitor all hikes from the cluster to the external network. It is possible to set policy rules to control hikes between different microservices. Finally, we can get the entire map of interaction over the network and make a unified collection of metrics completely transparent to applications.




Comments

Popular posts from this blog

fs.rmdir() vs fs.rmdirSync() in Node.js

Final Summary Blog Post