See the trees for the forest. Get practical and actionable insights into what you need to know to plan and implement microservices effectively.

Planning a microservices-based application — where to start from? This architecture is composed of many aspects; how to break down this decoupled architecture? This article aims to review the planning and implementation considerations of a microservices-based solution. I hope that after reading this article, the picture will be clearer.

Image for post
Image for post

The Gist

Building a viable microservices solution is attributed to the technical platform and…


Apache Nifi comes to mind if you are looking for a simple, but robust, tool to process data from various sources. You want to experiment it but don’t know where to start? This guide is for you.

Image for post
Image for post

The system I work on is about to undergo a significant tech-refresh. The goal is to improve the current hindrances that prevent ingesting more data. The remedy requires a product that receives inputs from external sources, processes them, and disseminates the outcomes to their destinations.

Apache Nifi implements the flow-based programming (FBP) paradigm; it composes of black-box processes that exchange data across predefined connections (an excerpt from Wikipedia).

In short, Apache NiFi is a tool to process and distribute data. Its intuitive UI supports routing definitions, a variety of connectors (in/out), and many built-in processors. …


Short hindsight on the technical blogs I have published in the last two years

Image for post
Image for post

Two years ago, I published my first technical blog.

Back then, my career was on cruise control while I was leading an IT project, I was in a complacent period, and everything was under control. Nevertheless, I felt something was missing; I was doing more of the same. I lacked the enthusiasm I had had until a few months back.

I have never felt such fatigue before; it was totally unfamiliar. Instead of dwelling on this unsatisfying situation, I stopped to think of what can help me fill in the void.

In the beginning, I didn’t know exactly what I…


Are you using C# .NET Tasks ubiquitously? What’s going on under the hood? This article reviews the various threads and thread pools solutions in the .NET framework

Image for post
Image for post

I recently found myself explaining the concept of thread and thread pools to my team. We encountered a complicated threads-problem at our production environment that led us to review and analyse some legacy code. Although it threw me back to the basics, it was beneficial to review .NET capabilities and features in managing threads, which mainly reflected how .NET evolved significantly throughout the years. With the new options available today, tackling the production problem is much easier to cope with.

TL;DR

So, this circumstance led me to write this blog-post to go through the underlying foundations and features of threads and…


In these unusual times, let’s try to zoom out from our daily struggles and find the benefits

Image for post
Image for post

These are times that we are compelled to avoid socialising face-to-face, a fundamental behaviour we have been doing since childhood, and stay at home. Everyone should dwell at his cave, with the nuclear family. That is definitely a drastic change for most of us, which brings many difficulties.

Like any transition, we can try to fight it or choose to accept the situation and mourn; however, not much can be done to change things. We have zero influence on the government’s decisions right now, but we can control our perception and adjustment.

As I try to find the benefits in…


Understanding stream processing using Flink from bottom-up; cloud services and other platforms provide stream processing solutions (for some, Flink is integrated under the hood). If you miss the basics, this guide is for you.

Image for post
Image for post

Our monolith solution does not cope with the increased load of incoming data, and thus it has to evolve. This is the time for the next generation of our product. Stream processing is the new data ingestion paradigm, as compared to the batch processing we’ve implemented so far.

So, my team embarked on processing information using Flink. There is an abundance of articles about Flink’s features and benefits, Cloudera shared an excellent slide about Flink; this article is a practical hands-on guide on how to build a simple stream processing application starting from the basics.

Apache Flink in Two Sentences

Apache Flink is a scalable…


Executing and experiencing, but without shining — what’s the point? Is it better to quit and try another activity than being mediocre?

Image for post
Image for post
Rugby boys (Photo by Bj Pearce on Unsplash)

My son has a weekly rugby training. It started when he requested to try out rugby after watching the last Rugby World Cup, and I jumped on the wagon as I saw an opportunity to instil some discipline in him. So far, over the previous two months, he has persevered these training.

While I was watching him learning some new drills and movements, I started to compare him with the other kids. You can easily see who is performing the plays well and who needs to continue practising. Well, I’ll be honest; my son belongs to the latter.

This understanding…


The book Good to Great lists six concepts that have led companies to surpass their competitors and excel; can individuals benefit from the same ideas too?

Image for post
Image for post

The book Good to Great (by Jim Collins), was hiding at my library for almost a decade. Back then, Elbit Systems, the company I’m working at in the last decade, has handed out this book to all graduates of a Team Leads course. It was forgotten and blended with my other must-read books, while I was focusing on my career and my family. Recently, I encountered this book when I was refreshing my library; this time, the book hooked me.

The book unfolds a comprehensive analysis why some companies have done the transition from being a good company to a…


Reviewing practices to implement and retain AWS S3 security using S3 Access Management, S3 encryption methods, and monitoring tools

Image for post
Image for post

I am an avid follower of AWS Online Tech Talks YouTube channel. It is a useful way to keep being updated with new or existing AWS features and services; I find it helpful to refresh and retain knowledge. Recently I encountered a webinar about AWS S3 security, which triggered me to relook at my S3 policies and settings. I decided to consolidate some S3 security features and properties while adding some examples along with my two cents.

What’s the Incentive?

Typically, on the daily usage of S3, security and permissions are not being changed regularly. In most cases, we set the security definitions…


A deeper dive into API Gateway features that control the target invocations: throttling, using API Keys, and caching

Image for post
Image for post

This post is part of my blog-post series about AWS API Gateway and Lambda functions, but this time the focus is solely on API Gateway. So, after having a working Lambda function behind AWS API Gateway, the next move is to strive to ensure the Lambda function is executed under control.

The gist

We shall focus on three features that can facilitate in controlling the access to an API Gateway method and reduce the number of its target’s invocations:

1. Throttling

A throttling threshold is a combination of the number of calls per second and the number…

Lior Shalom

Technical manager, software development manager, striving for continuous evolvement // Follow me on LinkedIn: https://www.linkedin.com/in/liorshalom/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store