Sign in

Designing Architectures

Java has always been seen as a synchronous language. Traditionally, scaling a java web service meant increasing the thread capacity of the server, either by vertically scaling the machine, or increasing the number of servers.

In the last few years, with the popularity of Javascript as the language and Node JS as the platform, asynchronous programming has gained a lot of traction. Node JS makes it seamless to utilize the CPU cycle gone into waiting for a third party call or the database queries. And this non-blocking I/O feature comes out of the box. …


A GitHub App to enforce code commit standards

Commit Message Lint GitHub App
Commit Message Lint GitHub App

GitHub app are one of the preferred and better ways of implementing and improving your workflow. It provides a proven way of intercepting different DevOps phases related to your code and apply various checks. It enables you to perform linting checks, static code analysis, enforce commit strategies, and regulate pull requests. And these are just the most common actions. GitHub provides a variety of events which could be captured and actioned upon. And that is one of the places where you could apply some creativity.

We leveraged this powerful feature of GitHub…


A step-by-step guide to build GitHub Apps and automate our workflow

GitHub Apps are a great way to improve and automate our workflow. They allow us to automate our project workflows and improve the code quality. There are numerous apps already present in the GitHub marketplace. They are also the secure and safer way to allow access to our repository. These apps allow us to add actions in our CI/CD flows like code reviews, PR action, format checks etc.

In this article, we’ll take a look at how we can build our own GitHub app, allowing us to integrate custom…


Building a SaaS with Azure and Java

Software as a Service (SaaS) is now a days the preferred distribution architecture with the widespread adoption of cloud. And one of the challenges that comes along, is handling multi-tenancy. This case study takes you through the challenges we faced while building a SaaS and how we tackled them.

Building a SaaS application involves handling multiple clients, from a single instance of your service. For example, slack or JIRA. Different clients create their own instance on these services.

The challenge with handling multiple clients is keeping client’s data isolated from each other. The simplest way we can think of is…


Does it actually get rid of the servers?

According to a recent report from Gartner, more than 20% of global enterprises will have deployed serverless computing technologies by 2020.

This clearly suggests that serverless is a lot more than a buzzword now. It’s a known cloud computing trend and has already started to revolutionise the world of software architecture. Big vendors, like Amazon, Microsoft and Google are investing heavily in serverless architecture to achieve .

As opposed to its name, a serverless architecture does not actually remove servers from the application. Let’s look at the definition of serverless.

What is Serverless?

Serverless architecture refers to applications which heavily involve the use…

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