Blogs

Serverless in Java

In Progress... 
The topic that is very close to my heart and wanting to pen my thoughts for long time. 

Being a software architect is not easy but one thing is  guaranteed that the journey will be a fantastic one with it's own share of learnings and un-learnings, in each phase. Through this article I am going to detail out the expectations and responsibilities that is needed while taking up an architect role in each phase, and also provide necessary guidance
Sep  2022
Some use cases fall into a default category of being Serverless, however some are driven primarily based on the characteristics of Serverless and hence it is essential to understand that first and apply accordingly.
October 2021
In the previous article you came across the benefits of Serverless architecture. However, one should realize the challenges/drawbacks that Serverless could bring in and hence the architecture is not ideal for all use cases. It is ideal for specific use cases on which I shall provide more details in the next article
October 2021
Serverless doesn’t mean that ­the code is somehow executed somewhere magically. You still need a Server as runtime environment and necessary computing resources to execute your code. And when there is a Server, you are also responsible for server management and administration including the Configuration, Access Control, Version Upgrades, Tuning, Autoscaling, Load Balancing, Monitoring and Logging, Resource Utilization, etc. With Serverless, all these complexities behind the code execution model is completely abstracted by the cloud provider 
October 2021
A smallest unit of Computing Power is called as Serverless Computing. A computing power is precise amount of resources provided by the underlying infrastructure to execute smallest unit of code written by an Application Developer in order to accomplish execution of the given task, and then disappears right after the usage. 
Serverless Computing is a computing execution model in which allocation of underlying resources is dynamically managed. It abstracts away the infrastructural complexity from the developers, thereby accelerating the development and time-to-market
October 2021
BDD is a process designed to focus on the usage of “Domain Specific Language” by different stakeholders, thereby helping in better collaboration between multiple stakeholders in adding business value. BDD was adapted to overcome the challenges that we had with traditional agile testing, and also to keep the framework and toolset ready to automate functional testing of microservices when we decided to migrate from monolith to microservices. Through this article, I am going to provide insights to the BDD, and the required process and cultural changes that we had to bring in to have our objectives met.
April  2021
In the previous article I documented my thoughts on one of the design principle called "Convention over Configuration". Through this article, I will make an attempt to describe design principles and design patterns and when to apply them on a situational basis. 
November  2020
Convention over Configuration is a design principle applied to define the properties which are environment driven, customization of frameworks, and that will influence the application behaviour. However, I have come across few developers who struggle to understand the importance of it thereby leading to complex setup and management.
June  2020
And there are few myths too that the developers and architects believe in while adapting Microservices architecture pattern. Read this article to know more details about the same.
October 2019
The challenges that one should be aware of before embracing Microservices arhcitecture pattern. Microservices pattern is not go-to solution for all the pain points that one would have with Monolith based applications. Read this article to know more details about the same.
October 2019
Highlight some of the benefits one woukd expect by adapting Microservices architecture pattern. Read this article to know more details about the same.
October 2019
These days it seems as if everyone is talking about microservices, which are at the peak of the technical hype curve. But don’t worry, this is not that “yet another article” that will repeat the basics of microservices; instead, I want to explain the characteristics and the factors that play a key role in successful deployment of microservices.

October 2019
API Management platforms helps in addressing the common functional needs of APIs such as Security, Documentation, Sandboxing, Developer Portal, Monitoring, Auditing, Logging, Usage Metrics, Monetization, Subscription models, etc. These platforms provides high level abstraction to these low level essential needs of API thereby eliminating the complexities involved while building APIs ground up.
April 2019
Guidelines and Best Practices provide fundamental benefits and help to stay at par with industry wide adoption of best practices.
March 2019
Some of the design principles that one should consider while embracing API centric design approach
March 2019
In my previous article, I gave a brief insight to the importance of API Economy and it's role in the Digital Transformation. APIs are considered to be transformative playing an important role in modernizing an enterprise architecture thus enabling Digital Transformation. However, how easy it is to build “API Economy” that one can adapt to overcome the challenges that are there in the existing enterprise technology. Is there any approach? Are there any best practices? 
API Centric Design is a strategy that provides insightful approach to the design, development, testing and provisional aspects of API that one can apply to overcome some of these challenges.
March 2019
APIs (Application Programming Interfaces) are seen as one such way to address the needs of Digital Transformation. They bring new level of connectivity and data sharing between multiple applications, regardless of their platforms, data structures, and underlying technologies. APIs are considered as critical component of enterprise technology enabling organizations in delivering an exceptional customer experience to optimizing internal IT operations, contributing to efficieny, collaboration, growth and innovation, and thereby increasing their revenue streams. This transformation in Software Development has created new economy called API Economy that has become the driving factor of Digital Transformation.
March 2019
Docker is an open source framework (licensed under Apache 2.0 license) that allows Developers to package an application with all of its dependencies (including libraries and binaries) into a standardized unit for software development. 
Docker let developers ship their code in a self-contained runtime environment so that their apps can be easily shipped to different environments
August  2018
Java EE has the most successful set of open standards with rich ecosystem of vendors who not only competed each other but also enabled active participation of the community in defining a solid set of core technologies, toolset and frameworks that enriched many enterprise applications. This is what made Java platform’s domination in enterprise technology. Although Java EE is developed in open source with the participation of the JCP community but many JSR specifications were led by Oracle. This, what many enthusiast including Dr. James Gosling (father of Java) believe that resulted in slow evolution of Java EE and not mature enough to cater the needs of digital transformation initiatives happening in the enterprise technology. 
May 2018
Node.js is an open-source cross-platform JavaScript runtime environment that enables us to write server-side components using JavaScript programming language. Based on Google’s V8 JavaScript Engine, it uses an event-driven, non-blocking I/O model which is ideal for data-intensive real-time applications that run across distributed devices
November 2017