ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Microservices - any real world examples?

    Scheduled Pinned Locked Moved IT Discussion
    14 Posts 5 Posters 1.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • stacksofplatesS
      stacksofplates
      last edited by stacksofplates

      There are a lot of examples, but they're usually internal and are very large. Microservices are complex and very network intensive. I don't know of any consumer software that follows that architecture pattern.

      Bitwarden isn't a microservice based architecture. It's just a service based. If you're using a shared database, it's not a microservice. Microservices each have their own database and then either through your API gateway, service discovery, message broker, etc each service queries the other service for the data it needs.

      GitLab is another example of a service based architecture. Even though you can deploy GitLab on k8s as separate services, there is a shared database backend that all of the services talk to.

      M 1 Reply Last reply Reply Quote 0
      • stacksofplatesS
        stacksofplates
        last edited by

        You can abstract this away even a little further with space based architecture where you have a central db but the services don't talk directly to it. They use in memory database like Ignite, Hazelcast, Aerospike, etc and then the data is replicated back to the central db at some point.

        1 Reply Last reply Reply Quote 1
        • M
          marcinozga @stacksofplates
          last edited by

          @stacksofplates said in Microservices - any real world examples?:

          Bitwarden isn't a microservice based architecture. It's just a service based. If you're using a shared database, it's not a microservice. Microservices each have their own database and then either through your API gateway, service discovery, message broker, etc each service queries the other service for the data it needs.

          That’s a false statement. Microservices can share single database. In perfect world each microservice would have each own, but we’re far from perfect.

          stacksofplatesS 1 Reply Last reply Reply Quote 0
          • stacksofplatesS
            stacksofplates @marcinozga
            last edited by

            @marcinozga said in Microservices - any real world examples?:

            @stacksofplates said in Microservices - any real world examples?:

            Bitwarden isn't a microservice based architecture. It's just a service based. If you're using a shared database, it's not a microservice. Microservices each have their own database and then either through your API gateway, service discovery, message broker, etc each service queries the other service for the data it needs.

            That’s a false statement. Microservices can share single database. In perfect world each microservice would have each own, but we’re far from perfect.

            No it's not. That's what defines it as a microservice. If the services all talk to the same database, it's just a service based architecture.

            M 1 Reply Last reply Reply Quote 0
            • stacksofplatesS
              stacksofplates
              last edited by

              Here's a diagram for each from Mark Richards and Neal Ford.

              Service Based:
              22536a1b-8ddf-44ff-9177-8c45c9c34823-image.png

              Microservices:
              2a897d79-fc8d-4380-918b-8005ed921c32-image.png

              And here's a Tweet from Kelsey on a funny name for service based:

              66497bea-693d-4862-83dc-a6d253b1e1e3-image.png

              There's quite a few architecture designs, and they can be similar but specific things define them, like where they write and get data from. There's a distinction between monoliths as well. There's a normal monolith, and then there's a micro-kernel. Obviously the monolith has everything, but the micro-kernel is still a monolith, but has API hooks for plugins to the monolithic core.

              1 Reply Last reply Reply Quote 2
              • stacksofplatesS
                stacksofplates
                last edited by stacksofplates

                There's kind of a push now to move back towards monoliths (or other more sensible designs). Mainly because of the complexity and performance loss.

                As with anything a ton of places heard microservices were the future, jumped on, and started using it without actually researching. It's good for some use cases, and not for a lot of them.

                1 Reply Last reply Reply Quote 2
                • M
                  marcinozga @stacksofplates
                  last edited by

                  @stacksofplates said in Microservices - any real world examples?:

                  @marcinozga said in Microservices - any real world examples?:

                  @stacksofplates said in Microservices - any real world examples?:

                  Bitwarden isn't a microservice based architecture. It's just a service based. If you're using a shared database, it's not a microservice. Microservices each have their own database and then either through your API gateway, service discovery, message broker, etc each service queries the other service for the data it needs.

                  That’s a false statement. Microservices can share single database. In perfect world each microservice would have each own, but we’re far from perfect.

                  No it's not. That's what defines it as a microservice. If the services all talk to the same database, it's just a service based architecture.

                  No, because there’s really no single definition of microservices.
                  https://en.wikipedia.org/wiki/Microservices

                  Also https://microservices.io/patterns/data/shared-database.html

                  stacksofplatesS scottalanmillerS 2 Replies Last reply Reply Quote 0
                  • stacksofplatesS
                    stacksofplates @marcinozga
                    last edited by

                    @marcinozga said in Microservices - any real world examples?:

                    @stacksofplates said in Microservices - any real world examples?:

                    @marcinozga said in Microservices - any real world examples?:

                    @stacksofplates said in Microservices - any real world examples?:

                    Bitwarden isn't a microservice based architecture. It's just a service based. If you're using a shared database, it's not a microservice. Microservices each have their own database and then either through your API gateway, service discovery, message broker, etc each service queries the other service for the data it needs.

                    That’s a false statement. Microservices can share single database. In perfect world each microservice would have each own, but we’re far from perfect.

                    No it's not. That's what defines it as a microservice. If the services all talk to the same database, it's just a service based architecture.

                    No, because there’s really no single definition of microservices.
                    https://en.wikipedia.org/wiki/Microservices

                    Also https://microservices.io/patterns/data/shared-database.html

                    That doesn't really show anything. From that same site:

                    Screenshot_20200919-141528_Chrome.jpg

                    Again, if they aren't loosely coupled, all encompassing services they aren't microservices. Just as wikipedia says, the consensus is they are loosely coupled. If they are tied to a single database they are by definition, not loosely coupled.

                    1 Reply Last reply Reply Quote 0
                    • F
                      flaxking
                      last edited by

                      I wouldn't consider microservices as desirable in a deploy-it-yourself end user situation. Unless you are setting up something you really need to be able to scale, it adds IT overhead. A Docker image is an abstraction, but docker/k8s config files are most just configuration as code, so it's not like it's just deploy and go to use a config file from a third-party on your cluster.

                      However, as we get more open source based images for complete drop-in APIs for developers to use instead of building things from scratch, we'll probably see more of it.

                      1 Reply Last reply Reply Quote 0
                      • 1
                        1337
                        last edited by 1337

                        Microservice architecture was really a means to an end and not the goal itself.

                        When you have large teams of developers, you simply have to start divide things up into smaller chunks - one way or the other. If you think about the practical problems of trying to maintain and develop a big piece of software while it's running 24/7 with zero interruptions, it's hard to imagine any other way of doing it.

                        If you don't have those constraints, then using that type of architecture doesn't make as much sense.

                        scottalanmillerS 1 Reply Last reply Reply Quote 1
                        • scottalanmillerS
                          scottalanmiller @marcinozga
                          last edited by

                          @marcinozga said in Microservices - any real world examples?:

                          Microservices have been all the hype in the past few years, but has anyone actually seen any real applications that use microservices architecture? I'm not talking about Amazon, Netflix or Uber, I'm interested in something you can deploy yourself.

                          Modern software techniques are rarely things you "buy and deploy", they are for your engineering teams to utilize in your designs. Since it is an "under the hood" artefact in software, even if you were deploying it, you wouldn't generally know.

                          1 Reply Last reply Reply Quote 0
                          • scottalanmillerS
                            scottalanmiller @1337
                            last edited by

                            @Pete-S said in Microservices - any real world examples?:

                            Microservice architecture was really a means to an end and not the goal itself.

                            Exactly

                            1 Reply Last reply Reply Quote 0
                            • scottalanmillerS
                              scottalanmiller @marcinozga
                              last edited by

                              @marcinozga said in Microservices - any real world examples?:

                              @stacksofplates said in Microservices - any real world examples?:

                              @marcinozga said in Microservices - any real world examples?:

                              @stacksofplates said in Microservices - any real world examples?:

                              Bitwarden isn't a microservice based architecture. It's just a service based. If you're using a shared database, it's not a microservice. Microservices each have their own database and then either through your API gateway, service discovery, message broker, etc each service queries the other service for the data it needs.

                              That’s a false statement. Microservices can share single database. In perfect world each microservice would have each own, but we’re far from perfect.

                              No it's not. That's what defines it as a microservice. If the services all talk to the same database, it's just a service based architecture.

                              No, because there’s really no single definition of microservices.
                              https://en.wikipedia.org/wiki/Microservices

                              Also https://microservices.io/patterns/data/shared-database.html

                              I'd take Neal Ford's word over Wikipedia 🙂

                              1 Reply Last reply Reply Quote 0
                              • 1 / 1
                              • First post
                                Last post