← Back to team overview

canonical-ci-engineering team mailing list archive

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