This work addresses what researchers believe are the key impediments to the adoption of cloud computing for scientific as well as commercial advance: portability and application development support for emerging and future cloud systems. The project plan proposes to explore the market viability of combining an open source cloud portability platform (one that executes applications over disparate cloud infrastructures without modification - individually or in concert (cloud hybrids)), with plug-in features that enable new capabilities not available today (cloud hot-swapping of applications, cloud application debugging, disaster/outage recover, large scale data analytics over application data, etc.). The approach enables developers to participate in cloud application life cycle, security, fault tolerance, and cost, simply and efficiently. The runtime support exploits how cloud systems are designed and implemented to automate placement and scheduling, to extract high performance, and to virtualize extant and future cloud services. Such virtualization will enable applications to be written against a single service application programming interface, implemented using multiple cloud fabrics, with high performance and scalability.
If successful, this project has the potential for broad impact by facilitating easy and effective cloud application development by a vast and diverse user community. By employing an open source model, this offers the benefits of open source (marketing, collaboration, visibility, self-support, customer confidence building) and makes a software system freely available and therefore widely accessible. This system can thus be used, investigated, and extended in educational and low-income settings free of charge. This approach is also unique in that the goal is to provide a universal platform that levels the playing field across cloud vendors. Developers write programs that execute over the open source application platform, which in turn executes on a wide variety of proprietary public cloud systems - as well as local, private clusters. This application thus precludes lock-in by any single cloud vendor and enables customers to "test drive" public cloud offerings locally in a private setting prior to paying for their use.
At the start of our I-Corps curriculum, we knew very little of the commercial side of our technology or how to transfer the technology into viable and high impact products that companies would buy. We thought value propositions were features and that companies would pay for features -- both are (typically) false. We thought customer segments were entities like government, education, and SMBs, when instead they are individuals with clear archetypes. We also struggled with how to capitalize on the open source community without getting bogged down in the politics and monetization challenges. Our I-Corps mentor brought us tremendous experience with open source and helped guide us to the open core model that we propose to pursue herein. After the first month, we finally began to build the foundation of the startup company of which we are part today, with a clear vision for how to transfer our technology to the commercial sector (identify products address customer pain points or that enable them to gain an advantage (pain and gain)), and for how to identify what our potential customers will pay for (ask them!). We refocused our customer meetings to, instead of telling them about what our technology was and did, we asked them about how they developed web and mobile apps currently and what their primary pain points were. I-Corps helped us develop our initial customer segment archetypes (Google App Engine developers and their CIOs) and to build a strong relationship with Google (we were recently named one of eight Google Cloud Technology Partners in the cloud platform space). It also taught us how to field tested (using hypotheses) a number of different revenue streams before identifying one that our customer segments found appealing: subscription based software products that plug into an open source cloud platform, and technical support. Our meetings also revealed the current pricing strategy: a percentage of their public cloud bill with some minimum. We plan to continue to test market these ideas as part of this project. Another key advantage we have is the flexibility and extensibility of AppScale, the basis for our work and our company that we developed previously as part of NSF funded research. Because we are able to do many different things with the platform, it enables us to pivot multiple times (which we will likely do so in the future as we gain more experience with SMBs and enterprise customers). Pivoting has allowed us to adapt and change direction when we identify key customer pain points and market opportunities. The pain points with Google App Engine use that ultimately emerged from our I-Corps investigations are the lack of control over app/data access during failures (disruption), privacy and security of apps/data, and lock-in to any one cloud vendor. Our value propositions are (i) reduced downtime for mission critical apps (i.e. business continuity), (ii) fine-grain control over public cloud use and costs, and (iii) future-proofing of apps (the ability to change out clouds and cloud services as business dictates). To enable these value propositions, we will develop and empirically evaluate the commercial value of the technology innovations that we propose herein: automatic failover, migration, hybrid execution of apps that are powered by popular cloud services. We found that customers are willing to pay significantly for such support. We completed the I-Corps program with a deep understanding of the lean start-up method and the importance of a laser focus value proposition. The I-Corp teaching staff strongly encouraged us to face hard facts, make tough decisions and to focus on our market segment so that we build a successful business.