canonical-ci-engineering team mailing list archive
-
canonical-ci-engineering team
-
Mailing list archive
-
Message #01045
Re: Micro-services and testing
Hi,
Thank you everyone for the incredible responses so far.
I've updated the document with a lot more information - some new sections,
as well as a lot of comment replies. If you have time, please consider
taking another look.
Cheers,
On Mon, Mar 23, 2015 at 12:41 PM, Thomi Richards <
thomi.richards@xxxxxxxxxxxxx> wrote:
> Hello team,
>
>
> Last week in the sprint wrap-up meetings we discussed various proposals
> for testing micro-services. I think we decided that the idea that
> "micro-services don't need unit tests" is incorrect. I've put together a
> short document that outlines a sensible middle ground between the above
> idea and "zomg test all the things". Let me know what you think:
>
>
> https://docs.google.com/document/d/10WL6R0mzoUWSJ8gKHI1Bmhr4fWzK6RRPkYMiE2kuI_g/edit#
>
> In slightly related news, I've had this thought rattling around my head
> for the last few weeks, but have failed to communicate it verbally - let me
> try in writing:
>
>
> - When writing software to solve a problem, there's a certain level of
> irreducible complexity involved. The problem we're trying to solve dictates
> the minimum complexity required.
>
> - Using micro-services as an architecture allows us to spread that
> complexity out into several services and code-bases. For example, instead
> of having the adt-cloud-worker deal with finding the correct cloud image
> for a given series & architecture, we can split that off into a separate
> service. (similar to how we split distinct problems into separate classes
> or functions when designing monolithic software)
>
> - ...However, no matter how you spread it around, you haven't removed
> that complexity, you've just moved it into a separate codebase.
>
> - ...furthermore, there is a cost associated with increasing the
> number of services - the complexity of your communication network grows.
>
>
> To quote Evan: "I fucking love micro-services" - I really do. I think the
> benefits outweigh the costs, but I also think it's important not to view
> micro-services as a panacea for all ailments, otherwise we'll end up like
> these people <https://www.gnu.org/software/hurd/hurd.html>.
>
> My brain works in abstractions (I guess that's a common trait of
> engineers) - to me I see the "micro-services vs monolithic applications"
> debate as a detail of deployment: when it comes down to it, they're both
> just software built with a message-passing architecture...
>
>
> Cheers,
>
> --
> Thomi Richards
> thomi.richards@xxxxxxxxxxxxx
>
--
Thomi Richards
thomi.richards@xxxxxxxxxxxxx
References