• by LewisVerstappen on 9/9/2022, 4:47:50 AM

    [Software Architecture Patterns](https://learning.oreilly.com/library/view/software-architect...) by Mark Richards answers your exact questions - goes into multi-tier, microservices, event-driven, etc.

    I'd highly recommend getting an O'Reilly membership. It gives you access to their entire catalog and you can just search whatever topic you're interested in and they'll let you read books on it.

    In terms of free resources, I like [Quastor](http://www.quastor.org/). It's a newsletter that looks at all the big tech engineering blogs (Facebook Engineering, Uber Engineering, Lyft, etc.) and then sends a summary of the interesting ones published.

  • by nivertech on 9/9/2022, 10:35:26 AM

    Software Architecture is an interesting rabbit hole that can easily eat many years of your life, but I think you're asking the wrong questions.

    If you're a bootstrapped unfunded startup most-likely it's built using simple and straight-forward software architecture, so learning advanced patterns will not help before you raised more funds and hired more developers.

    Also, it seems that your real problem was passing a technical due diligence with investors, not learning advanced software architecture. I would suggest pairing with a consultant for one or more sessions and create a very short HLD (High-level Design) document describing your current architecture and design.

    If you still want to learn SW architecture you can start from Martin Fowler's site:

    https://martinfowler.com/architecture/

  • by brudgers on 9/9/2022, 12:43:25 PM

    To me, the Big Ball of Mud might be the most useful architecture to understand, because that is the architecture that usually gets built. Either sooner or later.

    Quick version: https://en.wikipedia.org/wiki/Big_ball_of_mud

    Source: https://en.wikipedia.org/wiki/Big_ball_of_mud

    It's probably what your company has.

    And would have been an honest answer to the potential investor -- they're not an actual investor until they invest.

    Whether or not an honest answer to the potential investor would have been what your employer wanted from you is another matter.

    Anyway, Wikipedia is a pretty good starting point for software architecture types.

    Good luck.

  • by labarilem on 9/9/2022, 8:22:36 AM

  • by throwaway0asd on 9/10/2022, 9:31:47 AM

    To improve performance of live updates I refactored my application around streams on persistent sockets. It allows for bidirectional communication of micro services from single points of management within the application in a non blocking way. It’s faster than having to deal with protobuf (gRPC) and still allows communication to the browser or other applications.