<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rinor Maloku</title><link>https://rinormaloku.com/</link><description>Recent content on Rinor Maloku</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 22 Oct 2026 12:00:00 +0000</lastBuildDate><atom:link href="https://rinormaloku.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Parallel-Flowing and the shrinking Flow zone</title><link>https://rinormaloku.com/collapsing-flow-zone/</link><pubDate>Sun, 05 Jul 2020 17:41:40 +0000</pubDate><guid>https://rinormaloku.com/collapsing-flow-zone/</guid><description>Let’s explore how being in the “Zone” or being in “Flow” ain’t static and changes throughout your career. Prerequisite to getting into Flow Short feedback loops sets Software Engineering apart from every other profession. Just take a second and think about it. A Cellular Bioengineer applies a substance to a set of cells and has</description></item><item><title>Routing with the Envoy proxy in under 10 minutes</title><link>https://rinormaloku.com/routing-envoy-10-minutes/</link><pubDate>Mon, 11 Feb 2019 00:12:36 +0000</pubDate><guid>https://rinormaloku.com/routing-envoy-10-minutes/</guid><description>Learn the elements of the Envoy Proxy by getting a microservice application up and running and configuring the routes to every service, in less than 10 minutes.</description></item><item><title>Authentication in Istio</title><link>https://rinormaloku.com/authentication-in-istio/</link><pubDate>Mon, 21 Jan 2019 11:27:10 +0000</pubDate><guid>https://rinormaloku.com/authentication-in-istio/</guid><description>I would have never believed that I would be excited about Authentication and Authorization. What on the technological spectrum could Istio possibly do to make me excited about these dreadful topics, and more importantly why should it excite you as well? Because, Istio takes these responsibilities from our services and offloads them to the Envoy</description></item><item><title>Authorization in Istio</title><link>https://rinormaloku.com/authorization-in-istio/</link><pubDate>Mon, 21 Jan 2019 11:26:51 +0000</pubDate><guid>https://rinormaloku.com/authorization-in-istio/</guid><description>Authorization with Auth0 Authentication enables us to know who a user is, but we need the authorization to know what they can access. Istio provides the tools for this as well! As an example, we’ll create two groups of users (shown in figure 24): Users: with access to only the SA-WebApp and SA-Frontend service. Moderators:</description></item><item><title>Istio series Summary</title><link>https://rinormaloku.com/summary/</link><pubDate>Tue, 08 Jan 2019 00:17:48 +0000</pubDate><guid>https://rinormaloku.com/summary/</guid><description>Tap yourself on the back, you are amazing for sticking with this it definitely wasn’t easy, there were bumps along the way and it wasn’t as smooth as I presented. But now you mastered this amazing technology! Istio? Let’s call it Beast-io!! Because it’s such a BEAST! It provided us with: Observability over our services</description></item><item><title>Timeouts, Retries and CircuitBreakers with Istio</title><link>https://rinormaloku.com/timeouts-retries-circuitbreakers/</link><pubDate>Mon, 07 Jan 2019 22:57:29 +0000</pubDate><guid>https://rinormaloku.com/timeouts-retries-circuitbreakers/</guid><description>It’s not always that the code is buggy. In the list of “The 8 fallacies of distributed computing” the first fallacy is that “The network is reliable”. The network is definitely NOT reliable, and that is why we need Timeouts and Retries. For demonstration purposes, we will continue to use the buggy version of sa-logic, where</description></item><item><title>Canary Deployments with Istio</title><link>https://rinormaloku.com/canary-deployments-practice/</link><pubDate>Mon, 07 Jan 2019 21:54:57 +0000</pubDate><guid>https://rinormaloku.com/canary-deployments-practice/</guid><description>Canary Deployment is the process of rolling out a new version of an application to a small set of users, as a step to verify the absence of issues, and then with a higher assurance of quality release to the wider audience. Let’s continue with the same buggy subset of sa-logic to demonstrate canary deployments,</description></item><item><title>Shadowing – VirtualServices in Practice</title><link>https://rinormaloku.com/shadowing-virtualservices-practice/</link><pubDate>Mon, 07 Jan 2019 00:36:33 +0000</pubDate><guid>https://rinormaloku.com/shadowing-virtualservices-practice/</guid><description>Shadowing or Mirroring is used when we want to test a change in production but not affect end-users, so we mirror the requests into a second instance that has the change and evaluate it. To phrase it simpler it’s when one of your colleagues picks the most critical issue and makes a Big ball of</description></item><item><title>A/B Testing – DestinationRules in Practice</title><link>https://rinormaloku.com/b-testing-destinationrules-practice/</link><pubDate>Mon, 07 Jan 2019 00:04:20 +0000</pubDate><guid>https://rinormaloku.com/b-testing-destinationrules-practice/</guid><description>Traffic Management Using the Envoy’s Istio provides a host of new capabilities to your cluster enabling: Dynamic request routing: Canary deployments, A/B testing, Load balancing: Simple and Consistent Hash balancing Failure Recovery: timeouts, retries, circuit breakers. Fault Injection: delays, abort requests etc. In this series, we will showcase these capabilities in our application and get</description></item><item><title>Istio out of the box: Kiali, Grafana &amp; Jaeger</title><link>https://rinormaloku.com/istio-box-kiali-grafana-jaeger/</link><pubDate>Sat, 05 Jan 2019 16:00:34 +0000</pubDate><guid>https://rinormaloku.com/istio-box-kiali-grafana-jaeger/</guid><description>Istio features out of the box By intercepting all network communication Istio is fed with metrics and data that can be used to gain observability of the whole application. Kiali, an open source project uses this data to provide the answer to the question: What microservices are part of my Istio service mesh and how</description></item><item><title>Istio in Practice – Routing with VirtualService</title><link>https://rinormaloku.com/istio-practice-routing-virtualservices/</link><pubDate>Sat, 05 Jan 2019 12:19:03 +0000</pubDate><guid>https://rinormaloku.com/istio-practice-routing-virtualservices/</guid><description>The VirtualService resource The VirtualService instructs the Ingress Gateway how to route the requests that were allowed into the cluster. For our application requests coming through the http-gateway must be routed to the sa-frontend, sa-web-app and sa-feedback services (shown in figure 1). Let’s break down the requests that should be routed to SA-Frontend: Exact path</description></item><item><title>Istio in Practice – Ingress Gateway</title><link>https://rinormaloku.com/istio-practice-gateways/</link><pubDate>Sat, 05 Jan 2019 11:17:57 +0000</pubDate><guid>https://rinormaloku.com/istio-practice-gateways/</guid><description>Intro to Ingress Gateway A best practice for allowing traffic into your cluster is through Istio’s Ingress Gateway which positions itself at the edge of the cluster and on incoming traffic enables Istio’s features like routing, security, monitoring. During Istio’s installation, the Ingress Gateway component and a service that exposes it externally were installed into</description></item><item><title>Getting started with Istio</title><link>https://rinormaloku.com/getting-started-istio/</link><pubDate>Sat, 05 Jan 2019 09:58:42 +0000</pubDate><guid>https://rinormaloku.com/getting-started-istio/</guid><description>To set up Istio you need a Kubernetes Cluster with at least 4 vCPU and 8 GB of RAM. This guide is tested with the following Kubernetes Implementations: Google Container Engine (GKE) Azure Kubernetes Service (AKS) Digital Ocean (20 days free Kubernetes link) After creating the cluster and configuring access with the Kubernetes command line</description></item><item><title>Istio an introduction</title><link>https://rinormaloku.com/istio-an-introduction/</link><pubDate>Sun, 23 Dec 2018 19:46:57 +0000</pubDate><guid>https://rinormaloku.com/istio-an-introduction/</guid><description>Foreword In the projects that we use Kubernetes, as the number of Services increased we started to lose observability and control. So I explored Istio, and before just jumping into it and having everything in production, I updated my sample application from the series Kubernetes and everything else and tested Istio out, and then got it</description></item><item><title>Kubernetes Volumes – in Practice</title><link>https://rinormaloku.com/kubernetes-volumes-in-practice/</link><pubDate>Sat, 22 Dec 2018 19:52:54 +0000</pubDate><guid>https://rinormaloku.com/kubernetes-volumes-in-practice/</guid><description>A simple, digestible and enjoyable introduction to Kubernetes Volumes, by using the already familiar Sentiment Analysis microservice application.</description></item><item><title>Get started with Azure Search in 10 minutes</title><link>https://rinormaloku.com/azure-search-quickly/</link><pubDate>Tue, 13 Mar 2018 21:30:34 +0000</pubDate><guid>https://rinormaloku.com/azure-search-quickly/</guid><description>Problem Azure Search sounds nice and everything, but I need an Azure Search quick setup so that I can play around with it. For those new to Azure Search, read up in the official documentation, there is also a great video. Solution Azure Search enables indexing of a Database, be it SQL or NoSQL, and then enables</description></item><item><title>Kubernetes and everything else in Practice</title><link>https://rinormaloku.com/kubernetes-everything-else-practice/</link><pubDate>Sun, 11 Feb 2018 01:57:10 +0000</pubDate><guid>https://rinormaloku.com/kubernetes-everything-else-practice/</guid><description>The last article of the series “Kubernetes and everything else”, here we tie everything together once and for all, we cover everything from code and up to the deployment in Kubernetes. And some closing words for going together through the series.</description></item><item><title>Kubernetes in Practice – Deployments</title><link>https://rinormaloku.com/kubernetes-in-practice-deployments/</link><pubDate>Sat, 10 Feb 2018 21:34:32 +0000</pubDate><guid>https://rinormaloku.com/kubernetes-in-practice-deployments/</guid><description>Kubernetes Deployments help us with one constant in the life of every application, and that is change. Moreover, the only applications that do not change are the ones that are already dead, and while not, new requirements will come in, more code will be shipped, it will be packaged, and deployed. And on each step</description></item><item><title>Kubernetes in Practice – Services</title><link>https://rinormaloku.com/kubernetes-in-practice-services/</link><pubDate>Sat, 10 Feb 2018 18:03:56 +0000</pubDate><guid>https://rinormaloku.com/kubernetes-in-practice-services/</guid><description>In the last article Kubernetes in Practice – Pods, we started two pods (sa-frontend and sa-frontend2) and we were left with two requirements, which will be the topic of this article: Exposing the services (running in the pods) externally, and Load balancing between them. The Kubernetes Service resource acts as the entry point to a set of</description></item><item><title>Kubernetes in Practice – Pods</title><link>https://rinormaloku.com/kubernetes-practice-pods/</link><pubDate>Fri, 09 Feb 2018 21:47:43 +0000</pubDate><guid>https://rinormaloku.com/kubernetes-practice-pods/</guid><description>We covered how to run the Microservices in separate containers in these two articles Container-ization of the Services and Container-ization of everything else, and it was a cumbersome process, but it worked (see fig. 1.). Additionally, we mentioned that this solution is not scalable or resilient and that Kubernetes will resolve these issues. So in this article</description></item><item><title>Introduction to Kubernetes</title><link>https://rinormaloku.com/introduction-to-kubernetes/</link><pubDate>Fri, 09 Feb 2018 12:54:37 +0000</pubDate><guid>https://rinormaloku.com/introduction-to-kubernetes/</guid><description>What is Kubernetes, what are the features it has and as always explained simply. This part is a continuation of the Series “Kubernetes and everything else” that builds an microservice application up, containerizes it and then deploys it to Kubernetes. Best source to learn Kubernetes and the context it is in.</description></item><item><title>Container-ization of everything else</title><link>https://rinormaloku.com/container-izing-everything-else/</link><pubDate>Fri, 09 Feb 2018 11:55:26 +0000</pubDate><guid>https://rinormaloku.com/container-izing-everything-else/</guid><description>Let’s continue where we left off, creating the Images for the Java and Python Applications. And then we will verify that everything works together. Then we are ready to continue with the most important part Kubernetes.</description></item><item><title>Container-ization of the Services</title><link>https://rinormaloku.com/docker-ization-of-the-services/</link><pubDate>Fri, 09 Feb 2018 11:21:51 +0000</pubDate><guid>https://rinormaloku.com/docker-ization-of-the-services/</guid><description>Learn Docker basics and how to define, build and push your docker container that serves static files using the Nginx WebServer. This article is from the “Kubernetes and everything else” series and will be of prime importance to understand how Kubernetes works.</description></item><item><title>Setting up the Python Application</title><link>https://rinormaloku.com/setting-up-python-application/</link><pubDate>Thu, 08 Feb 2018 22:20:24 +0000</pubDate><guid>https://rinormaloku.com/setting-up-python-application/</guid><description>To start the Python application we need to have Python3 and Pip installed (their environment variables need to be set up as well). Installing Dependencies Navigate in the CMD to the directory sa-logic/sa (repo) and type the following command: $ python -m pip install -r requirements.txt $ python -m textblob.download_corpora Starting the app Pip installs the dependencies</description></item><item><title>Setting up the Spring WebApplication</title><link>https://rinormaloku.com/preparing-spring-webapplication/</link><pubDate>Sun, 04 Feb 2018 14:16:58 +0000</pubDate><guid>https://rinormaloku.com/preparing-spring-webapplication/</guid><description>To start up the Spring application we need to have JDK8 and Maven installed (their environment variables need to be set up as well). After installing those we will continue to the next part. Packaging the Application into a Jar Navigate in your Terminal to the directory sa-webapp (repo) and type the following command: $ mvn</description></item><item><title>Setting up the React Application</title><link>https://rinormaloku.com/setting-up-react-application/</link><pubDate>Sun, 04 Feb 2018 12:00:16 +0000</pubDate><guid>https://rinormaloku.com/setting-up-react-application/</guid><description>Setting up React for Local Development To start up the React application we need to have NodeJS and NPM installed on our computer. After installing those navigate with your Terminal to the directory sa-frontend (clone the repo) and type the following command: $ npm install This downloads all the Javascript libraries required by the React Application and</description></item><item><title>Introduction and Application Architecture</title><link>https://rinormaloku.com/introduction-application-architecture/</link><pubDate>Tue, 23 Jan 2018 01:28:55 +0000</pubDate><guid>https://rinormaloku.com/introduction-application-architecture/</guid><description>Foreword This series is created from my notes and small projects that I used to introduce clients to Kubernetes. After browsing the web I was puzzled that there are no good beginner-friendly resources online. To be more accurate: There are great resources for learning Kubernetes concepts and commands (The Interactive Tutorial) and A myriad of resources for</description></item><item><title>Internal Loadbalancers with Application Gateway (AKS)</title><link>https://rinormaloku.com/prohibiting-direct-access-microservices-aks/</link><pubDate>Wed, 17 Jan 2018 18:59:44 +0000</pubDate><guid>https://rinormaloku.com/prohibiting-direct-access-microservices-aks/</guid><description>Manage access to microservices in Azure Container Services (AKS) using an Application Gateway and Internal LoadBalancers for AKS. Managing access provides us the ability to secure your application with SSL Certificates and Web Application Firewall.</description></item><item><title>Scale up Kubernetes cluster in Azure</title><link>https://rinormaloku.com/scale-kubernetes-nodes-azure/</link><pubDate>Sun, 14 Jan 2018 18:32:06 +0000</pubDate><guid>https://rinormaloku.com/scale-kubernetes-nodes-azure/</guid><description>Scale up your Kubernetes cluster in Azure, by updating the ARM templates generated by acs-engine.</description></item><item><title>Hide sensitive data in ACS-Engine templates</title><link>https://rinormaloku.com/hide-sensitive-data-in-acs-engine-templates/</link><pubDate>Sat, 13 Jan 2018 22:17:14 +0000</pubDate><guid>https://rinormaloku.com/hide-sensitive-data-in-acs-engine-templates/</guid><description>ACS-Engine generates ARM Templates for setting up docker enabled clusters. Those ARM Templates contain sensitive information which can be securely referenced using the KeyVault service. Thus enabling sharing and keeping the templates in the team code repository.</description></item><item><title>About me</title><link>https://rinormaloku.com/me/</link><pubDate>Fri, 12 Jan 2018 22:43:08 +0000</pubDate><guid>https://rinormaloku.com/me/</guid><description>&lt;p&gt;I&amp;rsquo;m Rinor. I write here to share the things I have tried and the things that turned out to work well.&lt;/p&gt;
&lt;p&gt;Lately, I&amp;rsquo;m mostly curious about the plumbing behind AI agents. At Solo.io, I build an event-driven agentic harness. Here I share how agents pass messages, manage context, stay stateless and keep humans in the loop, and how to make a harness more efficient with Code Mode, tool preloading and decision models. I&amp;rsquo;ve also been poking around the unsolved parts of the Model Context Protocol, especially authorization: how an agent acts on someone&amp;rsquo;s behalf with narrow permissions. On the side, I maintain &lt;a href="https://github.com/rekog-labs/MCP-Nest"&gt;MCP-Nest&lt;/a&gt;, a NestJS framework for MCP servers, and I tinker with retrieval, reranking, and low-latency voice interfaces.&lt;/p&gt;</description></item></channel></rss>