CI should be fast, and give actionable feedback to its audience: the Developers. Whatever system delivers this is fine.

CD should be predictable and reliable. Its goal is to deploy code/assets to a pre-production server so business can validate the feature changes. Again, whatever system does this is fine.

Logically a single CICD system would be simpler. The part about "failure can happen in AWS CP which is not reflected in the triggering workflow" makes me nervous. I'd expect a CI to be "smarter" than CD, so a deploy-time error should show up sooner, in CI, vs after the handoff.

The overall goal of any pipeline -- including CICD -- is to optimize fast, high-quality, reliable changes to create business value. Generally, getting code features into production so real users can see them.

The specific quality/ scope/ speed/ cost/ complexity tradeoffs vary per company and per team. That's fine.


Response to Is it ever a good idea to split CI and CD across two providers? on Reddit