Timeline for Which comes first: CD/Trunk-based development or microservices?
Current License: CC BY-SA 4.0
30 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Aug 17, 2023 at 17:45 | comment | added | bdsl | @JanHudec Right - to do continuous delivery you need to have a test suite that runs very much faster than that. | |
Aug 17, 2023 at 15:01 | comment | added | Jan Hudec | @bdsl, ok, I clearly misunderstood the thing. Basically “CI” appeared back when everybody was still using centralized version control, and committing to the same trunk, but continued to be called that when everybody switch to feature branches. And most were happy to do so, because until then the trunk was broken quite often. And when it takes two hours to just build it, the test suite runs overnight and when it breaks, it's another two hours rebuilding it locally just to debug it, no, it will take more than a day to fix. That's typical values I've seen. CI like this isn't for such projects. | |
Aug 17, 2023 at 13:39 | comment | added | bdsl | @JanHudec I suspect when you say your experience is that these things can't be broken down you mean no-one you've been working with has found a way to break them down. And I would guess that's because they didn't try very hard to break them down that much, maybe either because they thought it was impossible to do or thought it was not very useful to do. | |
Aug 17, 2023 at 13:37 | comment | added | bdsl | @JanHudec This is Fowler & Humble's CI Certification requirements: martinfowler.com/bliki/images/ci-certification/sketch.png CI literally means you Integrate the changes Continuously. If it takes several days before the changes are ready to integrate that isn't continuous. | |
Aug 17, 2023 at 12:37 | comment | added | Jan Hudec | @bdsl My experience is that most meaningful changes can't be broken down to steps that can be done in a day and the added code tested at the end of that day. So I always understood CI to mean you integrate the changes as they are done, and also integrate them into the other work in progress, but there is no limit on how long the work in progress might be outstanding. | |
Aug 16, 2023 at 8:25 | comment | added | bdsl | @JanHudec CI is generally recognised as a requirement of CD, not something incompatible. There's are whole books about it, but in brief you can only merge changes that are thoroughly tested and do it within a day by breaking changes down into very small parts and doing them one at a time. Plus the trunk doesn't have to be literally always ready for release, it just has to be known when it is and isn't ready and repaired immediately any time it's not ready. | |
Aug 13, 2023 at 0:08 | answer | added | bdsl | timeline score: 0 | |
Jun 8, 2023 at 1:13 | history | reopened |
Doc Brown candied_orange mmathis |
||
S Jun 6, 2023 at 13:16 | review | Reopen votes | |||
Jun 8, 2023 at 1:13 | |||||
S Jun 6, 2023 at 13:16 | history | edited | Jacob Archambault | CC BY-SA 4.0 |
Follow Doc Brown's suggestion to change title, so that respondents who might not read the question closely don't reply assuming a broader notion of CI/CD
Added to review
|
Jun 6, 2023 at 7:26 | history | closed |
Philip Kendall gnat jwenting |
Needs details or clarity | |
Jun 6, 2023 at 5:24 | comment | added | benxyzzy | Have you seen Dave Farley's YouTube videos about microservices? | |
Jun 5, 2023 at 18:27 | history | edited | Jacob Archambault | CC BY-SA 4.0 |
Clarify that long-lived feature branches aren't compatible with CI in the sense used by this post.
|
Jun 5, 2023 at 16:27 | answer | added | workerjoe | timeline score: 0 | |
Jun 5, 2023 at 14:44 | history | edited | Jacob Archambault | CC BY-SA 4.0 |
clarify that feature branches are long-lived.
|
Jun 5, 2023 at 13:23 | comment | added | Jacob Archambault | @DocBrown is correct about the top-voted answer. Our company already makes extensive use of automated pipelines for running builds and unit testing. The question is asking about adapting our existing build and testing practices to the practice of CI in the sense since clarified in the edit, to achieve continuous delivery in the sense clarified in the edit. | |
Jun 5, 2023 at 13:21 | history | edited | Jacob Archambault | CC BY-SA 4.0 |
Update title
|
Jun 5, 2023 at 13:10 | history | edited | Jacob Archambault | CC BY-SA 4.0 |
added 1394 characters in body
|
Jun 5, 2023 at 11:48 | comment | added | pjc50 | Note that you may be able to simply parallelize the unit testing. How big is the development team? Microservices is often an antipattern when there's only one team. | |
Jun 5, 2023 at 11:36 | comment | added | Richard Tingle | CI/CD doesn't mean no feature branches. Just to be clear; are you suggesting short term (days) feature branches and frequent merges into trunk with code review (fine) or literally every commit goes into trunk and straight out to prod (which feels like it needlessly ties your hands) | |
Jun 5, 2023 at 5:25 | history | protected | gnat | ||
Jun 4, 2023 at 22:33 | answer | added | Arjun | timeline score: 3 | |
Jun 4, 2023 at 21:01 | comment | added | Doc Brown | I would recommend to replace "CI/CD" by "CD/trunk based development" in the title's question, assumed that this is what the question is about. This would make clear if the currently top-voted answer is on track or missing the point. I suspect it is the latter, but you should really clarify this. | |
Jun 4, 2023 at 16:37 | comment | added | Corbin | A critical nuance to consider: Are your unit tests so entangled that they will become simpler under your microservice plan? This will tell you whether CI will become faster under microservices, which will tell you whether microservices-first is worthwhile. | |
Jun 4, 2023 at 14:16 | history | became hot network question | |||
Jun 4, 2023 at 10:38 | answer | added | Doc Brown | timeline score: 12 | |
Jun 4, 2023 at 6:45 | review | Close votes | |||
Jun 6, 2023 at 7:34 | |||||
Jun 4, 2023 at 6:30 | answer | added | Martin Maat | timeline score: 27 | |
S Jun 4, 2023 at 3:46 | review | First questions | |||
Jun 4, 2023 at 5:26 | |||||
S Jun 4, 2023 at 3:46 | history | asked | Jacob Archambault | CC BY-SA 4.0 |