skysight-inc/HackerNews huggingface dataset:
The answer is like often in between.

You might want to always breaker up a monolith but there is indeed little reason to do it with micro services. You could just use modules. Or better breaker it into a number of libraries with well defined interfaces, which you then compose into one monolith binary.

But there are very good reasons to split out some code into services (which might or might not be micro services, just not in the same process).

One is that it (easier) allows you to use more than one programming language. Normally you should avoid that, but there are sometimes reasons for it for example if 80% if what you need is implemented in a library available in that language.

Another one is you can have different reliability constraints for different parts of the system. (Like number of instances handling load parallel).

Another one is reuse between different systems (e.g. sharing of user management by e.g. using OpenId Connect).

Another one is that you can upgrade part of the system without stopping other parts.

....(a bunch more)

So in the end I would brake it in parts and compose that parts into a number of services but I would not bother with the whole "micro" part and other cloud marketing bs (because that's what it degraded to).
That's no different than changing your API specification or refactoring your code or anything else. Ideally the entrypoints into your team's services should be considered hard contracts to the outside world and the rest of the organization. Changing the contract out from under your customer is not something that should ever be easy.

IMO the devops folks should define some standard containers that include facilities for reporting on low-level metrics. Most of the monitoring above that should be managed by the microservice owner. The messages that are consumed for BI and external reporting should not have breaking changes any more than the APIs you provide your clients should.
Shits hard yo
You've done a fine job of elucidating one of the many reasons why responsible codebases require braces for single-statement if clauses.
People don't use Waze anymore? I find Waze to be more accurate in terms of time on longer drives.
Emotional Resilience in Leadership Survey
see also: Former head of Australia's Signals Directorate weighs in on U.K.'s choice to stick with Huawei: https://www.aspistrategist.org.au/5g-choices-a-pivotal-momen...
Senator Sanders’ Medicare for All (S.1129): An Integrated Analysis
Accessible to whom? What makes tensorflow/keras more accessible than pytorch?
'Opioids' is a pretty wide category though.

I don't think something like a short-term prescription for low dose codeine/acetaminophen cough syrup is really a big deal. Stuff like that can even be over the counter in a lot of developed countries.
That's supposedly not a problem at 2km. Keep in mind that the stuff would be packed under 2km of dirt.
I specifically avoid viral earworm songs because I am very prone to getting them stuck in my head. I can have the same song playing "in the background" non-stop in my mind for days. I have songs in my dreams and I'll wake up with them still playing in my head. Sometimes it will just be a single bar of a song, or just a piece of it looping.

To this day, I have never once listened to "Chocolate Rain" or Rebecca Black's "Friday" because I fear never being able to turn them off. (I avoided Taylor Swift for, like a decade, but now just thinking about means I've got "Shake it Off" playing.)

Writing this out now makes me realize how weird this all sounds...
I sometimes do a mini meditation, quietly ignore the stream and it goes away. Or sometimes I try the opposite, forcefully suppress it.

I find that both have kinda the same effect -- all useful thought process get interrupted, including the abstract part.. :/
I kind of think the items (1) and (2) you list don't automatically mean micro-services, so much as they mean separation of concerns can be beneficial.

Isn't there room for a middle ground with modularity that can live in between a full blown monolith or a full blown microservices pattern, particularly for operations that are more medium scale?
It's a super tough problem. Even Google Maps messages you that it's a feature in progress (paraphrasing of course), and they've had years of a head start on this.
That is fascinating. I feel like I've seen this before and forgotten about. Really neat and I love that you can grab shared code from a CORS URI. That's great, especially for internal code sharing.
Google Lens is an important resource for AR interaction design
I'm a bit familiar with finnish industrial history. Finland has a history of massively innovative companies that were decades ahead of their competition in several sectors. The thing that they did not have, was capital funding, so they could not grow, and experience of global markets to have the know how to grow. So they remained small shops, with one or two big industrial clients who did not care to help them grow, and the world caught up with them.

The ones that managed to grow, are exceptions. Nokia and Kone are probably the more familiar ones (look at the next elevator you ride, there's a 50/50 chance it's made by Kone).

Finland is a capital poor country but rich in ideas.
Every data format secretly yearns to be XML, even if it loudly denies it when asked directly.
This is second large framework making the switch to Pytorch.

https://medium.com/syncedreview/japanese-unicorn-preferred-n...
Yeah, and Lenovo gets around this by shipping every machine at least with FreeDOS, which technically is an operating system.
I've honestly never heard of Waze.

