Your infrastructure choice is your destiny. It’s the single most determinative decision and will have profound implications across your go-to-market strategy and your organization. Buying SaaS requires a greater upfront investment, but it buys your team focus so they can work on what matters: your product. And in the long-term, you’ll be thankful for it.
Adam Gross, SVP at Heroku (Salesforce), and Russell Smith, CTO at Rainforest, take the Hypertactical Stage to share five super important trends in infrastructure, like continuous delivery and how to take advantage of that. They also discuss why it’s important to embrace more heterogeneity into your architecture, microservices vs. a monolithic stack and more.
And if you haven’t heard: SaaStr Annual will be back in 2018, bigger and better than ever! Join 10,000 fellow founders, investors and execs for 3 days of unparalleled networking and epic learnings from SaaS legends like Jon Miller, David Steinberg, Jennifer Tejada, and Eoghan McCabe. If you don’t have tickets, there’s still time to grab yours today and bring your team from just $999! (Hurry before they’re all gone!) Get tickets here.
Announcer: Today, we have co founder and Chief Technology Officer of Rainforest QA, Russell Smith and CEO of Heroku, Adam Gross.
Adam Gross: All righty.
Adam: 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.
I was talking to Jason a couple months ago we’re talking about the show and we’re talking about how much great sales and marketing content there is for SaaS leaders and what amazing resource that is.
I was telling him I really think that the most determinative thing about the 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 are going to support it, really the core physics, the terroir of your company, is a function of the infrastructure upon which your product is built.
My goal here is to help raise the consciousness and literacy of all of the major trends in infrastructure that are happening, infrastructure in app dev, so that we can help 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 a more productive and fluid and collaborative conversation between those two halves because that’s when really great companies and products occur.
That, into itself, is modestly a two to three hour presentation and we’re going to try to do that about in 20 minutes. If I go really, really, really fast, hopefully you’ll glean a couple of details from which you can take that away.
I am not going to 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 SaaS companies like GetFeedback and Yesware.
I’ve also launched, and been part of the creation, of a lot of different platforms including the original Salesforce API, AppExchange, all of that kind of good stuff. Launched the Dropbox platform, started a company called Cloud Connect, now I’m at Heroku.
Why should you care about infrastructure? If I leave with 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 the good stuff.
I want to spend, real quick, five trends that you can at least identify the titles of. Really the goal, when you see the developers and architects in your organization across the counter at lunch, you’ll be able to have a modestly more interesting conversation with them.
Platform is destiny. I think we all know this intuitively but it’s important to remind ourselves of that. 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 for web. Whether or not to build for Blackberry or iOS. Whether or not to embrace the cloud strategy platform as a service.
We’re all familiar with the really big choices that define the platform landscape. Part of what I’m going to talk about today, in my remaining three minutes, is that there are lots of small ones too that are important to 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.
Back then, that was right at the beginning of the app server era, whether or not you embrace 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 five years moving to a Java app server model? That was an essential decision to make. Or, we’ve seen more recently, the emergence of these API first SaaS companies.
Both at the macro and at the micro level, these platform choices are really, really important.
You ready? We’re going to do five. We’re going to do it real quick. Number one. One of the more interesting things that’s happening in platform right now, and I would argue that we’re in this Cambrian explosion of platformness and of app dev technology. You should not be thinking about what’s happening in the platform and app dev space as relatively static or constant.
You should be thinking about it as this period of massive explosion of diversity and innovation that’s happening. 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 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…I mean, they’re the lagger on this. They’re not really pushing Windows. 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 consume platform services, and what they offer, are fundamentally changing. 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.
The idea that you can, as an organization, embrace that complexity, embrace the operational experience and the skills necessary to be effective across that set of platform technologies, is, in a way, that you are responsible for running those platform services, has now reached this point of critical departure where it is not credible for an organization unless you’re truly one of the top three technology organizations in the world to do that.
Net, if your organization is thinking about building and running its own data centers, good luck. That’s no longer a thing. What that means is what your developers are going to 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 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 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 into the operational constraints. 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. 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 in operating themselves. That’s number one, cloud native.
Number two is, 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 three years old, your engineers are currently on a journey to take the application stack that you created, which was a classic web application stack, this is what Salesforce looks like under the hood in 1999, this is what most SaaS apps look like, which is a database and an app server equals a web app…That’s the stack.
Move that, decompose that application into a set of more heterogeneous and horizontal services so that the model we’re looking to go from is a vertically integrated app dev stack model to instead a set of services that operate more heterogeneously as well as horizontally. Why is this important? Why do you care? Why is this an important business consideration?
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. There is direct connection between what’s happening here and the ultimate surface area and capabilities of the product that you’re creating.
Nine minutes. How am I doing?
Russell Smith: Good.
Adam: OK. Three, and this is probably the part that is the most present in the public battles in the platform universe, which is containers. Maybe you’ve heard about this. If you’ve heard about Docker. All of these trends flow together. Cloud nativeness, microservices, Docker.
Why is Docker so important? Why are containers so important? There are a couple of different flavors of containers. It’s not just necessarily Docker per se. Fundamentally, what was the strategic high ground in the entire platform and infrastructure space since the beginning of time? It was the operating system.
Then we 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 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 think about a measure of compute resource in a much more constrained way such that my deployment target becomes much simpler to think about. As a result, the kind of agility I can get in both embracing heterogeneity as well as embracing scale increases orders of magnitude.
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. This is where as a result I can do things like dynamically re provision the load necessary to run a service automatically and instantaneously. Containers are like the self driving car of infrastructure, if VMs were the cruise control.
What’s happening now under the hood, or in the industry, is there’s this really fierce battle happening around the container ecosystem. This will be something that really drives the core dynamic of the infrastructure and platform business for the next couple of years. If you remember 10 years ago, 15 years ago, for those of you in the space, the app server battles were the main strategic contested area.
Container run times and some of the ecosystem related to that is really what’s up for grabs right now. There’s Cooper Netties from Google, there’s Docker. 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 an engineer’s core MO is to just build everything themselves unless otherwise guided to.
I’m going really fast. How am I doing?
Russell: You need to hurry up. Short version.
Adam: OK. Cloud native, microservices, containers. Number four, 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 a app server. 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 SaaSdom right now is related to the changes that are happening in the data platform or data services space. 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.
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 Facebook and Google could do it in the late 2000s 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.
We’re going to see a rapid, and dramatic, commoditization in the nature of these data processing technologies which have…It’s a very complex ecosystem. it’ll get sorted out and smoothed over in the coming years or even by the end of the year.
The ability now for you to be able to do things like machine learning on random data sets, on real time, very large scale [inaudible 13:50] by being able to process and do real time analytics on 20 billion events per day, all that stuff that’s super, super hardcore 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.
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 my one message for you today, that would be it. Ultimately, that’s going to have such a huge effect on the capabilities that your application can express.
OK, great. I left…
Adam: …three minutes.
Russell: 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 service, A, it’s SaaS, which you should all love. 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.
At Rainforest, we run almost exclusively on Heroku. We use some other stuff as well. That means we don’t have very many ops people. This has bought us tons of focus. It’s saved us two, three, four ops people. We don’t have a team. All those engineers are shipping product. This is the most cool thing for me as a founder. Is we can buy focus with money instead of hiring people.
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. Continuous delivery is another super important trend. 10 years ago wasn’t really a thing, 5 years ago, it’s kind of super edgy. 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 you 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 it ends up with your customers.
Without having any touch from your developers, that’s basically the perfect way. Automating all these things you see in the circle means you can…Go to the next slide. Means you can reduce the next…Can you go to the next one?
Adam: Oh, sorry.
Russell: …means you can reduce the risk. This is the other important thing. 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. The faster you can make that cycle, the better.
Continuous delivery is 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. You can be a much more reactive, much more agile business. This is probably one of the most important trends.
If you’re using this infrastructure, make sure you’re using it with continuous delivery as well. Otherwise, you lose half the advantages of using this.
Adam: Just to quickly summarize in our brief remaining minutes, why is this all so important? Why should you care? Why should you spend the time to understand what the broad macro trends that are happening in platform and app dev?
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. To think that somehow that was in one moment in time and that the fires of innovation have stopped, of course, they haven’t.
My main message to you is 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 the terroir that you are ultimately going to operate.
That means being disciplined about consuming cloud services even though an engineering organization might otherwise want to build it themselves. It means embracing a heterogeneous and complex architecture, and giving your engineers the time to build that so you can create and express much more business value than would otherwise be possible.
Leveraging technologies carefully like containers to allow you to manage that complexity and heterogeneity as 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.
The goal is that you’re not shipping three times a year, that is not OK anymore, is that you are shipping three times a day.
Russell: Yeah. [laughs] You also don’t have to. If your eng team tell you that that’s all they can do, you’ve got some problems. 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.
Then the other one is, if you’re not doing this today, then give your team time to investigate. Give your team time to learn this technology, or hire the right people to help them.
Adam: 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.