Talk:Microservices

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

04/2019 Advantage Section will be welcome[edit]

There is a Criticism section but i miss an adventages section Tech201805 (talk)


Overview. Total jargon (2018)[edit]

Total jargon. I learned nothing from reading this. #layperson — Preceding unsigned comment added by 68.132.20.182 (talk) 13:55, 15 November 2017 (UTC)[reply]

Agreed Nick Levine (talk) 21:22, 28 June 2018 (UTC)[reply]

Agreed --146.233.0.202 (talk) 00:29, 1 October 2021 (UTC)[reply]

Languages[edit]

So... microservices are language-agnostic, but at the same time we have a section for languages.

--K0zka (talk) 12:02, 11 March 2015 (UTC)[reply]

Distinct from SOA[edit]

The wikipedia definition of SOA does not suggest that it aims to integrate various business services.Toddinpal (talk) 14:25, 12 August 2015 (UTC)[reply]

Talking about "The Web" ... Why?[edit]

We read This kind of complexity can be reduced by standardizing the access mechanism. (this is indisputable as the converse would be that not standardizing the access mechanism would not change complexity ... and then a non-sequitur follows in the same breath) The Web as a system handles this element very well. It retained essentially the same access mechanism between browser and application resource over the last 20 years. Using the number of Web pages indexed by Google it grew from 26 million pages in 1998 to around 60 trillion individual pages by 2015 without the need to change its access mechanism. The Web itself is the best example that the complexity inherent in traditional monolithic software systems can be overcome.

Not at all. The web is not a collection of Microservices. It is mainly a collection of pages that do not interact (sometimes they do, but that is rare and when you want to go that way, telephone-sized books about 'service orchestration', a barely developed base of knowledge, will hit your desk with a thumb). Or said different, a library is a not a computer (arguably, it is a service). A book is not a microservice (arguably, it is a query result). There is a T101 in your kitchen (talk) 09:56, 2 September 2016 (UTC)[reply]

Lingustic approach[edit]

What are the Buzzwords? Thanks for you contribution — Preceding unsigned comment added by BalintM (talkcontribs) 08:35, 6 April 2017 (UTC)[reply]

History[edit]

It may make sense to include early examples of microservices that predate the coining of the term. Early on google created a way to split search queries into different work portions and divide up those portions among multiple machines resulting in the fastest search engine results on the web at the time.

I'm sure there are other early examples of dividing large amounts of work among small services to achieve greater simplicity, throughput, and or other benefit. N-ateAbility (talk) 16:20, 25 September 2017 (UTC) [reply]

Microkernels[edit]

Microkernels (or rather microkernel-based operating systems) seems to be microservices applied to kernels (with the additional complexity of user-space vs kernel-space) (they also long-predate anything mentioned in the history section). (The kernel gets split into a small microkernel and a whole set of deamons for drivers, filesystems, networking, etc). 154.117.159.18 (talk) 06:28, 10 September 2018 (UTC)[reply]

The approach is the same, yes. However, Microservices are all about application layer constructs. Just because the Bohr model of the atom resembles the Solar System visually, doesn't mean that the two concepts are the same. In this case, Microservices and Microkernels solve two different sets of problems, have completely different characteristics, and operate at a different scale of computing. Microkernels are used to support a single operating system instance. Microservices can be distributed over many. A really paranoid android (talk) 16:24, 21 December 2018 (UTC)[reply]
I absolutely agree with this Marvin. I removed the See Also: link to wikipedia's microkernel. The original editor had this URL in a comment "https://www.yogeshgaikwad.com/2016/01/06/microkernels/" which makes an attempt like the argument above and might make sense on this page. However, the wikipedia article would give no context about a See also. The main article notes, micro services use networking which a microkernel never uses.45.72.155.93 (talk) 18:06, 15 August 2019 (UTC)[reply]

Unreliable sources tag.[edit]

