We have a mobile app project which at this moment gets very low traffic (few server hits per day) but due to potential cooperation with a big company we might soon start serving as much as 500.000 customers per month.  Our backend services are hosted at DigitalOcean (and we'd like to keep it that way as much as possible) and we have CloudFlare (free version) in front which also handles DNS and other related stuff.  The backend service is divided into 5 Node.js apps: api (serving data from the database), cdn (serving images), cms (admin content management), shared_modules (codebase shared between 4 other apps) and www (landing page for the mobile app). Currently all 5 apps are being "dockerized" within one DO droplet (Dokku-based image, the cheapest $5/mo droplet).  The most important apps are api and cdn which must always be available because they're the backbone of our mobile app.   I do understand that at least each app should get its own droplet but it's obvious that won't be enough to serve so many customers. Ideal solution would let us spin additional droplets per-request basis without much additional configuration to do so.   While I'm also aware that app optimization plays a major role when it comes to high-performance setup, at this moment I'm more interested in the server architecture aspect.  My question is what would be the most reliable (and also the cheapest) server architecture setup which would be able to serve so many customers per month?  EDIT: I disagree this question is related to the linked question simply because I'm providing specific information (numbers, technologies/services used) and I'm looking for specific solutions (the exact server-side architecture to handle high availability, high performance requirements in my case). The linked question is related to high availability, high performance in general or theory (which might be sufficient for writing a thesis) but it is NOT what I'm looking for. The linked question DOES NOT answer my question at all. If I were to look for "dry" information on high availability, high performance then I would go through Wikipedia and not ServerFault. In light of everything said I'd kindly ask you unlock this question because I'm not getting my answer from the linked question. Thanks.
This is a  about  Related:      I have a question regarding capacity planning. Can the Server Fault community please help with the following:   What kind of server do I need to handle some number of users? How many users can a server with some specifications handle? Will some server configuration be fast enough for my use case? I'm building a social networking site: what kind of hardware do I need? How much bandwidth do I need for some project? How much bandwidth will some number of users use in some application?
custom button visibility list view I have addded a custom button to list views in the Contact object. I have multiple list views but I just need to show the custom button in some of the list views and it should be hidden in the remaining lists views.  Is this possible? Thanks! How might I schedule a C# Windows Service to perform a task daily? I have a service written in C# (.NET 1.1) and want it to perform some cleanup actions at midnight every night. I have to keep all code contained within the service, so what's the easiest way to accomplish this? Use of Thread.Sleep() and checking for the time rolling over? How do I make my glasses look realistic? Sophomore's dream: $\int_0^{1} x^{-x} \; dx = \sum_{n=1}^\infty n^{-n}$ Microbot Alpha says "All of your minions are considered Microbots."  Does this mean while this card is in play, every single minion in play and in discard and in my hand are considered Microbots?   For every Microbot Fixer in play, does every single minion I have in play now get +1 because they are all microbots? If Microbot Archive is in play, does every single minion I have now cause me to draw a card when destroyed? If I play Microbot Reclaimer, can I shuffle any minions from my discard pile into my deck (by considering them all microbots)?   It looks like this link addresses the first item above:   And it looks like this link addresses the 3rd item, implying that minions in the discard are not minions because they are out of play: Remove all content using pure JS Vortex in liquid collects particles in center At xmas, I had a cup of tea with some debris at the bottom from the leaves.  With less than an inch of tea left, I'd shake the cup to get a little vortex going, then stop shaking and watch it spin.  At first, the particles were dispersed fairly evenly throughout the liquid, but as time went on (and the vortex slowed, although I don't know if it's relevant) the particles would collect in the middle, until, by the time the liquid appeared to almost no longer be turning, all the little bits were collected in this nice neat pile in the center.  What's the physical explanation of the accumulation of particles in the middle?  My guess is that it's something to do with a larger radius costing the particles more work through friction... Where is the Layers panel in Blender 2.8? Is there a term that means "a person who enjoys learning"? This term might be used to describe someone who:   Is a self-motivated learner. Is curious, wants to understand many things.   I understand the term "philosopher" might be a good fit, in terms of its root words, however, the general population has an inconsistent understanding of this term, so I am looking for a more precise term. What is the direction of stack growth in most modern systems? I am preparing some training materials in C and I want my examples to fit the typical stack model.  What direction does a C stack grow in Linux, Windows, Mac OSX (PPC and x86), Solaris, and most recent Unixes? Currently, once an edit by a user without full edit privilege is suggested, it can be either approved or rejected.  There is a known edge case that cause suggested edits to get auto rejected: (aka edit conflict)   User with full edit privilege click "edit" and start typing. Let's name this user Joe. Since the user from previous step did not yet send the edit, users without full edit privilege can still click the "edit" as well, oblivious to the fact someone else is editing the same post in those very seconds. Such user click "edit" too and start typing. Let's name this user Kenny. Kenny is faster than Joe: he send his edit first, creating new suggested edit. Joe is still typing. Joe finally done typing. He send his edit to its merry way oblivious to the consequences. As result of the full edit made by Joe, Kenny's suggested edit is kicked away and rejected. Boom.   This is all known and reported many times.  where the user got it hard with at least two auto rejections in short period of time. Some concrete examples: , , .  For edge case, it became pretty thick edge. This is not just minor hassle: enough rejections, and the user is banned from suggesting for a whole week: and remember we're talking here about good edits made by good users. The above used to count for the ban, but . Thanks Gilles for requesting such a change!   I know it was already suggested to lock edits and similar solutions, but I suggest whole different approach: instead of auto rejecting the suggested edit, dismiss it, i.e. cancel it like it never existed same way a bounty can be revoked by moderator.  In the edit suggestion page it will show "Dismissed" instead of Approved or Rejected maybe with a tooltip explaining what caused this. This will soften the blow from those edge cases, taking the edge out of them. :) Where do the bipolar jets of black holes come from? The Public Platform team is continuing to work towards  and we’re here today to announce a new onboarding experience for the review queues. In the  (), we learned that each queues’ instructions could be easily misinterpreted and additional information was difficult to find. Without proper guidance or context, new reviewers would contribute inconsistent reviews and risk having their review privileges suspended. With this release, our goals were to 1) better highlight the review privilege and 2) provide upfront instruction and guidance for successful reviewing. New privilege announcements Community moderation is a significant aspect of Stack Overflow and the Stack Exchange sites. We want users to be aware and familiar with this newly earned privilege, but also celebrate the opportunity to contribute to the community in a unique way.  Many users were discovering the review queues by chance. Once the privilege is earned, a new review queue icon with a red alert would appear in the top-right part of the navigation. We are adding a popover to bring more attention to this easy-to-miss icon. We will also be adding notices for when users earn access to other, higher reputation queues. Additionally, new reviewers will also receive an email notification about the newly earned privilege. They will only get the email if they earn the privilege and don't perform a review within 24 hours (anyone who doesn't want to receive email notifications like this can visit their  and turn off &quot;Tips and Reminders&quot;). We are also showing a popover to users who earned access to review queues in the past, but have never done a review or haven't reviewed in the last 30 days. This popover is only appearing for the next 90 days. The goal is to engage users who may not have interacted with the queues since we made  and . Welcome banner  If a reviewer clicks “Learn more” on the on-page popover or goes to the review queue home page (/review), they’ll be greeted with an onboarding message with general information about the review queues. Informational modals  Queue-specific modals will appear upon page load as you visit each queue. They summarize and highlight important aspects and tips about reviewing in a particular queue. This information can be revisited at any time by clicking “Learn more” under the page header. Feedback As always, please leave your feedback and any bugs you may discover related to this release below this post. We will be monitoring this post for the next few weeks (May 4, 2021). After May 4th, please report any further issues as new questions. Factors for max CP at a particular trainer level? Let $X$ ~ $Bin(n,p)$ and $Y$ ~ $Bin(m,p)$ be two independent random variables. Find the distribution of $Z=X-Y$.   see also   I figured this out:  $$ P(Z=z)=\cases{\sum_{i=o}^{min(m,n)} Bin(k+i,n,p)*Bin(i,m,p), &amp;if $z\ge0$;\cr \sum_{i=0}^{min(m,n)} Bin(i,n,p) * Bin(i-z, m, p),&amp;otherwise. \cr}$$  I also validated it by Monte Carlo simulation. For $n=30$, $m=20$ and $p=0.5$, I get the following distribution, where the circles are the analytical probabilities and the line connects the MC estimates.    Because that looked to me pretty much like a binomial distribution, I gave it a try and figured out that its actually a binomial, just shifted by m to the left. This can be simply written as $P(Y=y) = Bin(y+m, m+n, p)$. Hence, given equal success probabilities, the sum of two independent binomially distributed random variables is binomial, but also their difference, just shifted to the left.  This question here  is actually the same as mine, but received no answer and only the comment that there would be no simple formula. But the above formula looks pretty simple to me.   Is it correct that for the case of equal success probabilities, the above equations actually describes the distribution of $Z=X-Y$? I read in a book that $Z$ could not be binomial distributed because it had negative support. Is it right to call it a shifted binomial? How is "I have come" + infinitive different from Present Perfect? I need to find the cardinality of the set $S$ of all infinite subsets of $\mathbb{Q}$.   It's easy to prove $\operatorname{card} S=\mathfrak c$ if you first prove that the cardinality of the set of all finite subsets of $\mathbb{Q}$ is $\aleph_0$.   But is there some other proof for the statement without using the second one (about finite subsets)? Probably there is =) If I select a feature and run self.iface.actionIdentify().trigger() it will open the identify window but won't open the selected feature's data, how can I make it open the data of the selected feature? equivalent norms in Banach spaces of infinite dimension How do I size a UITextView to its content?