Introduction As an Architect, when we start working on a new application or solution architecture; we study the requirements and see if the solution requires maintaining a specific set of states to support a business use case that requires maintaining a workflow or a state-machine (Event-Driven). Now, this is the tricky part; many would consider … More The Curious case of Stateful Architecture!
Why Cloud fails? Attempting to migrate to the Cloud without thoughtful planning and adopting the proper Cloud-Native architecture proved to be problematic and dangerous, it could easily lead to the failure of a strategic Cloud Migration initiative. Lightbend recently released their “Cloud Native Adoption Trends” survey, this is Gold, it is an eye opener and … More Bringing sanity back to Cloud Architecture
Few years ago, during an architecture round-table discussion, focusing on building distributed systems, many questions came up regarding distributing computing design patterns which naturally are difficult to implement and get right. Those design patterns are focusing on addressing modern applications use cases where you need to increase performance and cut on the infrastructure cost. Where … More Akka is not a Swedish food, it’s a swiss army knife
During our latest joint webinar with our partner Lightbend, we discussed building future-proof system architecture. This is the link to the webinar recording. We highlighted the importance of architecture flexibility and the role of Reactive Architecture and Cloud-Native architecture in supporting adaptability while achieving resilience and elasticity. We also highlighted the importance of loose coupling … More Why Akka if you have Kubernetes?
Few months ago, in the old world, before the pandemic hits, the retail industry experts were looking for ways to replace the overused expressions “digital transformation”, “digital advantage” and “customer experience” with other creative words. Why? Simply, because it sounded old, just a useless hype and many started to consider this as a merely crying … More The New Norm
Introduction Modern day web applications are increasingly under pressure to provide a richer user experience. Usually those applications start with the ability to support hundreds of concurrent users with few thousands concurrent requests or calls per day, however that could increase to millions if the venture proved to be successful. In such a case, the … More Modern Application Architecture and Java
This is valid for the Play Framework 2.8 Release Introduction Recently, Play Framework added asynchronous processing for blocking operations. JPA operations are generally I/O intensive and is it is one of those blocking operations that Play is recommending to process asynchronously. Play does so, by using Java “CompletionStage” interface and the “CompletableFuture” Future implementation which … More JPA Error-Handling for the Play Framework Asynchronous Setup
Microservices Anti-patterns Microservices architecture has been a dominant architecture style for the last few years, it fits well into the Cloud-native architecture and the agile methodology. The business units are constantly looking for creative ways to support the faster time to market demand; and the Microservices evolution is a big part of that. Lately, many … More MicroSystems Vs. MicroServices
Software Architect, Application Architect, Solution Architect or all of the above? Introduction In the past few years, the information technology and the software development landscape dramatically changed. Advances in computer processors, networking and storage technologies, along with Cloud and mobile; led to the digital transformation evolution and the introduction of plethora of new business use … More The Modern Era Solution Architect
Building Responsive, resilient, elastic, maintainable and extensible systems leads to gaining competitive advantage through faster time to market, improve modern user experience and lower the total cost of building and operating applications. Methods Event driven and message driven architecture Using Asynchronous messaging for inter-service communication and request processing Isolate Everything (Decoupling) Isolate time (eliminate blocking … More Reactive Architecture Quick Reference