@Marvin The Paranoid: asked me to explain why I added template:unreliable sources. I apologize, I should've done this when I added the tag.

As just one example among many, the article uses a decorative block quote from Robert Annett, but doesn't explain who this person is or why their perspective is encyclopedically significant. The source is this link: http://www.codingthearchitecture.com/2014/05/01/where_is_the_complexity.html which doesn't demonstrate the reputation for fact-checking and accuracy required from Wikipedia's reliable source guidelines. The site appears to be a blog for Simon Brown (who?), but blogs are not generally reliable sources per WP:SPS.

Another source is Arnon Rotem-Gal-Oz's blog. Who is that? Yet another source is a corporate blog post from Nirmata. What is this company, and how are they qualified to provide reliable information? Are they providing neutral information, or would, hypothetically, it be better to contextualize this as the opinion of a paid employee of a company providing services related to the topic?

There are many, many similar sources being used, but hopefully these examples demonstrate the problem. It's tempting for people familiar with a topic to add information they personally know to be true and then hunt for sources to support their prior assumptions, but this is usually a misstep. Instead of relying on blogs -even corporate blogs- the article should rely on reliable, independent sources from established publishers, perhaps supplemented by self-published commentary from recognized experts with clear attribution in very limited cases. Grayfell (talk) 04:28, 21 December 2018 (UTC)[reply]

@Grayfell: - I made some rewrites which I think should address the concerns you had. Please review and let me know what you think A really paranoid android (talk) 16:09, 21 December 2018 (UTC)[reply]
I appreciate all the hard work you have put into the article. I do still see some very questionable sources, however. At a glance, I see that Lucas Krause's self-published book is still cited with an Amazon link. Are the innoq.com, buoyant.io, and microservices.io blog posts reliable sources? I am also skeptical of the InfoQ.com presentations. There are several citations to martinfowler.com. If we accept that Martin Fowler is an expert, his blog should be used for his opinion with attribution, not for simple statements of fact. See WP:CONTEXTMATTERS for more on this point.
I am not saying that I'm sure none of these sources are reliable, but since I don't see strong signs that they are reliable, someone who knows about this topic and is familiar with Wikipedia's guidelines on reliable sources should confirm.
Some of this is essentially spam, and should be removed. If information is vitally necessary, but is not supported by a reliable source, a template:cn tag could be added until a reliable source can be found. If information is merely useful, than editors should be willing to consider removing it. There is a large quantity of niche blogs and industry churnalism for the tech sector, so we need to filter accordingly and understand that what might seem useful to one reader (or one blogger) will be a distraction to another. Editing requires restraint. Grayfell (talk) 00:28, 22 December 2018 (UTC)[reply]
Thanks for the feedback. I think your feedback w.r.t Martin Fowler can be easily addressed. Some of the other ones are harder to address. As a practitioner in this field, I believe that the information presented here, based on those sources, is spot on. However, it is hard to prove that their opinion needs to be respected because this is a field that is so new, and the community is still evolving. There is a shift that is evident in the industry today. Very few people knowledgeable in their newly evolving fields take the trouble to publish in more traditional journals, because it is so much easier to publish their opinions and share their knowledge via a blog. WP policies don't appear to reflect that change in the industry, so I think my hands may be tied. A really paranoid android (talk) 17:17, 22 December 2018 (UTC)[reply]

