Load Balancing - A Balancing Act

Load balancing is a technique used to distribute network or application traffic across a number of servers. Load balancers can be used to distribute traffic for a variety of applications, including web servers, databases, and file servers. They can also be used to distribute traffic for different types of traffic, such as HTTP, HTTPS, and DNS. Load balancing is important because it helps to improve the performance, reliability and security of applications. By distributing traffic across multiple servers, load balancing can help to prevent any single server from becoming overloaded. This can improve performance by ensuring that requests are processed quickly and efficiently. Load balancing can also help to improve reliability by preventing a single server failure from taking down an entire application or website. Finally, load balancing can help to improve security by making it more difficult for attackers to exploit a single server.

Read More

Mesmerising Mountains - Our trip to Gangtok & Darjeeling

This is a guest post from my daughter

Our trip to Gangtok started with a lot of excitement and anxiety. Our cab driver was late to pick us up from home, so we had to rush to the airport. At the airport, we met Dipu uncle and his family, who were also going to Gangtok with us. We boarded the flight to Bagdogra just in time, after a confusion with change of gates at the last moment by the airlines company. The flight was smooth and we enjoyed the view of the mountains from the window. We landed in Bagdogra ahead of time and collected our checked-in bags. Since Bagdogra is a military airport, we were asked not to take any pictures in the airport. After landing in Bagdogra, we took a taxi to Gangtok. On the way, we stopped at Santa Banta Dhaba, where we had some delicious breakfast. The drive was very long, about five hours, but we had fun chatting along the way. Finally, we reached Gangtok and checked into our hotel – “The Muscatel Grand Silk Route”. The hotel was a nice and comfy, but the road leading to the hotel was anything but. The 200m of the road from MG Marg to the hotel was a steep downward section with a shard hairpin bend included. Anyone who learns to drive in Gangtok is surely an expert!

Read More

Crossing the Bridge - Challenges of transitioning from an Individual Contributor to Management Role

Many IT professionals dream of one day becoming a manager. After all, managers have more responsibility, more opportunities for growth and often earn more money. But not everyone is prepared for the challenges and trade-offs that come with this career move. The reality is that moving from an individual contributor (IC) role to a management one is hard and it requires you to make sacrifices and step outside your comfort zone. There’s a reason that some engineers hesitate to accept or pursue management roles, even when part of them wants that role. As somebody who has made that transition, here are some of the challenges that I faced.

Read More

Modernizing the Beast

Legacy software is a critical part of many businesses and in many cases there is no business without legacy software. Legacy systems are often referred to as “legacy” because they’re built using old and outdated technology, however it does not mean that these systems do not provide value.

Read More

Agility in Software Architectures

Agile software architecture is a way of designing and developing software systems that embraces change, feedback, and collaboration. It is based on the idea that architecture is not a fixed and upfront activity, but rather an ongoing and emergent process that evolves with the needs of the customers and the environment. Agile architecture aims to balance several aspects of software development, such as functionality, quality, performance, scalability, security, usability, and maintainability. It also considers other factors that affect the delivery of software solutions, such as testability, deployability, operability, and observability. Agile architecture follows some key principles and practices that guide its implementation. Some of these are:

Read More

Software Architectures

Software architecture is the high-level design of a software system that defines its components, interactions, and properties. Software architecture evolves over time to cope with changing requirements, technologies, and challenges. In this essay, I will briefly describe some of the main phases of software architecture evolution.

Read More