Arch Tea Time: 2020-03-26 (Data Redundancy followup)

Agenda

  • Shall we set our new time to 2pm Tea Time for the indefinite future?

    • Poll: 5 yes, 1 no

    • Action item: Change meeting time for now - we can change back to lunch time once we’re back in the office, if we choose.

  • Data Redundancy

    • Incremental changes we can make

      • Asynch management commands - how can we reduce current pains with this design pattern?

        • How do we monitor performance issues?

        • We are currently shielded from production issues with celery and Jenkins workers (by DevOps, S&E, etc).

        • Not currently easy to determine SLO and impact of failure of these asynch tasks.

        • High-medium-low queues - currently relates to concurrency and not priority

          • Idea: have eventual versus real-time queues

        • Lacking dev-friendly operational management of our management commands

          • Onboarding and startup costs for all the inter-related service dependencies.

          • Idea: just-in-celery solution can simplify this - with dependent services being celery - and the service updates its own data

        • Need to become better at only fetching subset of data (e.g., based on data-range) rather than the entire data.

          • Note: this does add more complexity than if we had an event-bus.

      • Idea: different clusters for different priority requests

    • Are there any follow-up questions from the workshop?

      • Nim said that we would no longer want to recommend the #2 solution - do we agree with this?

        • Rationale: higher transactional complexity and inconsistent response times when there are cache misses.

          • In some cases, we are caching 1 request’s response at a time - rather than caching all the data that we would need from the service.

        • Memcached would have lower latency than the database.

        • Q: So put Memcached between a service and its Database, but not between a service and another service?

          • There may be certain cases where this may be a viable option.

          • However, we still probably want to not recommend this option as the 1st choice - and in the exceptional case we can escalate to this Arch audience so we have a discussion of the trade-offs.

    • Idea: can use a current problem (such as e-commerce transactions) as a case study for future Arch Study Groups.

    •