back to article What do microservices do to data stores? Netflix is built on them and had no idea!

Microservices are the new black for developers, but even one of their world's biggest and most prominent users – Netflix – has said they're a bugger to manage. “As Netflix runs thousands of microservices, we are not always aware of the traffic that bundled microservices may generate on our backend systems,” write the company's …

  1. David Dawson

    containers != microservices

    Certainly not what Netflix are describing in any case.

    Containerisation is a well understood technology that means a particular thing.

    Microservices, far less so. It's mostly used as a synonym for application distribution. You may, or may not, put the distributed components in containers for ease of deploy, management, whatever.

    Containers though would put absolutely no load onto cassandra, its the app inside that does.

    If you are going to point out immaturity in an area, it's the current commercial understanding of distributed computing, which is fairly awful. This leads to, for example, something I like to call 'inner join over http', a common enough issue in these kind of developments, caused by the incorrect separation of data by entity, rather than by access pattern and something that is quite likely to be the root cause of the issues described.

    Also worth pointing out that Netflix only adopted containerisation recently, previously they were on AWS EC2 exclusively.

    1. Destroy All Monsters Silver badge

      Re: containers != microservices

      Well said, thank you good sir (or madam, names on the Internet being what they are).

    2. batfastad

      Re: containers != microservices

      > Also worth pointing out that Netflix only adopted containerisation recently, previously they were on AWS EC2 exclusively.

      You can't run containers in a VM?

      1. David Dawson

        Re: containers != microservices

        of course, but they used EC2 (ie, VM based) infra. They didn't use the amazon container service, and have developed their own container scheduling setup based on .. I want to say mesos, but am too lazy to check. The name titan comes to mind.

    3. Anonymous Coward
      Anonymous Coward

      Re: containers != microservices

      Yes, what is the definition of microservices, as if you were explaining it to clever but skeptical four year old? It seems to be the new cloud. Every app server service or API is now called a microservice.

    4. Anonymous Coward
      Anonymous Coward

      Re: containers != microservices

      I heard Netflix moved a shed load of their workload from AWS to Google Cloud Platform. Is that due to the whole containerization migration? Isn't that one of GCP's strengths?

  2. hk

    Stop the madness

    Another crazy hyped technology that makes next to no sense.There's about one thing that microservices might help achieve, and that is scalability. That's not something that comes with microservices as such, however, but with the application being partitioned as microservices. On the other hand how many applications are there that do need that kind of scalability?

    And on the downside with microservices there comes a plethora of problems that should be the nightmare of anyone familiar with creating applications: "the network is unreliable etc". So instead of managing a single application you get to manage a load of distributed application plus handling all kinds of transient errors just due to the nature of your now distributed application.

    As Dijkstra said "simplicity is prerequisite for reliability" and who in their right mind would deny that?

    1. Destroy All Monsters Silver badge
      Paris Hilton

      Re: Stop the madness

      It's nice for playing around with Erlang/Elixir though.

      Also, it probably is a solution to problems form the 90's (Distributed Computing Environment etc.) when CPUs were feeble, RAM was scare, and RPC was thought to be a good idea.

      1. Anonymous Coward
        Anonymous Coward

        Re: Stop the madness

        It's happening: "Testing Java Microservices" at manning.com

    2. skies2006

      Re: Stop the madness

      Monolithic applications derive from an age then hardware resources like memory and disk where scarce and networks where slow.

      As Dijkstra said "simplicity is prerequisite for reliability" and who in their right mind would deny that?

      A load of BS.

      Running multiple copies of same service (software function) increases reliability and resilience. In a correctly designed architecture, you can walk around in the datacenter and randomy yank servers, and no one will notice. The application will continue operating.

      Being able to upgrade your application while it is running is very valuable. Not only does it increase availability and uptime, but allows one to push out new updates faster.

      The concept of Micro Service is nothing new, remember CORBA from the 80/90's? where the designers did envision many small software components communicating with each other over a shared bus.

      1. Destroy All Monsters Silver badge
        FAIL

        Re: Stop the madness

        Running multiple copies of same service (software function) increases reliability and resilience.

        This is about resilience, yes. But it does not have much to do with microsoervices.

        Microservices are nice if you are implementing neurons or other silo-able stuff that is still able to function well when it has to throw data over the network. Anything with a adatabase generally won't fit.

        The concept of Micro Service is nothing new, remember CORBA from the 80/90's? where the designers did envision many small software components communicating with each other over a shared bus.

        No - that was about superceding the "socket" data exchange approach by offering remote procedure calls into objects somewhere on the (rather local) network (as in "Object Request"). RPC is still a bad idea in 2016 btw. Use message exchange instead of pretending a remote service is local.

  3. Anonymous Coward
    Anonymous Coward

    Lately at the Gay Bar

    “Understanding the performance implications of new microservices on our backend systems was also a difficult task.”

    Seriously, my boss insists on "microservices" although I haven't recently noticed that we are managing anything more heavy than 3 EC2 instances which have mainly configuration and performance problems due to historical "I installed this myself" boss baggage. How fucked am I?

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like