Microservices, when done properly, are significantly less expensive than traditional service layers.
Continuous Integration is one of the greatest improvements in software development.
Microservices, when done properly, are significantly less expensive than traditional service layers.
Continuous Integration is one of the greatest improvements in software development.
2) "When done properly" - therein lies the rub.
3) Absolutely agree, but I have seen teams screw it up time and time again. Never really figured out why that is.
If you throw a frog in boiling water it will freak out. But if you throw a frog in cold water and slowly bring it to a boil, it will never notice.
I actually like to submit completed modules when they are ready. I find constant pushing makes things a lot more complicated.
edit: fix terrible spelling
Re: Modules, generally I do as well, but what is a "module"? A function? A class? A library? A plugin? An extension? A listener? A handler? A subscriber? A publisher? A DAO? A DTO? An in-memory service? A networked service? A microservice?
The philosophy that I subscribe to is continuous integration is not the same as "everyone check into the same branch anytime they want as often as they want" but also that it is not "everyone work in their own branch until time has run out and we have to force all of our stuff to work together." That middle ground can be very tough to find, but I find that if the CI system and the architecture are not designed to work together, devs will always thrash around between those two extremes.