Infrastructure for Non Devs: What CEOs Really Need to Know in 2017

Chris Ramsdale, Russell Smith, and Adam Gross explain five infrastructure trends CEOs need to understand: cloud-native platforms, microservices, containers, managed data services, and CI/CD pipelines. Buying managed services frees developers to focus on product instead of operations, letting teams ship multiple times per day rather than per year.
Chapters
Today, we have co-founder and chief technology officer of Rainforest QA, Russell Smith, and CEO of Heroku, Adam Gross. Alrighty. Good morning, everybody. Thank you for taking time for our very quick and modest presentation here. I'll give you a couple seconds on how this presentation came to pass, and then you guys can tell me whether or not it'll work. So I was talking to Jason a couple months ago, and we were talking about the show, and we were talking about how much great sales and marketing content there is for SaaS leaders and what an amazing resource that is. And I was telling him, you know, I really think that the most determinative thing about the kind of nature of a SaaS company, given how you're going to sell, what the product's going to do, the nature of your customers, how you're going to support it, really kind of the core physics, the terroir of your company, is a function of the infrastructure upon which your product is built. And so my goal here is to help kind of raise the consciousness and literacy of all of the major trends in infrastructure that are happening, infrastructure and app dev, so that we can help kind of bridge that divide between things that engineers and architects think about and things that the business side of the house think about, ultimately so that we can have kind of a more productive and fluid and collaborative conversation between those two halves. Because I think that's when really great companies and products occur. That into itself is modestly a 2 to 3 hour presentation, and we're gonna try and do that in about 20 minutes. So if I go really, really, really fast, hopefully you'll glean a couple details from which you can kinda take that away. I am not gonna spend a lot of time talking about me, other than I run Heroku, which is part of Salesforce's App Cloud. We have lots of really great customers across e-commerce, um, uh, SaaS companies like GetFeedback and Yesware. I've also, uh, launched and been part of the creation of a lot of different platforms, including the original Salesforce API, AppExchange, all that kind of good stuff. Launched the Dropbox platform. Uh, started a company called Cloud Connect. Now I'm at Heroku. So why should you care about infrastructure? And, uh, if I leave with kind of one message today, it's that your infrastructure choice, your platform choice, is your destiny. It is the single most determinative decision that your organization will make and will have profound implications that will ripple across the rest of your go-to-market strategy, your organization, all that kind of good stuff. So I want to spend real quick— 5 trends that you can kind of at least identify the titles of. And so really the goal when you see the developers and architects in your organization across the the counter at lunch, you'll be able to have a modestly more interesting conversation with them. OK, platform is destiny. I think we all know this intuitively, but it's important to remind ourselves of that, right? What were some of the major decisions that companies made that was the single most important decision that they made? Whether or not to build for DOS or Windows 3.1. Whether or not to build for client-server or for web. Whether or not to build for BlackBerry or iOS, whether or not to embrace a cloud strategy, platform as a service. So we're all familiar with the really big choices that kind of define the platform landscape. And part of what I'm going to talk about today in my remaining 3 minutes is that there are lots of small ones too that are important to kind of have an aesthetic force, because these are ultimately really business decisions more than they're technology decisions. As an example, I started a company in '96. And back then, that was kind of right at the beginning of the app server era. Whether or not you embraced kind of a Java app server architecture, or did something a little more baroque and esoteric, all that meant was, were you going to spend the next 5 years moving to a Java app server model, right? That was an essential decision to make. Or we've seen more recently kind of the emergence of these API-first SaaS companies, right? So both at the kind of macro and at the micro level, these platform choices are really, really important. OK, you ready? We're going to do 5. We're going to do it real quick. OK. Number 1. One of the more interesting things that's happening in kind of platform right now— and I would argue that we're kind of in this Cambrian explosion of platformness and of app dev technology. You should not be thinking about what's happening in kind of the platform and app dev space as kind of relatively static or constant. You should be thinking about it as this period of kind of massive explosion of diversity and innovation that's happening. And one of the things that's driving that is up until, say, about a year ago, there was still some pockets of the industry or kind of some part of shared consciousness, the idea that a platform was something that you could either purchase to run inside of a data center or that you could purchase from the cloud. That era is over, full stop. Microsoft doesn't really care, right? I mean, they're the lagger on this, and insofar as they— they're not really pushing Windows, right? The idea that that's an operating system or app dev target that you care about isn't important. Clearly, all that matters is Azure, and of course, things like AWS, obviously things like Heroku, things like GCE on Google. What this means is that the nature of how we kind of consume platform services and what they offer are fundamentally changing. Because at the core, what's happening is that the complexity and diversity of platform services is increasing, as is the requirements that you need to be able to operate quickly. And the idea that you can, as an organization, embrace that complexity, embrace the operational experience and its skills necessary to be effective across that set of platform technologies, is, uh, uh, in a way that you are responsible for running those platform services, has now reached this kind of point of critical departure where it is not credible for an organization, unless you're truly one of the top 3 technology organizations in the world, to do that. Net, if your organization is thinking about building and running its own data centers, good luck, 'cause that's no longer a thing. Okay, what that means is what your developers are gonna consume are higher and higher forms of abstraction. A great example is probably most of the companies— I don't know what the average age of the company represented here, but it's still not uncommon, or it's still common for companies to run their own database services, to run their own instances of MySQL or Postgres, or if you're a little more esoteric, Cassandra or Mongo, whatever that is. That's kind of a line on that gap. If you as a company are still running your own database service, you are so far down on the undifferentiated kind of, you know, uh, uh, uh, uh, not great part of your focus set, as opposed to just consuming those data services as higher level of abstractions where you don't have to run any of the operational constraints. And, you know, we've all been there. This is not a critique, but it's just an example of how hard running these services— if you remember what happened with GitLab in this past week, uh, having a service that you know is going to have all the kinds of backups, reliability, availability, scalability guarantees just puts you so much further ahead than actually spending the time and operating themselves. Okay. So that's number 1, cloud-native. Number 2 is what we— we hear this term a lot. I'm going to spend a minute trying to decode exactly what that means and why it's relevant in microservices. The part of this that you should care about is if your company is more than 3 years old, your engineers are currently on a journey to take the application stack that you created which was a classic web application stack, right? This is what Salesforce looks like under the hood in 1999. This is kind of what most SaaS apps looked like, which is a database and an app server equals a web app, right? That's the stack. And move that, decompose that application into a set of, uh, uh, more heterogeneous and horizontal services so that kind of the model we're looking to go for is a kind of vertically integrated app dev stack model to instead a set of services that kind of operate more heterogeneous— heterogeneously, as well as kind of horizontally. Why is this important? Why do you care? Why is this an important business consideration? Because what that— because we have cloud nativeness, what we can now do is embrace more heterogeneity into our architecture much more easily. Which in turn means we can deliver much more sophisticated and new kinds of functionality and business value than would be able to otherwise express inside of that more traditional monolithic stack. So there's a direct connection between what's happening here and the ultimate surface area and capabilities of the product that you're creating. 9 minutes. How am I doing? [Speaker:JASON M. LEMKIN] Good. [Speaker:CHRIS RAMSDALE] OK. So one kind of way of thinking about this is, Well, we'll get to that. So 3— and this is probably the part that is the most present in the kind of public battles in the platform universe, which is containers. And maybe you've heard about this if you've heard about Docker, right? All of these trends flow together— cloud nativeness, microservices, Docker. Why is Docker so important? Why are containers so important? And there are a couple different flavors of containers, so It's not just necessarily Docker per se. But fundamentally, right, what was the strategic high ground in the entire platform and infrastructure space since the beginning of time? It was the operating system, right? Then we kind of shifted that slightly in the past 10 years to be the virtual machine, where instead of thinking about the contents of a server literally being kind of physically bound to it, I could have some measure of agility in being able to move those things around, which create a little more agility in terms of my development process, speed, pipeline flow. What's happening now? Containers represent the next level higher up of abstraction, where instead of thinking about virtualizing an entire operating system, I instead am able to kind of, um, uh, think about a measure of compute resource in a much more, uh, constrained way such that my deployment target becomes much simpler to think about. And as a result, the kind of agility I can get in both embracing heterogeneity, as well as embracing scale, increases orders of magnitude. Because, again, think about the difference in bare metal versus virtual machine and the agility from that. Now think about an entire new Step Function up from there. And this is where, as a result, I can do things like, dynamically reprovision the load necessary to run a service automatically and instantaneously. Containers are kind of like the self-driving car of infrastructure if VMs were the kind of cruise control. What's happening now under the hood is— or kind of in the industry is there's this really kind of fierce battle happening around the container ecosystem. And this will something— be something that really kind of drives the core dynamic of the infrastructure and platform business. For the next couple years. This is really kind of the— if you remember 10 years ago, 15 years ago, for those of you in the space, kind of the app server battles were kind of the, the kind of main strategic kind of contested area. Container runtimes and some of the ecosystem related to that is really what's up for grabs right now. There's Kubernetes from Google, there's Docker, and then there are companies like mine that provide those things as a service, because of course our pitch is going to be you shouldn't have to worry about any of those things. You should just be consuming those capabilities as a service. Of course, Amazon has services in there as well. The point is that this is going to be really important, really complex to negotiate, and you should think about consuming even these capabilities as a service as opposed to building it yourself, because we all know that engineers' core MO is to just build everything themselves unless otherwise guided to. OK, I'm going really fast. How am I doing?
[SPEAKING RUSSIAN] Okay. Short question.
Okay. Cloud native. Microservices. Containers. Number 4, data services and the data stack. The way that all of you, especially if you've been around the industry for a while, think about your data tier is I have a relational database and I have an app server. And I— what I can express in my application is a function of what I can encode in my relational database. The single biggest economic business opportunity in SASdom right now is related to the changes that are happening in the data platform or data services space. And if I were starting a company now, I would start a company by looking at the capabilities here and how can I can apply it to a new business problem. Because fundamentally what's happening is the— set of esoteric data processing and big data and machine learning technologies that emanated from organizations like Facebook and Google, if they kind of like— if Facebook and Google could do it in the late 2000s, right, and then a well-funded startup could do it in the early 2010s, by the end of the year, your developers are going to be able to stand up a stack that does this in 10 minutes, because you're just going to consume all these things as a service. And we're going to see a rapid and dramatic commoditization in the data— nature of these kind of data processing technologies, which have— it's a very complex ecosystem, but it'll get kind of sorted out and smoothed over in the coming years, or even by the end of the year. And the ability now for you to be able to do things like machine learning on random data sets, on real-time, very large-scale event ingestion by being able to process and do real-time analytics on 20 billion events per day. All that stuff that's super, super hardcore, you know, rocket science right now, will be something a developer in your team can get standing up within a week by the end of the year. So, could spend hours on this, but pay attention. Think about how you're using data, how the processing, how the real-time nature of it. Think beyond the relational database. If, in fact, that's kind of my one message for you today, that would be it. Because ultimately, that's going to have such a huge effect on the capabilities that your application can express. OK, great. I left you 3 minutes.
[Speaker:JASON M. LEMKIN] So I think a quick summary of the stuff before. One of the key things to take away from this is that by using all these services like Heroku or any of the data platforms as a service, you're basically— A, it's SaaS, which you should all love. But B, you're buying your team focus. Your developers can spend all their time working on your actual product. Not working out how to run it. So at Rainforest, we run almost exclusively on Heroku. We use some other stuff as well, but that means we don't have very many ops people. This has brought us tons of focus. It saved us 2, 3, 4 ops people. We don't have a team. All those engineers are shipping product. And this is the, the most cool thing for me as a founder, is we can buy focus with money instead of hiring people. So anyway, the other key thing to understand about this is if you don't stitch all this together with something like CI and CD, then it's not as worthwhile. So continuous delivery is another super important trend. 10 years ago, wasn't really a thing. 5 years ago, it's kind of super edgy. And now it's becoming much more common. For those of you that don't know what it is, at a super high level, it's as soon as your developers do some changes, they push it somewhere, and something runs the tests and checks everything integrates correctly. That's CI. CD is the process of when those tests pass, pushing it through a release pipeline so that eventually ends up with your customers. And without having any touch from your developers, that's basically the perfect way. So automating all these things you see in this circle means you can— um, go to the next slide— uh, means you can reduce can you go to the next one?
Oh, sorry.
Means you can reduce the risk. So this is the other important thing, is the amount of time it takes from your customer asking for something to your customer getting that goes through this whole process of going to product, to your CSM team, and then filtering through product again, prioritized, being done and shipped. And the faster you can make that cycle, the better. And continuous delivery is super important for that. It's a super important part of that. There's other things in your business that you can do, but shortening that, and by using the previous stuff we've mentioned, all this technology enables you to do that. So you can be a much more reactive, much more agile business. So this is probably one of the most important trends is if you're using this infrastructure, make sure you're using it with continuous delivery as well. 'Cause otherwise, it's just, you lose half the advantages of using this. Thanks. So—
so just to kind of quickly summarize in our brief remaining minutes, why is this all so important? Why should you care? Why should you spend the time to kind of understand what the broad macro trends that are happening in platform and app dev? And we're all here because of what happened in the shift from client-server to cloud. We all know the implications for how we have to structure our sales, our customer success, our accounting, our finance, our funding. All of that is fundamentally a function of a change in our application creation and delivery model. And to think that somehow that was in one moment in time, and that the fires of innovation have stopped, of course they haven't. So my main message to you is, you know, develop enough of an aesthetic, the key partnerships you need with the technologists in your organization, in order to be an active participant in making these decisions, because they are the most determinative decisions and fundamentally kind of the terroir that you are ultimately gonna operate. Uh, and that means, uh, being disciplined about consuming cloud services, even though an engineering organization might otherwise want to build it themselves. It means using, uh, uh, embracing a heterogeneous and complex architecture, and giving your engineers the time to build that so you can create and express, uh, much more business value than would otherwise be possible. Leveraging technologies carefully, like containers, to allow you to manage that complexity and heterogeneity as the, uh, our application architectures increase in sophistication. Leveraging all the unbelievable changes that are happening in data services to fundamentally be able to create new kinds of value. And taking advantage of continuous delivery, so the goal is that you're not shipping 3 times a year. Yeah. 'Cause that is not okay anymore. That you are shipping 3 times a day.
You also don't have to. Like, if your engine team tell you that that's all they can do, you've got some problems. So, um, I think just to add, the key one for me is A, remembering outsourcing stuff, buying SaaS, you're buying your team focus. It costs more, but you don't have to have humans doing it. And then the other one is, if you're not doing this today, then give your team time to investigate it. And give your team time to learn this technology, or hire the right people to help them.
It's never been a more interesting time in the platform and infrastructure and developer services space. I encourage you to go out and create amazing things with the technology you have. I hope these 20 minutes have been useful. Thanks.
Thanks.
More from Jason

Why Your Next Hire Should Report to an AI, Tragedy Apps, and Too Many AI SDRs? | The Agents #004

Our Agents Drove Our Salesforce Bill Up 80%, Marketo Hates Agents, and We Stealth-Churned Off Notion

Managing 20+ AI Agents: Lazy Agents, Our $500K AI Bill, Stealth Churn & the Death of 60% Solutions







