largely solved) this problem for themselves with systems like Borg and Autopilot,
respectively. The systems automatically manage resource allocation and
high availability for the services and applications that run across
their millions of servers. Algorithms, not developers or software
architects, determine where things run and on how many machines.
Why Apps Need A New Data Center Stack | TechCrunch
Microsoft's new services are built on Service Fabric ( http://aka.ms/
which Microsoft released the other week (for Windows - Linux apparently
coming "soon"). Fabric handles deployment, high availability,
resource-aware load balancing, replication, etc.
rather than deploying machines for Hadoop, Cassandra, etc, you deploy
Service Fabric and let it manage your services. Your services have to be
written with Fabric in mind to take full advantage of it, but you can
get the high availability & deployment system by writing a Fabric
host for it (eg: https://github.com/
Instead of everyone writing their own distributed consensus
system and hoping for the best, they can plug into the replication
system which Fabric provides. That way, you don't end up with flawed
replication like what MongoDB uses (used? https://aphyr.com/posts/
Some services built on Fabric: Cortana, DocDB, (parts of) Azure Active
Directory, Azure SQL Database, Event Hubs, Service Bus, and Lync
(apparently now called "Skype for Business" ).