EDIT: Holy downvotes, I didn't mean it as anything negative, I actually had to Google it. You can't hear about everything :3
Whether or not your system intentionally ended up with this architecture, GraphQL provides a unified way of fetching the data. You'll still have to implement the details of how to fetch from the various services, but it gives people who just want read access to everything a clean abstraction for doing so.
For me a single monolithic stack is far more debugable.
“Nothing is a magic bullet, but about anything will work if your game is good enough. You don't buy a bright and shiny to make your game better. Doesn't work like that.”

This 100x. If you aren’t able to maintain a monolith you will most likely mess up microservices too. Every approach has its own set of trade offs and problems. if you know what you are doing you can make things work.
One of the arguments that I want to make is that estimating poorly is not restricted to the software industry (obvious in retrospect).

Thank you. We have a weird obsession in software with ascribing characteristic deficiencies and unique blind spots to ourselves, and treating ourselves as children next to the real "grown-ups" in other fields. (I think we're overcompensating for the "arrogant nerd" stereotype.) In any profession they are aware of their stereotypical tendencies (their déformation professionnelle) and joke about it but don't get obsessed with their own inferiority or paralyzed by stereotype threat.

We don't even use it in a way that helps us find the best knowledge from other fields to apply to our own. We start with our own deficiencies, project some idealized version of another field to serve as the opposite, and then try to learn from our imagined idea of how that field works. Early in my career, this took the form of thinking that building architecture and construction did not suffer from the planning and execution difficulties that software did.

For example, in Austin the ownership group of the new soccer team is constructing a stadium that is planned to be ready for the start of the 2021 season. When I was a wee software developer in the early 2000s, I was taught that unlike our immature industry rife with childishness and careless arrogance, people who design and build physical structures are careful, methodical, mature, and too aware of the responsibility riding on their shoulders to make mistakes in design and planning. A stadium isn't some silly computer thing; it's part of a multi-billion dollar professional sports league with complicated travel logistics, bound by the obligation of tens of millions in presold season tickets! This responsibility is entrusted to serious people in a mature industry, and everything is planned out meticulously via responsible processes to avoid delays.

Seriously. This is how people in software, at least the ones I was exposed to, talked about how to improve the profession. The question was not, what can we learn from other fields that struggle with complicated design and schedule and budget problems, but what is personally wrong with people in software that we have not mastered this process that people in other fields OBVIOUSLY have.

But of course when talking to the season ticket sales rep, when we asked about the possibility of the stadium not being ready when the season starts, he said great question, construction delays happen, it has happened to other MLS teams in the past, and the league will rearrange the schedule so that the team plays nothing but road games for the first several months of the year and has their home games later. This has already been figured out, because the "mature" design and construction industry that meets its schedules through the magical power of seriousness only existed in the imagination of circa-2000 software process consultants.
Ahhhh so sick of companies featuring San Fran. The whole point is that it has better coverage Nation-wide. Pick literally anywhere else in the country!
The author is a Kubernetes expert, so perhaps you are the student and not the master?

https://github.com/kelseyhightower/kubernetes-the-hard-way
I rather suspect the reference was to Alexander the Great.
When I visited Paris, around 7 years ago, it was by far 2-stroke exhaust that was the problem. My Parisian coworkers, who also rode motorbikes, explained it was because the licensing and vehicle taxes are tiered by displacement. So everyone gets a small displacement 2-stroke, since a 2-stroke makes power equal to a 4-stroke double the displacement.

I haven't checked to see if this has changed since then.
I work at a small company, we have 5 programers, and 3 IT/Server/network people.

I'm one of the programmers, and the past few months I filled the role of devops/deployment engineering for our new website.

One great example is Sentry, I love Sentry, and it's been invaluable for us. It saves the web developers a crapload of time. Now Sentry has a self hosted option, and that's what we're currently using.

Now I know little about Sentry's internals, and frankly I don't really care. But sometimes it breaks, or we want it to be updated etc. Sentry offers hosting at 25$/mo, and would mean we don't have to worry about it at all, stability, upgrades, scale, are all handled by them.

25$ a month is less than 1 hour of my time. All it has to do is save me 1 hour a month to easily pay for itself.

---

Another example is that I just spent a large amount of time trying to setup a HA Postgres cluster. This meant I had to dive into the internals of postgres, how our orchestrator (patroni) works, setting up consul to manage the state, etc. This has taken a significant amount of time (several weeks) - it's easy to get a POC working, but actually ironing the bugs out is a different story.

Also nobody else on the team fully understands it's setup, so if it breaks, welp....

All this to say, for us a hosted DB option would likely have been cheaper (compared to my time and pay) and would have better uptime and support then us rolling our own solution.

----

We don't have any central log store, and I really wish we did. Similar situation here, I could spend a month or two configuring and tuning Elastic Search, or we could just pay for a hosted option.

---

Tl;dr - I'm a developer at a small company and have spent little time doing application development the past few months because of all the time that has been required to setup the infrastructure for our application.
The Cannabis Boom
Perhaps the solution is a single server where one can drop a zip file containing their microservice and have it automatically deploy without the hassle of setting up a new pod/server/container. Congratulations you have reinvented java servlets 1.0 circa 1996.
AKA pity timers!

Hearthstone used to do this for buying card packs, and d3 used to do it for legendary drops.

Dota2 uses a strategy it calls pseudorandom, where a 25% chance means a much lower chance at first that escalates rapidly to maintain an "average" (whatever that means to them) of 25%. This shrinks the range of possible outcomes while still allowing for chance
I tried for years and believe it or not this is what finally worked for me: https://www.youtube.com/watch?v=gcosBFS7lA8

One day I'd decided that I'd had enough, I was tired of wasting so much of my life. After undergoing that hypnosis, quitting wasn't easy, but it was super do-able for the first time ever.
I don't agree that the Finnish grammar is highly systematic. Take instance, the partitive case. It seems to be applicable to a mixed bag of situations with all kinds of exceptions. (https://en.wikipedia.org/wiki/Partitive_case)

Another example: the inclination of the genitive case to nouns. There is a whole bunch of rules again with many exceptions.
(See e.g. here: http://users.jyu.fi/~pamakine/kieli/suomi/sijat/genetiivien....)

(source: I'm also Dutch, my wife is Finnish so I have been trying to learn the language for many years with very limited succes .. )
You don't need to worry about government stability when you bury stuff under 2km of dirt. Any group with the ability to drill that deep would have the means to do serious damage whether they do indeed drill or not.
> Kodak still produces and sells film

Kodak Alaris != Kodak (ie. the original Eastman Kodak)

The later went into bankruptcy in 2012, selling off most of its remaining assets (though I think it still makes film for movie production). The reason for the bankruptcy is that the market for film died off in the 2000's. That, incidentally, had a huge impact on Kodak's (and my) home town of Rochester, NY. So yeah, I can see why people would be quite surprised that there's still this much interest in using film in 2020.
USA First confirmed person-to-person spread of the coronavirus
I think I need to explain this joke. I don’t mean that Monoliths are bad engineering, just that, as the article suggests, microservices don’t prevent bad engineering. And in many regards are inevitable without the right culture.
An arc that spans one radian of a circle's circumference has the same length as the radius.

So if you imagine a connected line of 233 suns across the sky, spanning 57.3 degrees, the actual length of that line would be the same as the distance from your eyes to the sun.
I don't know why you were downvoted, the importance of projects (and their leaders) is measured on the team sizes and budgets. So increasing costs makes the project and its leaders more important and valued.
This is only my individual anecdote, but when I switched between two EPIC-using care providers (Kaiser->Anthem/Sutter), once I provided consent they pulled all my records over and 5 minutes later I was talking to a new doctor who had all the info from my previous doctor.

All EMRs suck though.
I don't know enough about SDAM to know if it's the same thing as visual aphantasia, but they are presumably related. I am unable to visualize anyone's face (or, really, anything at all that isn't a black void), yet I can easily recognize the person (especially if I know them well) and I can describe them. What I can describe about them are whatever notes I've made about them to myself along the way (round face, black hair, mustache, broad chin, etc).
At this point, I absolutely hate when people use Apple Maps to find our community college. Apple just plain refuses to acknowledge the town we are located in exists. It also ignores all businesses on the reservation and points to the local Coca-Cola bottling location as the closest grocery store. I've filed bugs going back years and no changes.

Privacy and UI cannot overcome really poor data.
Or avoid them when your compiler hasn't documented if they support it. Such as gcc supporting union type punning in c++. Many compilers allow for reinterpret_cast'ing too, e.g. gcc and -fno-strict-aliasing

This is more of knowing your language and tools. UB isn't some magic beast either, it's where it isn't really feasible for a language that runs on many platforms to dictate what happens. What should the std's say when you shift a signed int too far? Often the HW will have a way of doing it and others will not, so either don't do that or know your implementation
Your argument is that more available supply on the market would cause home prices to increase. In econ 101 terms - That doesn't make sense. More supply -> cost goes down.

Lower incomes would actually be better off because it would mean that more properties would sell, lowering the price of homes, and thus rentals would have to come down in price too. Churn in housing market could lead to more housing developments as well - since you have to pay full price of the land you are just sitting on. You'd be better off developing the land than just sitting on an empty lot and paying lots of property tax.
I had a surprising conversation with a talented artist a while back and while we were discussing methods it came up that they always had to work from a model or photograph because they could not recall images, at all, from memory.
no highs no lows must be bose ?
Modern ES6 code snippets to solve practical JavaScript problems
The company wasn't very large at that time. Probably less than 100 engineers in 2007. One person could understand the bulk of the codebase in a a reasonable amount of time.

There was way more code than you're seeing here though, note all the includes at the top.
The book is "What's The Matter With Kansas" and it came out in 2004. Old hat at this point, e.g. Koch brothers, Fox News, Identity Politics, etc.

The real story is why the left isn't able to pull them back in, or reach out. There is no question that the Right owns that block and how they keep them, the actual question is what does the left do to change that? Maybe that means taking positions that're not crazy about, or maybe that just means people need to move en masse out of their blue enclaves.
I agree with this to some extent, but there are real advantages to having all your code in same framework, and PyTorch is significantly easier to iterate on and debug compared to TensorFlow (in my experience). Hopefully PyTorch will start offering better support for tensor processors like google’s TPUs, but from the sound of it, OpenAI is primarily using Azure for their training infrastructure and I don’t think Microsoft currently offers anything except GPUs.
This problem exists in monolithic data stores and codebases too. It's not as if independent teams have absolute sovereignty over their table schemas.

Schemas evolve as the needs of the product change, and that evolution will always outpace the way the business looks at the data.

The best way I've seen to deal with this is to handle this at report query-time (e.g. pick a platform that can effectively handle the necessary transformations at query-time, rather than at load-time).
It's like the movie Benjamin Button but with a case of amnesia every three years.
Is this still true after the update?
Scary stuff. Glad I'm not in academia, especially at UC.

What's really ironic is that, by making "commitment to diversity" the standard, they could (at least in principle) hire nothing but straight white males, if they all were ideologically committed to diversity.
On my device I see a tab for ride hailing services, which is showing me choices for Uber and Lyft. I like it a lot, since I'm often choosing between walking, public transit, and Uber/Lyft. It makes it really easy to compare options.

(Disclosure: I work for Google)
You're right, though k8s is often associated with microservices you can deploy a monolith with it. But there's a disconnect where as an expert in associated areas he's saying people aren't doing microservices properly, and you're saying just do them properly.
Babies are pretty damned good at reminding you they’re hungry.
Linux kernel boots on Apple A10 (iPhone 7, iPad 6/7)
>The people that maintain infrastructure/maintenance support for Julia apps are almost ready to quit their jobs. It sucks so bad.

Any specific examples?
They definitely have overlap. People use Ansible for much more than hardening sshd.
My wife used to work on an EMR that basically did the opposite of this - if a patient came in, and the dr was going to prescribe opiates, it would pop up a big window saying "Are you sure? There is potential for abuse..." for patients with a history of abuse (not sure what it did for other patients).
Yes! Has anybody written a head-to-head article pitting CNoEvil against BOURNEGOL yet? ISAGN
as always the truth is somewhere in the middle. monoliths make a lot of sense when you're starting out and you can see all your code in one place and you can build, test and deploy everything together. as the service grows there are arguments to be made around splitting it (based on usage patterns, loads, etc).

the things that most people don't get is that: microservices are not free (now you're doing all this devops stuff N times and you have to think long and hard about changes that need to happen across api boundaries). The anti-pattern is that you take your monolith and you split it in 10 but apart from actually doing all this work you still treat it as a monolith (ie you still do mono-repo because it's convenient, the deployment still happens at the same time for all services, you centralize everything when it comes to logging and metrics and you even force people to do things in a certain way when it comes to their service). Everything grinds to a halt and now you're more concerned about "growing" the team to fix the issues that popped up and maybe chasing the new shiny thing to keep your resume up-to-date. Even worse people start feeling like they "own" their service and now the decisions that are made are maybe locally optimal but who cares about global optimization.

So my take is: start with a monolith and in 85% of the cases you'll be just fine forever. you don't need all the bells and whistles to get the job done. Introduce new things only so solve actual pain-points and when you do actually thing through what it means to introduce them (so go N->N+1 and never 1->N)
That's not a good idea. The usage patterns for a production database and one that runs reporting are very different. Reporting has long running queries with complex joins, production has many parallel short queries. If you start mixing the two, you can no longer reliably tune your database. For example you would want the alert for slow queries set set to a different time out on production and on reporting.

Also, you complicate locking down access to the database. A reporting database can typically contain less sensitive info, reporting would not have password (hashes) for user accounts for example.
How to Find New Music
Worse, this is apparently an intentional choice.
Poor phrasing on my part. Certainly not bad in any respect for web stuff.

I merely meant that this is a welcome upgrade that specifically benefits web applications, even if it carries a minor computational performance penalty.
REST can do the exact same thing.