PinnedMicroservices Powered By Domain Driven DesignHave you been finding it difficult to model boundaries of your system’s microservices? Have you been slowed down by the Technical complexity of your codebase? Has your team been stepping on each other’s toes ? If answers to any or many of such questions are yes, then Domain Driven Design…Microservices5 min readMicroservices5 min read
Dec 3, 2020Modular monoliths FTW verses upfront microservicesThis article discusses the differences and similarities between Modular Monolith and Upfront microservices for microservice architecture. Identifying (micro)service boundaries is a challenge and becomes relatively easy as we learn more about the business domain. So we wanted to try a modular monolith (modules within microservice) approach. As the module matures and we see it becoming first class microservice, we can take it out of the modular…Microservices2 min readMicroservices2 min read
Nov 19, 2020What it takes to make successful software projectFollowing are the things I have seen working based on more 2 decades of experience that I have in the software industry. I have worked both on Waterfall and Agile methodologies (Extreme Programming aka XP , Scrum,etc) of software development. Empathy in Team: For any software team where number of…Software Development2 min readSoftware Development2 min read
Nov 15, 2020Distributed Database Systems Part 1 — What’s in your toolkit ?In Distributed System, set of Processes act together to give an illution of single Process. If we had just a single process, we may run of out of cpu, disk, memory, etc and will be unable to do the things which we want to do. …Distributed Systems3 min readDistributed Systems3 min read
Jul 15, 2018Rules for Enterprise Software DevelopmentDo not delete Data or Update the Data Modular code with Modular Database Apply Domain Driven Design Trunk based Development, TDD, Automated functional tests, Continuous Integration and Continuous Delivery Integrate with Third Parties early on Understand the domain and keep learning more about it Service(Micro) based Architecture Empathy within Team Continuous Feedback within Team Showcase of work done every 2 weeks to important stakeholders and if possible end UsersAgile1 min readAgile1 min read
Jun 26, 2017Hexagonal Architecture aka Ports and Adapters For Platform BuildingHexagonal Architecture is defined by Alistair Cockburn @TotherAlistair Hexagonal Architecture is very relevant in Platform Thinking. Core System is designed with Domain Driven Design concepts like bounded context, context maps and Ubiquitous language. Core System sits at middle of hexagon. Microservices will be part of Core System. Any input or…Software Architecture2 min readSoftware Architecture2 min read
Jun 23, 2017(take 1 [:clojure :c# :java :javascript :ruby :scala]) or why clojure?I have used clojure on some of projects in past. I have worked on Java, Ruby, C#, Nodejs projects in past and know fair bit of scala. As I use clojure on projects, I find it very useful language. Appropriate tools are very important to do a job right. This…Programming4 min readProgramming4 min read
Jun 23, 2017Event Sourcing , CQRS And Domain Driven DesignAggregate is Domain Driven Design concept. Aggregate is cluster of object which is treated as one unit for purpose of state change. Invariants applied with Aggregate will be enforced with completion of each transaction. Event Sourcing Event Sourcing is an Architectural Pattern in which state of application is being determined…Software Architecture2 min readSoftware Architecture2 min read
Jun 9, 2017Monolith first or Microservices first!You are good to write #microservices if you can write good monoliths! If you are starting on green field (new domain/ rewriting existing domain) project, it is better to start with monolith. Following are things which will be helpful for development team to keep in mind. Understand THE Domain. Talk…Microservices2 min readMicroservices2 min read