WSO2 Identity Server (IS) is a leading API driven, open-source Customer Identity and Access Management (CIAM) product that is easy to use and very versatile in its offering. You can right away start using it for development if you download the product from WSO2 website.

In this brief post, I’m going to show the configuration entries needed to configure OpenLDAP, which is an open source LDAP server, as the primary user store in the WSO2 IS.

WSO2 Identity Server architecture is such that you can configure a single primary user store and multiple secondary user stores in the server. Primary…

Photo by JOHN TOWNER on Unsplash

Today, it wouldn’t be an overstatement if we say all companies are ‘Software Companies’. This is one of the popular phrases that we hear from industry leaders of the likes of Satya Nadella, the CEO of Microsoft. ‘Software is eating the world’ is another comparable phrase coined by Marc Andreesen, the co-founder of VC firm Andreessen Horowitz.

All companies today need and have software to accomplish business operations and digital agility. Company’s need to think about change and more importantly ‘Digital Transformation’ to stay ahead of the competition, meet increasing consumer demands and stay relevant to the state of the…

Photo by Chris Ried on Unsplash

In this post, we’ll dive into GraphQL with a popular python GraphQL library named Graphene.

To start off, you need to have Python installed in your environment. Most Linux OS’s should have python installed already. Otherwise, use the OS package manager to install. For Windows or Mac OS, there are packages that can be downloaded from

GraphQL is a query language that addresses a number of shortcoming of REST APIs. I discussed these points in a previous post. You can find it here.

Installing the required packages

Pip is a package manager for Python. It’s easy to use pip to get Graphene and…

Photo by Ferdinand Stöhr on Unsplash

Software patterns are high-level concepts that can be applied over and over again to a recurring software problem. Software patterns have emerged as solutions after many years of experiences among seasoned professionals for recurring issues in respective domains.

Software Patterns are neither right nor wrong. Patterns are very subjective in nature. A pattern may seem applicable by one architect/designer may not be seen as good enough by another. Mostly, it is the best interest of an individual, a company or a community to adopt to such patterns that drive the application of the pattern. …

In this post, we’ll look at GraphQL. GraphQL was developed in facebook due to shortcomings of REST APIs which was hindering performance and development agility when they were using it in their mobile application. Let’s analyze if we need to embrace GraphQL to reap the benefits as stated or not. First of all, let’s understand what GraphQL is.

GraphQL is a query language for APIs. It’s generally transport agnostic, but usually served in HTTP as is the case with REST APIs as well. Just like SQL for databases, GraphQL is a declarative data fetching language for Inter-Process Communication (IPC) APIs.

Why GraphQL?

Photo by Andrew Childress on Unsplash

In this short refresher guide I’ll showcase ‘Regular Expressions’ (a.k.a regex or regexp) with Python. The reason I chose Python is that, it has a very concise and easy syntax to follow, of course and that we can just experiment using Python interactive shell.

We know that many languages, including C++, Java, Perl, Ruby etc supports regex in some form. There can be minor differences in their syntax based on the regex engines. There are different types of grammars for regular expressions. Examples of such grammars are ECMAScript, POSIX BRE, POSIX ERE, PCRE, GNU BRE, GNU ERE and TCL ARE…


Photo by Patrick Schöpflin on Unsplash

In previous posts on Kubernetes (k8s), I discussed some fundamental concepts here and also looked at the first steps here. In this post, let’s look at replicasets (rs) a bit deeper. Then I’ll also touch upon what daemonsets (ds) and jobs are.

What is a ReplicaSet?

First of all let’s understand what replicasets are and why it’s needed. Pods, as you know are the smallest unit in k8s cluster. k8s doesn’t directly work with containers. It works on an abstraction of containers named pods. Let’s create a pod to start with. In the previous post, I used a YAML definition for pods. Let’s reuse…


Photo by Mario Caruso on Unsplash

Currently we are living in an unprecedented crisis where social distancing has become a necessity. Several vaccines have emerged which might relieve the situation in future, but a life back to normal as it was before the pandemic is likely to take time. A lot of organizations have started adopting their working environments to suit the current situation and looks it is becoming the new normal. Several global giants also announced that they’ll maintain a permanent working from home policy. Companies also adopting to this situation to keep employees at better mental health while ensuring business growth. People at home…

In my previous post I discussed the first steps in kubernetes (k8s). In this post let’s look at how to organize k8s resources. I’ll showcase it with examples with pods.

Mainly there are two ways to organize k8s resources; labels and namespaces. Labels are just key/value pairs that we assign to k8s resources, not just pods. Labels provide a level of organization. When you have, say, hundreds of pods or other resources in your k8s cluster fetching all the resources is going to make it really difficult to see the needed resource information. Having to do operations on certain classes…

Photo by Oliver Pecker on Unsplash

If you are a Software Architect (or even a Solutions or Enterprise Architect for that matter) you’ll come across one important problem that you need to master, day in day out. Making choices and decisions on which technologies to use in your projects; be it in your corporate context, startup, personal projects, and whatnot.

In this post I’m going to touch upon a few key aspects an architect should consider and look into in making a technology selections. By no means this is an exhaustive list of points that an architect needs to consider. There are numerous other factors to…

shazni nazeer

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