Data consistency in distributed system

In this post, we give a short tutorial on consistency levels - explaining what they do, and how they work. Much of the existing literature and online discussion of consistency levels are done in the context of multi-processor or distributed systems that operate on a single data item at a time, without the concept of a “transaction”. In this post we give some direction for how to think about consistency levels in the context of ACID-compliant database systems.

Ingress vs. Load Balancer in Kubernetes

1. Introduction For many software applications, communicating with external services is necessary to complete their tasks. Whether sending messages or consuming APIs, most applications rely on other systems to function properly.As more and more users move their applications into Kubernetes, providing…

Being Professional Developers – Practicing

All professionals practice their art by engaging in skill-sharpening exercises. Musicians rehearse scales. Football players run through tires. Doctors practice sutures and surgical techniques. Lawyers practice arguments. Soldiers rehearse missions. When performance matters, professionals practice. SOME BACKGROUND ON PRACTICING Practicing…

Leadership : Managers and Tech Leads

TechLeadSkills

No team can function well without a leader, where engineering is almost exclusively a team endeavor. A Manager is a leader of people, whereas a Tech Lead leads technology efforts. Although the responsibilities of these two roles require similar planning skills, they require quite…

Java 8: New Date and Time API

With Java < 8, you would need to write something like: Calendar cal = Calendar.getInstance();cal.set(Calendar.HOUR, cal.get(Calendar.HOUR) + 2);vs. with Java 8: Readability: Calendar.getInstance() is not very well named: it is hard to tell which instance you are getting without reading…

Docker: Why are containers important?

These days, the time between new releases of an application become shorter and shorter, yet the software itself doesn’t become any simpler. On the contrary, software projects increase in complexity. Thus, we need a way to tame the beast and…

Docker: The Moby project, Docker products

Originally, when Docker (the company) introduced Docker containers, everything was open source. Docker didn’t have any commercial products at this time. The Docker engine that the company developed was a monolithic piece of software. It contained many logical parts, such…

Docker : What are containers?

A software container is a pretty abstract thing, so it might help if we start with an analogy that should be pretty familiar to most of you. The analogy is a shipping container in the transportation industry. Throughout history, people…

Git : What is Git

Version control Let’s begin our exploration of Git, by gaining an understanding of what it is and what it can do for you. Git is software that keeps track of changes that you make to files and directories. And it’s…

Java Lambda Expressions

This post explores Oracle’s Java 8 specification for lambda expression , the syntax and use cases. Lambda expressions can be used as method arguments or to iterate, filter, and extract data from a collection.