◦ Unpacking Strategic DDD vs Tactical DDD The follow topics will be discussed and reflected on in this section: But don’t worry! We will do our best to Keep It Simple Stupid (KISS). More complex words will now need to be explained, and daunting principles be uncovered. We will now dig deeper into what this series is all about: Mastering the big beast, Domain Driven Design (DDD). We have now introduced the most common ways of carving out overall software architectures and explained some basic terminology. This is the first part of the introdcution phase, but we will need one more part before separating into your track of choice. This is where the fun part starts, but we are still in the introduction phase! So, if you cant wait to dive into your track of choice, I suggest you hold tight a bit longer so you grasp all the concepts. If they don’t, scenarios like the illustration below can occur. If the developers are to cope with these choices, management has to convey the reason for why decisions were made. One problem that often applies in real world scenarios, is when upper management make tech choices without rational reasoning. Problems when tech choices are made by upper management Pretty simple explanation for a simple concept that has drifted away from its literal meaning and towards the section of IT buzzwords. For them, that would be a line of business application. Many companies develop bespoke software for their needs, and those are often the mission critical software that needs to work. In other word, these application are business critical, or even the generator of revenue in itself. LoB applications are more directly aligned towards generating revenue for the business. Word, PowerPoint or email for instance, are not LoB applications, but rather tools that aid you in your work day. Monolithic architectureĪ line of business application is an application which is more important for the business than other software. There are obviously some trade-offs you should be aware of before choosing to go down that path, but my job is to resonate on the jargon while plenty of others has brought up the pros and cons. You know exactly which part of the pipe that fails, and you can therefore issue a fix and redeploy that exact microservice instead of having to bring down the whole monolithical monster of a software project. By working in a modular way, like Microservices allows you to, you have a better chance of rapidly fixing problems and avoid severe system failures if one microservice goes down. However, if you are struggling with articulating with reasoning for splitting a larger service into microservices, then maybe the best way forward is to keep the larger service as it is. When starting on a project, you might start with a few larger services and carve them up into Microservices as the logical boundaries reveal themselves. With Microservices however, you are free to pick the best tools for each particular job. You usually chose a programming language and process and just stuck with it. Previously, software projects were often big monolithic monsters that were highly coupled together and hard to maintain. Everything should be decoupled so that each microservice can scale independently. The series has resulted from countless hours of reading, talking to educated people, watching tutorials and YouTube videos.Ī Microservices architecture seeks to package its components (services) into completely independent units. I am therefore always open for corrections, fixes, suggestions and other helpful ideas that might arise from reading this series. Each respective track has its own focus points, maybe you’ll even finish them all? Awesome, now let’s get going!ĭisclaimer: Being a data scientist myself for the last 4–5 years, and coming from a background as a software engineer, I have personally not stayed updated on the latest trends within concepts and design principles within software integration. By staying cooperative to the process, you should by the end of the series have enough knowledge to continue your DDD journey with practical approaches and implementations. You can choose to learn more about the Business track or the Developer track later on. This is as earlier mentioned recommended to be completed before diving head first into your specific area of choice. There will be at least one part for each track (uncertain of the number at the time of writing). The introductory section is split into two parts (you are now reading part 1). This series will consist of multiple parts.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |