Stuff The Internet Says On Scalability For February 12th, 2016


Maybe this year's Mavericks can ride some gravitational waves?  If you like this sort of Stuff then please consider offering your support on Patreon.

  • 3.96 Million: viewers streaming the Super Bowl; 1000 kilometers: roads made of solar panels in France; 500mg: amount of chlorophyll absorbing photons in a tree;

  • Quotable Quotes:
    • cmyr: soundcloud actually represents a very important cultural document; there is tons of music that has been created in the past 5+ years that exists exclusively there, and it would be a tremendous cultural loss if it were to disappear. 
    • aback: we will continue to endure substantial cultural losses for so long as people continue to believe that content can & should be distributed and consumed for free.
    • @dotemacs: - We’re moving to Java + Spring. - Why? - Cos of threads… and scaling… - OK … what exactly…? - I’m just going by what I was told.
    • @asolove: Chaos Monkey People: every week, one randomly-selected person must take the whole week off regardless of their current work. Org must adapt.
    • @waynejwerner: we almost started using them, but couldn't find examples of not Google / Netflix using containers in production
    • Oisin Hanrahan: Scaling is a never ending process of revisiting the same challenges at different volume points and learning from each and every one so that we get better and better. 
    • @nickcalyx: Q: What's the difference between USA and USB? A: One connects to all your devices & accesses your data, and the other is a hardware standard
    • @mathewi: In an alternate universe, Twitter never went public and is a profitable real-time news utility with an open API and multiple revenue streams
    • @etherealmind: “QOS in the Internet is like equipping fish with tricycles” - Geoff Huston - I laughed so hard. (podcast out later today)
    • Jef Akst: Plants may trick bacteria into attacking before the microbial population reaches a critical size, allowing the plants to successfully defend the weak invasion.
    • @CapgeminiIndia: Every uber car replaces 9 personal cars, digital innovation has a wider impact than you think. - Noshir Kaka #Nasscom_ILF
    • @EmperiorEric: CloudKit is fantastic, and its scaling tiers are not only amazing when free, but extremely cheap when not. But daily bandwidth scales slow.
    • Palmer Luckey: If a year from now we can have the people who buy into VR [Oculus] using their headsets every day, every week, coming back to it regularly, that’s what makes VR a huge success
    • Fister: all of the archives in the world could be stored in one box of seeds.
    • Annisa Cinderakasih: I really like the idea walking through the park/botanical garden which actually a ‘data library’, while I can listen to the narration of its data inside just by touching it.
    • @swardley: The time of war is upon us in gaming and many components of the gaming value chain are ripe for shifting from product to commodity (+utility) forms. 
    • @joyent: Q: "Are we at peak confusion in containers?" A: "5 more schedulers and we’re there." - @frazelledazzell from @docker at #ContainerSummit
    • @capotej: scala career timeline: year 1: dope, gonna write some terse code year 2: hmm, maybe i shouldnt use every feature year 3: java 8 looks nice
    • @skamille: OH: "I thought cloud native referred to engineers born after AWS launched?
    • AaronLasseigne: It's [Snapchat] a video game for her. She doesn't look at the photos in the morning, she just responds to keep the chain going. It's like grinding. She has a score, tries to improve it, get trophies, new equipment (I mean filters), etc.
    • @kentbye: Google will put out a Project Tango phone in 2016 with 3D depth sensors. It'll bootstrap consumer AR at mobile scale 
    • @pas256: Google Cloud Functions are completely different to AWS Lambda: exports.fn = function(context, data) vs exports.fn = function(event, context)
    • medicine.ai: The Next Miracle Drug is an Algorithm.
    • @viktorklang: "The secret to very responsive systems is to keep the utilization down." - @mjpt777 (from Queuing Theory)
    • Mark Anderson: The cloud and the Internet of Things will likely provide plenty of snooping opportunities for the agency and others like it.
    • @WhatTheFFacts: It would take you 10 years to view all the photos shared on Snapchat in the last hour.
    • @kevinmarks: government should not be an app, but a protocol. Unauthenticated read, POST with nuance
    • @noggin143: the cern openstack cloud at 155K cores has no proprietary extensions IMHO.
    • @beaucronin: The VR strategy chess game is getting very serious 
    • @HoustonTexasVR: Blows my mind @Amazon can buy a game dev engine & release it free, no royalties just to promote uptake of its web services / cloud platform.
    • Kieren McCarthy: We're going to use your toothbrush to snoop on you, says US spy boss
    • Steve Ranger: In a surveillance economy, privacy represents an opportunity for profit forgone.
    • sudovoodoo: Should say that we horizontally scale this [socketcluster.io] thing pretty heavily using the sc-redis module. Elasticache + ELB + 4 EC2 Instances = support for 5000+ person conferences :D
    • @thenewstack: 8 percent of enterprises are using containers in production release today--Dave Bartoletti, @forrester #ContainerSummit @joyent
    • @Jumanjiman: OH: software is eating the world, and #containers are the gullet. #ContainerSummit
    • @joyent: "All future apps are being designed with containers in mind.” - Matt Pick from HBC at #ContainerSummit
    • @aabelak: "Firmware is the enemy, by the way. Firmware is impeding forward progress." -@bcantrill #ContainerSummit
    • @bcantrill: "Hybrid cloud is a problem that people have, not something that people want." -- @DaveBartoletti at #ContainerSummit

  • Netflix has completed its 7 year long odyssey of moving all their operations to the cloud. Completing the Netflix Cloud Migration. It's really a love story. Netflix has grown their streaming membership 8x from 2008 and overall viewing has grown by three orders of magnitude. To support this growth they could not have racked servers fast enough in their own datacenter. Nor could they have grown world wide to support 130 new countries. Reliability is up, approaching four nines. Costs are down, costs per streaming start ended up being a fraction of those in the datacenter. Cloud elasticity is the driver for reduced costs. It's possible to continuously optimize instance type mix and to grow and shrink their footprint near-instantaneously without the need to maintain large capacity buffers. And on their voyage they've taken us all with them, teaching everyone what it means to operate at scale in the cloud. Netflix Open Source

  • 1 billion Apple devices are in active use around the world. Interesting metric, to talk about the number of devices instead of the number of users. Apple is saying we may not be able to grow users as fast as we used to, let's count devices instead, that we can grow, and BTW, we plan on making a lot more devices to sell to a loyal customer base. Also Wall Street, that's a pretty big market to sell accessories and services into. We're not dead yet.

  • Meta fatigue, there's no pill for it, but JavaScript fatigue fatigue offers tips against feeling overwhelmed: Don’t try to know everything; Wait for the critical mass; Stick to things you understand: don’t use more than 1–2 new technologies per project; Do exploratory toy projects.

  • This is a massive change in Enterprise IT. Network Break 73~ Enterprise IT doesn't change fast. They are on decade long ownership cycles because they've been convinced to treat their IT assets like heirlooms, we by an app and commit millions and millions of dollars to lovingly monitoring and maintaining it. ROI is calculated on over a decade. We are moving to an era when assets should be regarded as consumable items, like printer cartridges, that should be bought and discarded on 1-3 year horizons. Software should be regarded as disposable item. You buy an app today and it continues to iterate. You develop your own app which continually develops or you buy a cloud service that continually iterates. 

  • Does the answer to the Riddle of cement’s structure contain lessons for datacenter scheduling?: “You can always find a smaller grain to fit in between” the larger grains, Pellenq says, and thus “you can see it as a continuous material.” 

  • What’s Lost With a DevOps Team: Instead of creating a flow from development to DevOps to operations, consider putting development, tools, and operations all together and giving them the same goals. They should be collaborators working shoulder-to-shoulder rather than work stations in a software factory.

  • Google's getting into the function business. Google Cloud Functions. A big part of the value of Lambda is the richness of all the services of AWS and the events those services emit. It makes the datacenter scriptable. It will be interesting to see how Google handles that part of the value proposition.

  • Mossberg: Apple’s apps need work. While Apple's obsession with slimness in the form if thin phones and reduced feature apps leaves many users hungry for more power, you have to feel for Apple developers. They have a huge Apple strategy tax to pay that must make improving apps way down  the priority list. There has been an explosion of device types, a constant stream of OS releases with lots of new features, and many new services to support. That's a lot of making progress by running in place for Apple developers.

  • Sometimes size does matter. Using The Biggest Virtual Machine in Microsoft Azure’s Cloud: This is a machine with: 32 Xeon processor cores. 448 GB RAM. Up to 64 x 1023 GB data disks, running at SSD speeds and transfer rates.

  • Now that the bell has tolled and the heat death of Moore’s law is upon us, what will we do? nostrademons: software development practices will change to recover a lot of the speed that's been lost. CuriouslyC: there is still a ton of room to scale performance by improving parallelism. u320: The problem is that automatic parallelism like you suggest creates lots of small tasks, but to go fast you need fewer large ones because of threading overhead. gnarbarian: I would like to see something a little better than C for a standardized approach to heterogeneous computing that lends itself to elegant datastructures AND massive concurrency across GPUs and CPUs. Also, An end to scaling: Intel’s next-generation chips will sacrifice speed to reduce power.

  • Using AWS Aurora: As we hit the million student mark…we had engineered a solution that worked great for 10,000 students or 100,000 students but we were having lots of difficulties at the million student mark. The Amazon Aurora announcement happened right around here and we were absolutely thrilled because it was a free 5X gain in scalability and we couldn't really rearchitect our data storage layer or our data pipeline with three engineers because we were still building features as a startup. 

  • Making cellular work for sensors on a broad scale would be great for IoT. It's still way too expensive, but this is a great start. The $59 Electron offers cellular connectivity for 99 cents per MB on a 3G connection. Stacey Higginbotham explores this topic in her IoT podcast: Episode 45: A Playground for IoT and how to buy a data plan for your device. It took a year to negotiate the contract with carriers. The typical use for cellular IoT is more industrial than WiFi, which is consumer oriented. Since you pay for every byte on cellular you really have to think about how much data you send. Encryption has a cost.

  • Normally violence is not the answer, but Kill Your Dependencies has been judged moral by a virtual panel of chatbot ethicists. The problem: "Every dependency in your application has the potential to bloat your app, to destabilize your app, to inject odd behavior via monkeypatching or buggy native code." So ask yourself: Do I really need this at all? Kill it. Can I implement the required minimal functionality myself? Own it.

  • Videos from Hot Chips 2015 are available.

  • Native or app? Building A First-Class App That Leverages Your Website: A Case Study. Why not both?: "Choose the technology for each feature based on performance, the development effort required and how fast you need to get it out the door." The result: Transactions per unique visitor were 76% higher with the app experience than with the web; Unique daily users of the app were 20% more likely to convert; App users spent 63% more time browsing than web users.

  • Joel Duffy does a delicious deep dive on how errors should work in a programming languages. The Error Model. Few topics generate more division among the glitterati. After discussing a long list of options the result was a "relatively predictable and tame outcome," but the ride getting there was illuminating.

  • Published on Medium, of course. The Message is the Medium: The shift from a messaging app using a pipe model (e.g. BBM) vastly differs from a platform model (e.g. WeChat)...the emphasis is on BOTH producers and consumers in the platform world.

  • Tim Bray discusses a little about how Ama­zon CloudWatch Events works. He touches on Amazon's real competitive advantage: The databas­ing and stream­ing and sync­ing in­fras­truc­ture we build on is pret­ty slick, but that’s not the se­cret. The man­age­ment tools are nifty, too; but that’s not it ei­ther. It’s the trib­al knowl­edge: How to build Cloud in­fras­truc­ture that works in a fal­li­ble, messy, un­sta­ble world.

  • Videos for microXchg, the microservices conference in Berlin, are now available.

  • Interview: Lambda As A Proxy With Spreaker: We use a bunch of technologies. Spreaker has a pretty complex infrastructure and delivers tens millions of requests per day. To keep it simple, the web application (website and API) is backed by PHP, Node.js, PostgreSQL, Redis, RabbitMQ and Sphinx. We also run a multi-region live audio streaming application developed internally in Java on the great Netty framework. We have mobile applications for iOS and Android, both written in the respective native language, and we finally have a constellation of microservices to run asynchronous jobs.

  • A touching heart felt story of the human condition. nanomsg postmortem and other stories: This is how nanomsg died: we decided not to work together, and the people doing actual work all went to work separately...From this observation I derive the following Rule: the success of a project requires contributors entering the project at least as fast as they leave...If I have learned one thing, it is to always keep my eye on entrance and exit rates. When the numbers are good...Projects can ignore this for awhile, but then people leave, and suddenly the thing falls over.

  • Epic article on MySQL Performance: Scalability on OLTP_RW Benchmark with MySQL 5.7. Lots of graphs and meaty technical discussion. Some summary: there was a really huge gain made in scalability improvement in MySQL 5.7; reaching over 40K TPS on OLTP_RW is the highest ever result I've seen on MySQL until now ;-)

  • Mark Henderson with a great explanation of how and why to use Let's Encrypt to Encrypt all the things!

  • SignalFx runs 72 nodes serving mid hundreds of millions of docs (just under 20TB worth) using Elasticsearch. So Scaling Elasticsearch: Sharding and Availability for Hundreds Of Millions of Documents is something they know about. Their advice: Start with a single shard and moving up from there; Start out with more than one shard per node so you can horizontally scale by adding nodes and moving shards until you hit a one-to-one ratio; Break up long processes into smaller components; we can now scale, reshard, move indexes with zero downtime.

  • Some good advice on scaling a database for the clueless.

  • How Big Banks Thread The Software Performance Needle. Interesting look at advanced scheduling on a single machine rather than at the cluster level. Definitely seems like there's room for intelligence to make a difference. Simple priority mechanisms or tactics like pinning are not as useful as complexity increases. Also, Erlang Scheduler Details and Why It Matters.

  • How to build stable systems. A very opinionated article with lots of good advice from Jesper Andersen. Too much to gloss here. But Ed as the default text editor...what's that about?

  • Damn, it all fits together so nicely. Building mHealth Applications (Part 2): In this post, I’ve introduced you to some of the AWS services that are useful to startups that want to quickly build and scale an mHealth application. With the diversity of services available and the ease of integration, startups that choose to build on top of the AWS platform should be able to continually expand their business without having to find and integrate additional infrastructure components. 

  • At over 300 pages The Princeton Bitcoin textbook is now freely available: If you’re looking to truly understand how Bitcoin works at a technical level and have a basic familiarity with computer science and programming, this book is for you.

  • Maybe Amazon won't win gaming. thenomad: As I said about Autodesk's offering, Stingray, I think that even a giant like Amazon is going to have an uphill battle bringing a new game engine into mass use. Having been testing game engines just this week, I'm reminded just how much of an ecosystem has built up around Unity in particular - displacing an engine with that is like displacing Wordpress as the dominant blogging engine.

  • In addition to bed wetting, torturing animals, and setting fires, should we add harassing virtual assistants to the predictors of psychopathy? Microsoft’s Cortana gets sexually harassed, but she fights back.

  • Apple is moving to a stateless model to support their Shared iPad for education product. Data Management and Synchronization for Shared iPad. That's a huge change. Very Google Chromebook like.

  • It really is. Awesome Computer History: A curated list of computer history videos, documentaries and related folklore maintained by Thomas Watson.

  • Murat takes a well rounded look at Holistic Configuration Management at Facebook: The configerator philosophy is treating configuration as code, that is compiling and generating configs from high-level source code. Configerator stores the config programs and the generated configs in the git version control...The P2P file transfer mentioned as part of PackageVessel is none other than BitTorrent...When an engineer saves a config change, it takes about ten minutes to go through automated canary tests...The paper claims push is more advantageous than pull in the datacenter for config deployment.

  • Eliminating Large JVM GC Pauses Caused by Background IO Traffic: Latency-sensitive Java applications require small JVM GC pauses. However, the JVM can be blocked for substantial time periods when disk IO is heavy...an immediate solution should be avoiding the IO contention by putting the GC log file on a separate HDD or high-performing disk such as SSD.

  • Papers from VLDB 2015 are available.

  • The title is no lie. A Comprehensive Guide to Building a Scalable Web App on Amazon Web Services - Part 1. Looks like it will be an excellent series.

  • Why might your dataflow pipeline might not scale? Writing Dataflow pipelines with scalability in mind: One common problem we see is pipelines that perform needlessly expensive or slow operations for each record processed; Hot Keys; Large Windows;  

  • Scientists open the ‘black box’ of schizophrenia with dramatic genetic discovery: In patients with schizophrenia, a variation in a single position in the DNA sequence marks too many synapses for removal and that pruning goes out of control. The result is an abnormal loss of gray matter. "This could not have been done five years ago," said Hyman. "This required the ability to reference a very large dataset . ...When I was [NIMH] director, people really resisted collaborating. They were still in the Pharaoh era. They wanted to be buried with their data."

  • Big Dimensions, and What You Can Do About It: In this post we’ll explore this so-called “curse” of dimensionality, explain the formality of why it’s seen as a curse, and implement a wonderfully simple technique called “the random projection method” which preserves pairwise distances between points after the reduction. As usual, and all the code, data, and tests used in the making of this post are on Github.

  • CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy: In this work, we will present a method to convert learned neural networks to CryptoNets, neural networks that can be applied to encrypted data. This allows a data owner to send their data in an encrypted form to a cloud service that hosts the network. The encryption ensures that the data remains confidential since the cloud does not have access to the keys needed to decrypt it.

  • High-Availability at Massive Scale: Building Google’s Data Infrastructure for Ads: This paper focuses primarily on stream processing systems, and describes our general approaches for building high availability multi-homed systems, discusses common challenges and solutions, and shares what we
    have learned in building and running these large-scale systems for over ten years.

  • Write Fast, Read in the Past: Causal Consistency for Client-side Applications: The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. 

  • paradoxical-io/cassieq: a distributed queue built on cassandra. CassieQ leverages lightweight transactions and message bucketing to avoid issues with queues modeled off deletes.

  • New Concurrent Hash Maps for C++: Today I’m releasing Junction, a C++ library that contains several new concurrent maps. It’s BSD-licensed, so you can use the source code freely in any project, for any purpose.