Mainframe 2: How the Cloud Became Visual
Lessons Learned from Our First Two Years
Twelve months ago we launched Mainframe2, a cloud service that lets you run any software in a browser. Instead of an expensive workstation, all you need is a good Internet connection and any device with a screen — our visual cloud takes care of the rest.
Our customers today include a wide range of businesses, from startups to major software vendors like Adobe, using Mainframe2 for SaaS-like distribution of packaged Windows applications. We’re still in the early days of the PC-to-the-cloud shift for graphics apps, but we’ve learned a lot while witnessing the birth of the visual cloud and would like to share some of our experiences with you.
Our journey started in early 2012. As CTO of MotionDSP, I was responsible for designing and shipping world-class video processing software. The technology, like many others, was packaged as Windows software. It was hard not to envy my counterparts in SaaS companies: Wouldn’t it be great to build one version of our application that we’d deliver as a service and update whenever we wanted?
But it was 2012, and the cloud lacked one key feature: graphics. That meant no OpenGL, DirectX, or CUDA. Our software couldn’t work without those GPU APIs, and neither could thousands of other apps built over the last decade. It seemed that we were stuck with Windows PCs.
Still, the idea of cloud GPUs provoked many questions: Even if the right GPU hardware was available, how would a software developer really deliver apps from the cloud? Who’d make sure that the streaming is smooth and that scaling works out of the box? Who would make it all happen?
Once I started thinking about all of this, I just couldn’t get it out of my head. I knew that the new platform to “make it all happen” would be incredibly valuable to our existing business. It would solve our distribution problem, and we could really focus on technology and domain expertise. Even more important was a market opportunity insight: There were so many others who could use it!
There was one obvious thing missing: no clear infrastructure target on the horizon. But armed with the hope of meeting our perfect match down the road, my two colleagues and I took the plunge and began furiously building the first version of Mainframe2.
When we first fired it up almost a year later, it ran on a farm of 10 PCs and was hosted out of my house. Even at that scale, it was a pain to maintain, but it gave us an incredibly useful proof-of-concept platform. We focused on the core app streaming experience, which early users found to be impressive — many couldn’t believe they were running heavy-duty Windows apps on their thin Macbook Airs or Ultrabooks.
My home electricity bill dropped significantly when we raised our first round of seed funding and moved servers to a collocated facility. (It also helped that our outbound bandwidth was not maxing out at 5 Mbps anymore.) We bought more servers, tripled our capacity, and expanded customer tests. But it was clear that for us to scale, that perfect infrastructure had to show up.
Then everything changed in August 2013. One of our early customers introduced us to the right team at AWS. You can imagine our excitement when we found out that the new NVIDIA GPU-powered instance, the g2.2xlarge, was about to launch later that fall. Talk about the skating to the where puck is going to be! With GPU instances soon to go live on AWS, we had a shot at putting Mainframe2 in front of tens of thousands of customers.
For every startup, getting to the right customer is a long process. It may take weeks or months just to figure out who to talk to. “But if we could get customers to reach out to us,” we thought, “we’d know who all these people are right away!”
With the launch of the new GPU instance around the corner, we decided to use our tiny marketing budget on a large-scale live demo of Mainframe2. “Tell me and I’ll forget; show me and I may remember; involve me and I’ll understand,” says an old Chinese proverb. To get users involved, we let anyone with Internet access stream Adobe Photoshop. And they didn’t even have to leave the blogs that covered our launch to run it; we invented an HTML5 terminal that was easily embeddable into any web page with a single line of a code.
As soon as we turned on the Photoshop demo, we knew we were onto something big. Hundreds of software vendors wanted to see their own Windows software on our platform. Fortune 500 CIOs requested demos, tired of low-performing and expensive VDI products. Excited end-users cheered. We were flying high.
This overwhelming interest also meant that we had no chance of serving everyone at once. So we handpicked a small group of customers with a focus on software vendors and got them on board in January 2014. Limiting the size of this first batch allowed us to listen carefully to every feature request and to all of their feedback. We also made a decision to charge for platform access from day one. It was a great way to filter out the tire kickers and spend time with customers solving acute business problems. In this process, we became partners with relationships going way beyond just technical features. Customer feedback keeps driving our thinking about product, pricing, and support.
Which brings us to today. Our business is growing quickly. Early customers are scaling and moving to production. Our newest customers are moving fast and taking advantage of everything we’ve built so far. Investors and industry partners are reaching out aggressively. And we’re building an organization that can scale and meet demand.
None of this would be possible without AWS. The g2.2xlarge is still the only instance in the public cloud capable of running critical graphics loads. Other great AWS infrastructure advances accelerated us as well. Upgrading Amazon EBS to all solid state drives cut boot times by 50% and application start times by 80%. And new burstable t2 instances gave us a great option for an affordable, no-frills experience. (Let’s hope they get a slice of a virtual GPU soon.)
On the money side, using AWS meant we could build robust traction and revenue while being extremely capital efficient. Compared to cloud gaming pioneers in the precloud era, like OnLive and Gaikai, we needed only a fraction of the money they had to use to build out massive data centers. With the huge AWS infrastructure investment, we could move quickly and remain completely focused on building the best platform to run any software in the cloud.
Be bold. When we first met with Adobe in the summer of 2013, they had already tried a number of other app-streaming solutions. Most of them were tailored to a traditional IT organization and not targeted at a software vendor like Adobe. Our focus on the needs of software vendors and on high-fidelity streaming clearly resonated, and we quickly established a great relationship.
As the g2.2xlarge launch was approaching, we had a decision to make: What application should we use to showcase Mainframe2? Our first choice was Adobe Photoshop, by far the most recognizable graphics software in the world. The timing was critical. If we asked Adobe to grant us the rights to use Photoshop, it would be too late. At the same time, running it without their permission could put our budding relationship to the test.
We gave the Photoshop demo a go (though not without a backup plan). Our demo turned out to be a huge success and our relationship with Adobe only grew stronger. Being bold and aggressive helped us jump-start the company at a critical time. You might want to consider asking for forgiveness, not permission, if time is of the essence.
Be patient. Enterprise customers are s-l-o-w. The larger they are, the slower they move. This may sound obvious, but it’s hard to overstate it. Say you’ve started a project with a large customer. The early feedback is great, and it feels like you’ll close them any day now. The truth is that you’re probably a good six months away from seeing the money — two months for them to finalize the decision, two more to get through the paperwork, and yet another two before you get paid. If you’re lucky, one-in-five customers will come through quickly, so spread your bets if you’re counting on customer cash to pay your bills.
Be lucky. Startups are incredibly hard. Building something from nothing requires great determination and commitment; every bit of help, including luck, may turn out to be a critical component of your success. Luck is also something you can try to plan for. In our case, AWS’s aggressive growth and bold prior infrastructure investments gave us the courage to start building for the target before it even existed. (It’s likely that even Amazon didn’t know exactly what kind of visual cloud they would build when we were starting Mainframe2.) Try to “get lucky” and align your company’s trajectory with critical future events, especially those you have reasonable expectations about. If you’re successful, the chances of putting your startup into a high orbit will be much higher.
Our journey towards the visual cloud is well under way. We have many people to thank for it: our customers, investors, partners, and team members all played a critical part in breathing life into Mainframe2. AWS was and continues to be a crucial substrate without which we could never grow and scale.
If you have comments/questions or if you share our passion for delivering the best visual tools to the next billion people, we’d like to hear from you. Please reach out in comments or directly at firstname.lastname@example.org.