I didn’t see this coming and I think it’s funny, so I decided to post it here.

  • @xmunk@sh.itjust.works
    link
    fedilink
    454 months ago

    Nano services are microservices after your company realizes monoliths are much easier to maintain and relabels their monoliths as microservices.

    Unironically. I’d put a significant wager down on that being the source of this term.

    • andrew
      link
      fedilink
      English
      14 months ago

      That intro and general structure (AI loves bulleted lists but then again so do I) sure sound like a lot of the responses I’ve gotten. As always, it’s hard to say for sure.

  • 𝓹𝓻𝓲𝓷𝓬𝓮𝓼𝓼
    link
    fedilink
    English
    254 months ago

    quantum services

    take your source code and put each character in its own docker container

    this gives you the absolute peak of scalability and agility as every quantum of your application is decoupled from the others and can be deployed or scaled independently

    implementing, operating and debugging this architecture is left as an exercise for the reader

    that will be $250,000 kthx

    • HorrabinOP
      link
      fedilink
      114 months ago

      implementing, operating and debugging this architecture is left as an exercise for the reader

      Challenge accepted by a reader using AI, what could go wrong? xD

  • @sirdorius@programming.dev
    link
    fedilink
    244 months ago

    I was going to write that every function should be a service as sarcasm, then I realized that’s exactly what this article is proposing. Now I’m not even sure how to make a more ridiculous proposal than this.

  • @PieMePlenty@lemmy.world
    link
    fedilink
    194 months ago

    Cant wait to set up a docker container for a service which takes a string input and transforms it into a number as the output. Full logging, its own certificate for encryption of course, 5 page config options and of course documentation. Now, you want to add two numbers together? You got the addition service set up right?

      • Nougat
        link
        fedilink
        34 months ago

        I am now offering Planck services for sale, at US$0.0001 per bit.

        For an extra fee, you can even choose the value of the bit.

  • billwashere
    link
    fedilink
    English
    154 months ago

    Announcing FemtoServices™ - One Packet at a Time!

    In an era of bloated bandwidth and endless data streams, today we proudly unveil a groundbreaking approach to networking: FemtoServices™ – Connectivity, one Ethernet packet at a time!

  • Nat (she/they)
    link
    fedilink
    134 months ago

    We already have nanoservices, they’re called functions. If you want a function run on another box, that’s called RPC.

  • billwashere
    link
    fedilink
    English
    114 months ago

    I’m trying to understand how this is different than a concept I learned in computer science in the late 80s/early 90s called RPCs (remote procedure calls). My senior project in college used these. Yes I’m old and this was 35 years ago.

    • @barsoap@lemm.ee
      link
      fedilink
      1
      edit-2
      4 months ago

      Microservice architectures are ad hoc, informally-specified, bug-ridden, slow, implementations of Erlang, implemented by people who think that “actor model” has something to do with Hollywood.

  • @NigelFrobisher@aussie.zone
    link
    fedilink
    7
    edit-2
    4 months ago

    Tech moved in cycles. We come back to the same half-baked ideas every so on, imagine we just discovered the idea and then build more and more technologies on top to try to fix the foundational problems with the concept until something else shiny comes along. A lot of tech work is “there was an old lady who swallowed a fly”.

    • @fckreddit@lemmy.ml
      link
      fedilink
      84 months ago

      I always keep saying " You cannot plan your way out of a system built on broken fundamentals." Microservices has it’s use case, but not every web app needs to be one. Too many buzzwords floating around in tech, that promise things that cannot be delivered.

      • @Whirlybird@aussie.zone
        link
        fedilink
        34 months ago

        Yep micro services are great, but monoliths are just as great and don’t let anyone tell you otherwise. It all depends on what the system requirements are.

  • @tyler@programming.dev
    link
    fedilink
    64 months ago

    we’ve been using nano-services for the past 6 months or so. Two different reasons. A codebase we absorbed when a different team was dissolved had a bunch of them, all part of AWS AppSync functions. I hate it. It’s incredibly hard to parse and understand what is going on because every single thing is a single function and they all call each other in different ways. Very confusing.

    But the second way we implemented ourselves and it’s going very well. We started using AWS Step Functions and it allows building very decoupled systems by piecing together much larger pieces. It’s honestly a joy to use and incredibly easy to debug. Hardest part is testing, but once it’s working it seems very stable. But sometimes you need to do something to transform data to piece together these larger systems. That’s where ‘nano-services’ come in. Essentially they’re just small ruby, python, js lambdas that are stuck into the middle of a step function flow in order to do more complex data transformation to pass it to the next node in the flow. When I say small I mean one of the functions we have is just this

    def handler(event:, context:)
      if event['errorType']
        clazz = Object.const_set event['errorType'], Class.new(StandardError)
        raise clazz.new.exception, event['errorMessage']
      end
      event
    end
    

    to map a service that doesn’t fail with a 4xx http code to one that does fail with a 4xx http code.

    You could argue this is a complete waste of resources, but it allows us to keep using that other service without any modifications. All the other services that depend on that service that maps its own error types can keep working the way they want. And if we ever do update that service and all its dependencies, now ‘fixing’ the workflow is literally as simple as just deleting the node and the ‘nano-service’ to go along with it.

    I should note that the article is about the first thing I discussed, the terrible codebase. Please don’t use nano-services like that, it’s literally one of the worst codebases I’ve ever touched and no joke, it’s less than 2 years old.