Author - Sanatan Waghulkar

Introduction to microservices

Microservices is one of very commonly used terms in the modern era of software development. The service oriented architecture started gaining popularity due to known challenges in legacy monolith applications - challenges such as communication to other applications, ease of maintenance, ease of deployment and so on. Microservices offer multiple advantages over monolith applications - they implement single responsibility principle...

WebSockets

India-Pakistan standing against each other once again for the Asia cup. Luckily the match was on weekends so we got to sit at home and watch. But many times the match is going on and we are working - in such case people prefer opening a site showing live updates of the match. Real time updates is a very common use case...

Considerations for using JWT tokens- Part 2

To cater to this challenge create a blacklist or whitelist the tokens - a stateful JWT token can be implemented. But that again introduces server-side storage. This is nearing the implementation of the Session itself with added payloads as the size of JTW tokens is usually larger than the session Ids. JWTs being more sophisticated, the attack vectors that can be...

Considerations for using JWT tokens- Part 1

In the last post, we did mention that JWT tokens are gaining popularity these days. It's the latest technology and is widely adopted by many well-known platforms. Having said that JWT, being a very recent technology also has its cons that need to be considered when taking the decision of using JWT tokens for Authentication. JWT Tokens are offered compared...

Token based authentication

In the modern digital era, the way web applications are designed and developed has come a long way compared to traditional web applications. Accessing applications or resources is no more limited to computers. Rather mobile devices are being used widely to access websites and resources.  The resources are not necessarily private in nature - and modern-day applications even extend...

Improving performance of APIs

APIs are common if a not inevitable component in most of the application landscapes. APIs have their own benefits of being an idempotent unit of work independent of the rest of the world. But performance is one of the core expectations from any API being developed. Adding resources like CPU, Memory, and Server may not be the right approach...

Dealing with clients for the first time!

The application stopped working - in mid of the demo! I was in the Philippines and all set to win the customer demo. We covered a few screens and to my horror - the application just stopped responding after a few screens! I was relatively novice and quite hesitant to reach out to people of authority like senior management, or customer counterparts. I...

You don’t need a lot of startup capital to build a product

  “Now that I have clarity on the product requirements, we have put together a development plan. I am working on the budgets, looks like we are going to need a lot of money.” Yash started as we found a corner table in the coffee shop. “Yes, you need a lot of capital to build a product, particularly when you have ambitious plans. And it’s not easy...

Multithreading programming- To be or not to be used

Every time we visit a crowded restaurant, it's astonishing to see how the people providing the service work seamlessly to achieve serving so many people at the same time. It is evident that this is possible because a single person performs multiple tasks at the same time saving as much idle time as possible. CPU processing can be imagined analogous...

Best practices for designing scalable software

Trying to make your product scalable? That’s usually an exhaustive task. Making a product scalable really needs detailed attention in the development process. But apart from developing a well-written application code, multiple practices can be followed to enhance the scalability of the product. Here are a few tips: • Ensure Availability: Avoid a single point of failure for your system,...