Home » Software Development

Software Development

Architecture Decisions in a Software Development Team

Every type of work needs some structure for things to go smoothly. In software development projects, an important part of this structure is the architecture of the software we’re building. Architecture describes the building blocks of our software and how they work with each other. If every team member builds the blocks as he or she thinks best, it may ...

Read More »

Behavioural Design Patterns: Command

Previously we used the Chain of Responsibility pattern in order to handle a complex problem with road incidents in a region, solving the problem in the first place or forwarding it to another incident handler. The command pattern is quite different to the cor pattern since it helps us in order to delegate an action/request to another object capable of ...

Read More »

Use Custom Packet Framing for Microservices Messaging

In my previous article, you looked at why forcing communication between microservices, using REST JSON endpoints, is not always the best approach. In this article, I will outline an example custom framing solution that you can extend for your own projects. Due to the complexity of creating useful framing, implementing the frame will be covered in my next article. Example ...

Read More »

Behavioural Design Patterns: Chain of Responsibility

We had a look on creational design patterns and structural design patterns. On this blog we will focus on behavioural design patterns. From wikipedia Behavioural design patterns are design patterns that identify common communication patterns between objects and realise these patterns. By doing so, these patterns increase flexibility in carrying out this communication. Creational design patterns realise the creation of ...

Read More »

Microservice Vs Monolith: Which one to Choose?

“Microservice” is a Buzzword in the industry right? Apart from Microservice, design rest of the design marked as “Monolith”. But as an architect, when you are trying to create a new Software based on a specific Domain what will you do? Adopt Microservice without judging anything as this is the hit one,  every one runs behind it or just stop ...

Read More »

Charting PagerDuty Incidents over Time (using pandas)

We churn out charts for board meetings to show the health of our system (uptime, etc.). Historically, we did that once per quarter, manually.  Recently, I endeavored to create a live dashboard for the same information, starting with production incidents over time. We use PagerDuty to alert on-call staff.  Each incident is stored in PagerDuty, which is queryable via the PagerDuty ...

Read More »

Microservices for Java Developers: Monoglot or Polyglot?

1. Introduction Along the previous parts of the tutorial we have talked quite a lot about the benefits of the microservice architecture. It is essentially a loosely coupled distributed system which provides a particularly important ability to pick the right tool for the job. It could mean not just a different framework, protocol or library but a completely different programming ...

Read More »