User:Pooyanjamshidi also recently introduced references to their own papers (or at least one of the authors of the paper match the user's Wikipedia username). It does seem like decent sources, although there seems to be a clear WP:COI. (The entire "Patterns" section is based on that as well) MoHaG (talk) 09:53, 22 December 2018 (UTC)[reply]

Agree. But what needs to change in the article? Will adding a COI tag on this (Talk) page, suffice? A really paranoid android (talk) 17:17, 22 December 2018 (UTC)[reply]
I missed that. When an editor adds links to their own unreliable sources, it's indistinguishable from spam. I have reverted those edits. This kind of self promotion is incompatible with Wikipedia's goals. Grayfell (talk) 00:31, 23 December 2018 (UTC)[reply]
@Grayfell: - perhaps I'm misinterpreting the history of changes here, but it appears to me that you removed a reference to an IEEE article as part of your changes, and left in a reference to an article from eventuate.io . This seems strange. Also, if the reference to the IEEE article is what @MoHaG: was referring to about the COI, I don't agree with you assessment either. The IEEE publications are a well-respected and peer reviewed set of publications, and its not spam if an IEEE article author links to their work. You appear to be saying that if I had read the paper and linked to it, that would have been acceptable, but the author linking to it is spam, even though the link is to a very reputable source. It may be a COI, as was pointed out, but it seems like your actions are not supported by the WP policy you referred to in this case.
I note that, as of this time, someone else, (whose id looks somewhat like another of the authors of the IEEE paper) has removed the eventuate.io link, removed the second IEEE link and restored the IEEE link that you removed. Sigh. A really paranoid android (talk) 19:41, 23 December 2018 (UTC)[reply]
As you said before, this is, in some ways, a new and niche topic. Articles related to "cutting edges" tend to have problems with WP:PRIMARY sources. This overlaps with topics related to business and technology, so it's not surprise to me that this article has this problem.
I maintain that it is a problem when an editor's only activity here is to include their own works as references. Taken in isolation, an edit like this might appear acceptable, but as a pattern, it makes it much, much harder for neutral editors to ascertain WP:DUE. All sources must be judged in context, and a source which is reliable in one context is not automatically reliable in another. If you have read the source and believe it's useful, feel free to summarize it in the article (perhaps with attribution, so readers can evaluate the source for themselves). The burden is still on whoever adds it to summarize it neutrally and in proportion to microservices as a larger topic. A peer reviewed source is a good thing. As a neutral editor, you would not be WP:SELFCITING, and your assessment of the source could be considered an added layer of review. Self citing is damaging when it's an editor's sole motive, because, for one thing, it tends to devolve into discussions like this, instead of discussions about content. More importantly, the author of an article is not an impartial judge of how important that article is to the larger topic. "Partial" doesn't mean "wrong", and such an editor may still be acting in good faith, but it's still a large risk, especially for an article like this which already has a glut of related problems.
Oh, also, template:ping only works if it is added at the same time as a signature, fyi. Grayfell (talk) 22:36, 23 December 2018 (UTC)[reply]
@Grayfell: - looks like a new user with no other contributions / sockpuppet has just removed the Unreliable sources tag. Wasn't me. I'll leave it to you as to whether that needs to come back in or stay as is. A really paranoid android (talk) 22:26, 2 January 2019 (UTC)[reply]
I dunno, but some kind of an explanation would be reasonable, right? Grayfell (talk) 22:35, 2 January 2019 (UTC)[reply]

Reverting the advert tags[edit]

An anonymous user on 2019-03-27 flagged this article as being written like an advert. I don't see a discussion on this page, or any explanation for the tag. I can only conclude that this is vandalism and am removing this. A really paranoid android (talk) 14:59, 8 June 2019 (UTC)[reply]

Core idea[edit]

Regarding these edits: I have reverted this addition, although I think it was made in good faith, and may be a step in the right direction. This will only work if it can be sourced. Without rehashing the concerns that have been previously discussed above, this article should attempt to neutrally reflect what reliable, independent sources say about a topic. This is the same standard all Wikipedia articles are held to. Reliable sources are not optional.

Encyclopedia articles should provide an overview to a reader who is not already familiar with the specific topic. If that is not possible for some reason, it must at least provide resources to readers so they can 'catch up' on the subject enough to come back to the article. Right now the article fails this, and fails it badly. It uses WP:BUZZWORDS and far too much MOS:JARGON, and only makes sense to someone who is already familiar with the topic. This defeats the purpose of having an article. Even accounting for this, it has additional problems, as well.

I want to emphasize that any effort towards making the article more easy to understand would be a very good thing. This effort must start with reliable, independent sources. In some limited situations, weaker sources could be used to fill in necessary details, but starting with bad sources will only make a bad article even worse.

Forgive the cliche, but they say that if you cannot explain something, you do not truly understand it. Based on this, one option is to compare this article to the Simple English Wikipedia article, which is here: Simple:Microservices. Is that article clear enough for that project's goals? No, so why not, and how would it be improved? How does that reflect on this article?

This would be a baseline that could keep this version of the article grounded in reality. I am sure this topic can be explained using simple English. It may not be easy, but it's possible. If, when reduced to simple English, a detail or individual perspective no longer seems helpful, it's likely that it wasn't that profound to begin with. If this seems overly complicated, it is still far less complicated than this article. Viewing this from an outside perspective might help indicate how the article should be improved.

Courtesy ping @Marvin The Paranoid: who has also reverted these changes.

Grayfell (talk) 01:21, 7 October 2019 (UTC)[reply]

@Arjunvarma1p: see my coments. Ho do you determine a core idea of MSA? It is simple. What are the new things or ideas introduced by MSA? How MSA is different from traditional non-MSA (existed before introduction of MSA).

Can you tell me, what is the single most defining difference between MSA and non-MSA approach? The single most defining requirement for the MSA is partitioning the monolith into multiple microservices.

Only two things come to mind (1) partitioning a monolith into microservices, and (2) loosely coupling the microservices.

This statement in the first paragraph is confusing to any laymen: The benefit of decomposing an application into different smaller services is that it improves modularity. This assumes that a layman already knows that the application must be decomposed into services. When I said that MSA requires partitioning a monolith, you said it is original research. When decomposing an application is not essential for MSA, what purpose it serves to list the benefits of decomposing?

I would suggest this (I am not good at writing, so someone can refine this): The core ideas of MSA is partitioning a large application (that otherwise implemented as monolith in traditional approach of non-MSA) into multiple smaller services (referred to as Microservices), and (2) deploying the application by structuring the application as a collection of loosely coupled services. There is no single definition for various processes for MSA such as methodology for partitioning, mechanisms for loosely coupling and granularity to name a few. A consensus view has evolved over time in the industry. Some of the defining characteristics that are frequently cited include: — Preceding unsigned comment added by Arjunvarma1p (talkcontribs) 09:48, 8 October 2019 (UTC)[reply]

This is original research. Wikipedia is not the place for original research. Please cite a reliable source. Thanks. Grayfell (talk) 20:39, 11 October 2019 (UTC)[reply]

Why is the title in plural?[edit]

Why isn't the title "Microservice", defined as a small, deployed, modular service? — Preceding unsigned comment added by Mrincodi (talkcontribs) 16:00, 31 October 2019 (UTC)[reply]

Bias and tech FUD[edit]

Seems like someone here is shilling for Spring Cloud in the platform comparison section. For starters, the comparisons, if taken literally, are between orthogonal technologies, with Kubernetes being advertised described as a "container orchestration engine" on Kubernetes page and Spring Cloud as "tools for developers to quickly build some of the common patterns in distributed systems" on their their product page.

The platform comparison section is a mess, with two platforms Spring Cloud and Netflix conflated with each other for no particular reason. In addition, it reads like a Spring Cloud sales brochure with non-objective sounding language such as "This is not the equivalent of what Ribbon provides" and "One noteworthy aspect of the Spring Cloud ecosystem is that they are all Java-based technologies, whereas Kubernetes is a polyglot runtime platform" which is of dubious relevance to the topic being discussed. For an article that could ostensibly be accessed by many non-technical professionals seeking to understand aspects of modern software development topics, it seems like there is quite a bit of Spring Cloud FUD slinging and very little objectivity.