Monday, May 13, 2013

Podcast: Kinvey's Sravish Sridhar on Backend-as-a-service

One of the challenges with mobile app development is that they require a number of services, such as user authentication, that can take a lot of effort to develop--even though the requirements are largely common across many different mobile applications. Kinvey offers hosted services that mobile applications on clients can consume.

Listen to MP3 (0:16:26)
Listen to OGG (0:16:26)

Gordon Haff:  Hi, everyone. This is Gordon Haff, cloud evangelist with Red Hat. I'm sitting here with Shravish Sridhar, who is the founder and CEO of Kinvey, which is a backend app development platform. Greetings.
Sravish Sridhar:  Hey, Gordon. It's great to be here.
Gordon:  We actually used to work together for a while a few years back.
Sravish:  We did. I was always star‑struck by how awesome Gordon was. It's just funny that I'm now sitting at a podcast with him.
Gordon:  You're embarrassing me. Let's talk about your company. What is Backend as a Service?
Sravish:  Backend as a Service started with the premise that mobile and tablet developers need an entire backend stack to build really, really rich applications. In order to build these rich applications, they needed access to data, to push notifications, to file storage, and to interconnectivity with various other data end points like an Oracle database or a Salesforce CRM, et cetera. When you think about it, how is a mobile developer going to build this entire backend stack from scratch? That's what we do. We've taken the entire backend stack and provide it as a cloud service and tied it to iOS, Android, and JavaScript libraries so that it's easy for you to build mobile applications with them.
Gordon:  Really, when we were talking about app development these days, I think a lot of the time, if you're not talking about mobile, you're really ignoring the elephant in the room.
Sravish:  I fully agree. When we find people thinking about new user experiences, they're actually thinking of both mobile and web. They need to connect to their user where and when the user wants to connect to the information. And so, whether the user is mobile or sitting behind a desktop, you need to do both all the time from here on.
Gordon:  We'll talk a little bit more about exactly what your company does, but maybe for our listeners who may have heard various types of terms applied to this space. There's this idea of MEAPs for enterprise application platforms. Where do you fit into that space?
Sravish:  We get asked this question in two fronts. One is, we often get asked the question, "How is Backend as a Service different than Infrastructure as a Service or Platform as a Service?" The way we think about it is that Infrastructure as a Service provides you with hardware on demand and lets you scale it up and down. Platform as a Service lets you run applications, so it solves the hosting and scaling of the runtime, but you still have to build the entire backend if you want to have a backend stack.
We think about it as, Infrastructure as a Service and Platform as a Service helps you with the plumbing, so they're in the plumbing business, and Backend as a Service helps you with the data, so we're in the water business. If you look at mobile enterprise application platforms, or MEAPs, they started off about five or six years ago as classic on‑prem enterprise software.
It takes a lot of money and effort to install them, customize them, and learn how to use them, and they lock you in, into a specific, WYSIWYG, HTML5 SDK that each one of them have. As an enterprise, you don't have the flexibility to use any native or hybrid SDK of your choice.
Our philosophy is we want to deliver everything through the cloud, the entire backend stack through the cloud, securely bridge your enterprise backend systems, and do the whole thing through a self‑service mechanism so that any developer that you employ or that's part of a dev shop or an SI can use the platform immediately, day one, without any setup upfront.
Gordon:  Let's say I'm a mobile application developer. I'm developing for Android, developing for iOS, probably both platforms in many cases. I need to authenticate users. I maybe need some data store in the backend to maybe store information about my users across different instances of the application and so forth. What do I do?
Sravish:  You come to Kinvey, you sign up for an account, and we have this notion of add‑ons. An add‑on is a specific backend feature that you want. You can use us as the entire backend stack, for your entire application, or you can use us for only a handful of features. You would say you want user management, and in that case, you can use us either to authenticate your users via regular user name and passwords, or you can use any one of the numerous OAuth providers we work with, or you can use us to integrate with an LDAP or Active Directory system that you have. You can use us only for user management if you want, and that ties down to your mobile libraries. You can also turn on a data store, and that gives you a full data store as well as a file store, to store anything from data to large files and videos. You can also use us to run business logic or connect to your enterprise OAuth system.
It's essentially, you decide, as a developer, which backend features you want, you turn them on, and then you consume them through our libraries. The one nice thing that you get is, whether you use one feature or whether you use all the features, we have an in‑house mobile analytics platform, so we track all of your usage and tie them into identity of the users so you know who's doing what over time with your mobile application.
Gordon:  What would be the relationship with something like your Backend as a Service to, say, an on‑premise Platform as a Service, like OpenShift? How would you use those things together?
Sravish:  We find that relationship very important. The reason is we believe that mobile is one of the key drivers of cloud in the enterprise. As CIOs are championing mobile and tablet projects, they want to build those mobile and tablet projects using cloud infrastructure. A lot of the data that these mobile and tablet projects have to access is sitting inside the firewall. By partnering and working together with a company like OpenShift that provides both on‑prem as well as cloud‑based Platform as a Service, the enterprises have the flexibility to connect their data with Kinvey by running what we call a data link on these PaaS environments. It's completely secure. It stays on‑prem, running on OpenShift, and then can be consumed by the mobile developer through the library.
From a mobile‑developer standpoint, all that connectivity is abstracted. It's connected via their library into Kinvey, and Kinvey then connects to an on‑prem OpenShift environment and moves the data back and forth through OpenShift.
Gordon:  What's your business model here?
Sravish:  We are a classic cloud‑based subscription model. Customers pay us on a monthly basis, as long as their apps are alive. The kinds of research that we've done is, for a classic enterprise application, on average, enterprises spend anywhere from $250,000 to $500,000 per application per year, and this is to build it and then maintain it on an ongoing basis. With Kinvey and companies like OpenShift, the joint value proposition goes from a half a million dollars to closer to about $50K to $100K for an application. It's a substantial savings for the customer. They pay us anywhere from a few hundred to a few thousand dollars a month, as long as the app is live. It's a very small buy‑in for an enterprise to keep an application going.
Gordon:  You're very involved in the mobile‑development space. What are some of the interesting trends you see happening that our listeners might be interested in?
Sravish:  I think a couple of years ago, when folks were using Kinvey, we found that iOS was, by far, the number‑one platform people were building apps on. Now, we're seeing that Android and JavaScript applications are the fastest‑growing kinds of apps on Kinvey. We find a tremendous number of Java developers that are picking up Android and building Android apps. We find a large number of Web developers that are migrating to building HTML5‑based mobile applications and using tools like PhoneGap to create hybrid applications.
A big trend is the growing adoption of Android development and JavaScript‑based development. Then the other is enterprises are now making buying decisions today to build a standard mobile stack. Most enterprises are slowly and surely building out their mobile reference architecture, and as part of that, cloud is becoming an integral solution for how they deliver these mobile services.
The combination of growth in Android and JavaScript, as well as the growth in enterprise mobile applications, are two big trends that we're seeing today with our business.
Gordon:  That's actually interesting, because one of the things we at Red Hat are seeing with our OpenShift PaaS, in the enterprise space in particular, is a lot of organizations are really looking at PaaS to standardize their development work flows. Part of that is obviously having common sets of composable services that you can plug into your applications rather than writing a new authentication module every time you write an application.
Sravish:  That's absolutely right. The same explanation also exists for mobile. People want a standardized mechanism to build mobile applications. Part of the issue, quite frankly, is skills. If you go to an enterprise and say, "Who's building your mobile applications or tablet applications today?" very few of them have complete in house skills to build these mobile apps. And so, they are using SIs or dev agencies to build up these applications.
And so, they don't want to make the mistake where every project is built in a silo and then they have to deal with all this legacy. Instead, they're looking at what are these standardized building blocks that every stakeholder uses on a consistent basis to build the same kinds of mobile applications.
Gordon:  Of course, you talked about things like dev team security. There's a real risk if somebody who doesn't have the skills just sort of hacks something together.
Sravish:  Absolutely. In this BYOD world where data's sitting on an employee's device, security keys are sitting on people's devices, authentication tokens are sitting on people's devices. You need to make sure that you're providing all the developers, in house or outsourced, the same kinds of frameworks and rules so that you're ensuring that you have a secure application being built.
Gordon:  You mentioned BYOD and enterprise apps. Of course, historically you had enterprise apps that were very much designed for a specific type of client with some sort of proprietary data connect or going back to a specific backend. But today, you really have to develop apps, whether or not they actually end up running on a mobile device or not, so that they can run on a mobile device because really, the movement is towards having client side just being whatever and connecting to a backend.
Sravish:  I wholeheartedly agree. I think it's definitely a ubiquitous use case. People need access to data when and where they need it. As an enterprise, you can't decide anymore whether somebody should only have access on a desktop or not. Furthermore, it's not only connecting to one backend. I think enterprise thinking has changed, where they're thinking about, "How do I make my employees most efficient?" That includes connecting to multiple backends.
For example, it's no longer that I want to give my employee field Salesforce rep just a CRM app. I want to connect my CMS with my CRM so that, through this single app, my sales rep can not only update customer information but can also download and access presentation material or brochures that I want to show my customer when I'm talking to him or her.
Now, apps are getting sophisticated and connecting to multiple backend systems, but providing a much more streamlined capability through one application.
Gordon:  It's interesting, this mega trend of things coming from the consumer world, and enterprise certainly needing more things in terms of authentication and governance and audit and that kind of thing, but still, in many ways, being an outgrowth of the simplicity and so forth of the consumer area. Your company itself has kind of evolved from a B2C‑oriented business towards increasingly B2B.
Sravish:  Yeah, fair and absolutely. In fact, there's a parallel there. The parallel is we're all familiar with the phrase "consumerization of IT," where employees and enterprises want services to look and feel like the B2C applications that they're used to. I also feel that there is a thing called the "developerization of IT." I think developers today that work in big companies go and muck around with Amazon Web Services or other public services, and they know what self‑service looks and feels like. They're demanding the same level of usability for enterprise development tools in‑house.
I think it's forcing ISVs, like Red Hat and like Kinvey, to start providing its tools and its services in a completely documented, self‑service fashion, to make it really easy to stand up applications for customers.
Gordon:  I think the case can perhaps be overstated, but my former colleague, Stephen O'Grady, has a new book out called "The New Kingmakers," and the idea really being that developers really are increasingly in control of buying decisions within enterprises.
Sravish:  That's definitely true. In fact, a lot of our focus was building a strong developer community from day one for Kinvey. In the last two years, we've been able to do so. Now that we have an enterprise product that's up and running, a lot of these developers who are using us for their side projects and for their personal apps have contacted us and said, "Hey, we would love to see if you can come in and provide value in our day jobs."
And so, it's the folks that were using us for their side projects that are not becoming our proponents inside their companies.
Gordon:  That reflects what we've been doing with OpenShift as well. We've been putting a lot of energy into not only being open source but making that open source simple to consume and really putting a lot of energy into putting information for developers out there that isn't even necessarily product specific like how do you write a very geolocation aware type of application?
Sravish:  Totally. Examples, examples, examples. If developers can learn through your content, then they will start to create a brand affinity with you where they respect the fact that you're actually helping them with their skills and they're more in tune with wanting to work with your products.
Gordon:  Anything else you'd like to add?
Sravish:  No, this has been fantastic. The next time we chat, I look forward to a much more detailed integration on how OpenShift and Kinvey can work together.
Gordon:  That would be great. If our listeners want to get out there and try out your service, what do they do?
Sravish:  They go to K‑I‑N‑V‑E‑Y or you can just search for Backend as a Service on Google and we're the first link that shows up. You can sign up. It's free. You can start building mobile applications tomorrow.
Gordon:  That's great. Thanks for your time.

Sravish:  Thanks so much, Gordon.

No comments: