Dec 02, 2019

How to Outflank Google: Leave TensorFlow Defenseless

TL;DR

  • Each of the big tech companies is trying to leverage its own proprietary funnel to attract more developers to their cloud platforms
  • Google released TensorFlow, an open source deep learning framework, and gained an early foothold in developer mindshare
  • Amazon and Microsoft now both offer widespread support for TensorFlow across their cloud platforms, effectively diluting Google’s advantage
  • While Amazon has flexed its infrastructure muscles, Microsoft has focused on building powerful developer tools

The TensorFlow line of defense

In 2015, Google released TensorFlow to the world. It quickly skyrocketed in popularity to the top of the deep learning ecosystem.

Google had uncovered a massive value seam and unfulfilled need in the world of developer tools (the deep learning field was littered with old and brittle deep learning libraries).

With AI rapidly advancing, TensorFlow provided a prime opportunity for Google to drive AI workloads to its cloud.

But the story unfolded quite differently.

TensorFlow now powers deep learning on Azure and AWS—a whopping 85% of TensorFlow projects in the cloud are run on AWS. By quickly absorbing TensorFlow as a key feature of their cloud services, Amazon and Microsoft blunted the benefits of Google’s deep learning work.

Rapid change in deep learning and the casualties of big tech

Big tech’s deep learning takeover was not without its casualties.

First released in 2007, Theano was once the world’s leading deep learning library. Developed by the Montreal Institute for Learning Algorithms at the University of Montreal, Theano dominated machine learning across data science and academics.

In a world where deep learning was still a new and cutting-edge frontier, Theano established its supremacy. Research paper after research paper cited Theano as the deep learning framework of choice.

Then, Goliath defeated David.

the death of Theano

Beginning in 2015, with Google’s support, TensorFlow attracted a massive community of loyal developers. Microsoft, Amazon, and Facebook quickly followed suit with their own frameworks, sparking an overnight explosion in the number of powerful open-source frameworks and libraries for deep learning projects.

The impact was felt almost immediately—major development on Theano ceased in 2017 due to competition from strong industrial players.

Building the new deep learning landscape

Keen to attract developers, big technology juggernauts like Google, Microsoft, Amazon, and Facebook are ushering in a new era of highly-accessible deep learning.

Deep learning libraries: TensorFlow, Keras, PyTorch, MXNet, Microsoft CNTK
Most popular deep learning libraries.

Google’s TensorFlow easily dominates the deep learning field. Developed by the Google Brain team and released as an open-source framework, TensorFlow is a powerful deep learning tool still widely used for research and engineering at Google.

Keras, developed by a Google engineer, is an elegant frontend API that plugs directly into TensorFlow and other deep learning frameworks. With Google’s blessing as the core frontend for TensorFlow, the Keras repository has amassed a massive following.

On the heels of Google, Microsoft released its open source framework CNTK, known as the Microsoft Cognitive Toolkit. Microsoft’s neighbor, Amazon, never developed its own framework—instead, it chose Apache MXNet as its deep learning framework of choice for AWS.

Pick your framework at the fork, and the cloud is straight ahead

Google, Microsoft, and Amazon are locked in a race to convince engineering teams to move their machine learning models to their cloud platforms.

For developers, Google Cloud is a worthy deep learning cloud service, offering a handful of useful development tools—everything from a fully-managed service to custom instances to user-friendly cloud notebooks for data scientists.

But how do you convince developers that your deep learning capabilities are the best?

TensorFlow is one of Google’s most promising beachheads into the developer world. Google dominates developer mindshare in the deep learning space—and that is unlikely to change.

Google even integrated Keras—designed to be an interface to multiple deep learning frameworks—as part of the TensorFlow core. TensorFlow and Keras, both incredibly popular in their own right, are now inseparable.

Google Cloud, TensorFlow, and Keras
Google's machine learning stack.

TensorFlow was intended to be Google’s conveyor belt for ushering developers to Google Cloud. Backed by the unmatched popularity of TensorFlow, Google should be the conqueror of deep learning in the cloud.

To some extent the strategy has worked—Google continues to claw market share from many of its competitors.

It’s not a differentiator if there’s no difference

But Google failed to cover its flanks.

Unable to compete (yet) with TensorFlow, Microsoft and Amazon embarked on new strategies to grow their cloud services. The crux of their strategies is simple: acknowledge the popularity of TensorFlow and offer world-class support for TensorFlow projects in their cloud products.

AWS has continuously rolled out support for many other deep learning libraries—thanks to its focus on mass-appeal infrastructure—rather than developing and releasing its own framework.

Its strategy has paid off massively.

Amazon claims that a staggering 85% of TensorFlow projects running on the cloud are running on AWS. That’s right—a project unleashed by Google is now the backbone of the world’s most powerful cloud service.

Like Google, AWS offers robust machine learning tools. Data scientists and developers can quickly build and deploy models using either a fully-managed service or custom-built instances, like EC2.

Amazon has wisely integrated deep learning tools with its dominant cloud infrastructure, diluting Google’s early deep learning advantage.

Reinforcing the developer-first strategy

Microsoft refused to be outdone by Google, too.

Microsoft renewed its push to become a developer-first company. Beginning with the release of Visual Studio Code, its wildly popular open source code editor, and continuing with its acquisition of GitHub, Microsoft sees immense value in building tools that developers love.

Microsoft wants to be everywhere that developers are.

Microsoft developer ecosystem
Microsoft Developer Ecosystem.

Official support for TensorFlow on Azure was the obvious next step. By opening its doors to as many developers as possible, Microsoft positioned itself as the most flexible, developer-friendly cloud service.

The same strategy has worked for Microsoft before. Today, on Azure, Linux is increasingly more popular than Windows Server.

Microsoft wants to be a visible option in every software engineer’s development process. And that means embracing all the tools and frameworks developers love and use today.

Marching toward the next frontier

How will the deep learning wars end?

Google is likely to continue its long campaign with frameworks. TensorFlow was recently ported to JavaScript with TensorFlowJS, opening up the possibility of building robust deep learning models directly in the browser. Coincidentally, Google’s Chrome has a stranglehold on the browser market.

Amazon will continue to embrace and layer services like deep learning on its dominant infrastructure.

Microsoft sees a bright future in its developer-first ethos and strategy. Investing in tools that developers love can help Azure avoid the same fate as Microsoft Windows, the once dominant developer platform that was eclipsed by Apple’s iOS and Google’s Android.

TensorFlow is an early battle in what is sure to be a long, drawn-out fight for control of AI in the cloud. Regardless of which big tech vendor wins, developers are the ultimate winners, as vendors pull out all stops to compete for their business.

Want to get more of these in your inbox?

Subscribe for weekly updates from the Software team.