Keynote: The World is Going "Multi-Everything"
Sep 11, 2019
Multi-cloud, multi-platform, multi-service: This is the direction of modern IT, but what does it mean for developers, operators, and managers?
Armon Dadgar opens the 2019 HashiConf keynote with updates on HashiCorp's community growth, customers, and more. He also discusses the central HashiCorp thesis that the world is going "Multi-everything"—multi-cloud, multi-platform, etc.
Learn about HashiCorp's strategy for dealing with this complexity in the cloud operating model and see how HashiCorp creates a common operating model with its suite of products; solutions that scale up from open source versions for individuals and commercial versions for teams and enterprises.
- Armon DadgarFounder & Co-CTO, HashiCorp
Thank you all for being here. I want to give a very warm welcome to all of you. Thank you so much for coming out to HashiConf US 2019 in Seattle. This is very exciting for me. Seattle's my hometown—I grew up not far from here—and in many ways it's sort of the spiritual origin of HashiCorp itself.
Birth of HashiCorp
I'm not sure that many people know the origin story of HashiCorp, but it started in some sense at the University of Washington, just a few miles from here.
Both me and Mitchell enrolled at the University of Washington in 2007, and I think it was obvious to both of us coming in that we loved infrastructure, we loved computer science as a whole. It was a passion even before we got there.
It was through a bit of happenstance that we met. It's a fairly large school, but I think both of us were drawn to a lot of the same topics. Not only, How do you write the software?—I think we were both interested in that—but we both came to it from a system administration background.
We were interested in:
How do you manage this stuff?
How do you deploy it?
How do you think about the system administration side of software, not just the authoring?
We both happened to end up on the same research project, called the Seattle Project, aptly. We were working on the same component, and got to meet each other and find out that, Wow, we really do share a bunch of interests in terms of what now is HashiCorp.
In the meantime, we formed a bit of a startup working group and worked on a number of different ideas, everything from a digital pet store to a point of sale to, How do you buy textbooks online for college students? There was a long list of failures before we ever got to HashiCorp.
It's very exciting, I think for both Mitchell and me, to be here. I'm very thankful that you're all able to join us.
The growth of HashiConf
This HashiConf is a bit larger than they've been in the past. Today we have a little bit over 1,600 people joining us. That's probably a good 500 people more than we had last year. And it's from 570 different organizations. We have 360 different cities, 28 countries, and 6 continents represented here. We're going to work on that last continent for next year.
Today and tomorrow we have an amazing lineup of talks for you. We have 4 different tracks. We have over 24 different talk sessions for you. There's an amazing set of speakers representing an awesome set of companies.
I encourage you to go to as many of these sessions as you can. Learn about the best practices, get their shared experiences, talk to the speakers afterwards.
I know there's a lot going on here, especially with 4 tracks, but all the talks will be recorded. If you can't make up your mind which talk you want to go to at any given time, pick one and don't worry. We're going to record and share the rest after the conference so you won't miss out.
One of our goals with events like this is to make them as diversely inclusive as possible. We want to get a broad range of people who bring different backgrounds, different perspectives, different experiences.
There's a set of underrepresented folks who can't get here because their corporate group won't pay for their trips. So one of the things we focus on is the HashiCorp Diversity Scholarship to bring folks who are traditionally underrepresented at events like this out here. You're going to have people from all around the world who are joining us for this.
Please use this as an opportunity to meet new people, and break out of the folks you maybe talked to last year.
Engaging the user community
What's exciting for us is when we talk about the global HashiCorp community. It's been crazy to watch the community grow, particularly from the lens of the HashiCorp User Groups. This is an initiative we launched only a few years ago with 1 or 2 groups, and just this week we crossed the 25,000-user mark within the HashiCorp User Groups.
That represents something like 110 different groups from 44 different countries around the world. If you haven't joined one in your local neighborhood, I encourage you to seek it out and do so. If there isn't one, and you want help starting it, please reach out to us, and we're happy to help you get that going.
One of our goals when we talk about HashiCorp, HashiConf, and the broader community is, How do we bring everybody together to do this knowledge sharing and discovery?
For many of us these are relatively new topics. We're just getting into it, whether it's infrastructure as code, or security, or service networking. It's important for us to be able to learn from each other, just as much as events like this. The challenge is, while we can get a few thousand people at our different events, that's only a small fraction of the whole community.
Two of the things we launched over this last year were the community portal and the community forum. Our goal was to take this splintered conversation that we had on Twitter and Reddit and Stack Overflow and our mailing list and all over the place, and bring it into one place that's searchable and indexed, and bring the HashiCorp employee community there as well.
On the forum you'll engage not only with your fellow community members, but also developer advocates and engineering teams and product community within HashiCorp. You can get to the community portal, community.hashicorp.com, and sign up and start participating.
With the growth of the user community we've been struggling on our side to keep up with that growth. Last year we were a little over 320 people, and this year we've expanded to a little over 600 employees around the world.
This has allowed us to ship new features, fix more bugs, improve the documentation, add a ton of learning and educational content, and support many more customers. It's very exciting for us. You'll see a lot of new HashiCorp faces around the conference. Talk to them. They'll be at the HashiCorp Zone and café and booths around the event.
All this is made possible by a growing set of customers. Our tools started out as an attempt to scratch our own itch a little over 6 years ago, and today the open-source tools are used by everyone from individuals working in their garage on a new startup idea, all the way to the largest Fortune 10 companies.
When you look at some of the commercial customers, they span that same range. Some of the world's largest and most recognizable companies are now customers and use our tools to power their mission-critical workloads. We're very excited and proud to be a part of that, and work hard to ensure your success as well.
The world is going multi-everything
When we talk about what's driving this growth in the HashiCorp user community as well as our customer base, it really goes to this thesis we have that the world is going multi-everything.
When I say multi-everything, the thing that probably comes to mind is multi-cloud, and that's, of course, an important component of this. When we talk about multi-cloud, there is this sort of massive transition taking place where we're moving from traditional on-premises data centers into the public cloud.
It might've been a single cloud a few years ago, but what we're now seeing is multiple major public clouds, and in general we're seeing the world's largest companies adopt a multi-cloud strategy. It's not one of the above; it's all of the above.
At the same time, it's not just a transition of, Where are things running? It's, What are we running? We're also going multi-platform at the same time.
If we looked at infrastructure 5, 10 years ago, it was fairly homogeneous. It was virtual machines; it was physical machines. That was the abstraction we thought about. What's happened increasingly over the last few years is we've gone multi-platform as well.
Now we think about containers as part of our mix. Increasingly, we're starting to think about serverless capabilities, whether that's functions-as-a-service (FaaS), or container as a service, or higher-level APIs provided on demand.
But it's no longer that we think about our infrastructure simply as a collection of VMs. There's more interesting technology that's part of that mix. How does this change how we think about our approach?
Changes in application types
I think the last major shift is at an application architecture level. Not only are where we're running and what we're running changing, but the types of applications, the style of applications, are changing as well as we embrace microservices and service-oriented architectures.
We're moving away from the large, monolithic service, and we're decomposing that into many smaller services. Some of this is so we can get better code reuse, so we're not re-implementing the authentication or user service between our mobile frontend, desktop frontend, API frontends, so we can reuse logic between these different tiers.
But part of it is so that we get greater agility. Different teams can work on different components, they can run independent of one another. So we can parallelize the work that's taking place by splitting it out of the monolith.
All of these are components of going multi-story. Our view is, this has a few different fundamental impacts to how we think about managing infrastructure.
At the base layer, How do we think about provisioning? We're moving from a world where our assumption was dedicated fleets of machines that were relatively homogeneous, to on-demand capacity that's very heterogeneous. It's going to be a mix of VM and container and serverless and functions, and all of that is going to be on-demand.
The move to identity-based security
When we think about the security layer, we're moving from a perimeter-oriented, IP-based security model, where we said, "We're going to lock the front door, use firewall rules, think in terms of IPs," to a world where we say, "You know what? The IP is dynamic. We don't really know what it is. It's running in Kubernetes. My network is low-trust, because I have too many front doors. I'm operating 5 different cloud environments."
We have to rethink our approach, and think more about identity—What is the web service trying to do? Who should be allowed to access the database?—and not think about IPs.
Think about networking. We're also shifting away from the notion of a host. It used to be that this machine is a web server, this machine is an API server or a database. Now we think about services.
I don't really care what's running on that machine. I have hundreds of machines as part of my Nomad cluster. I don't really know what's running where. What I care about is routing to the user service, or the billing service.
Some of these services might not even exist until they get invoked. If I'm running on a Lambda endpoint, there is no host. Until the invocation happens, I don't even know an IP. It's a different way of thinking around, How do I route to a service as opposed to how do I route to a host?
The final layer is at the runtime. We're moving away from dedicated fleets—these 50 machines are a web server, these 10 are a database—to these much larger, dynamic fleets that we're scheduling over.
There's a bunch of changes in terms of the core assumptions of how we manage and run our infrastructure. What this translates to in the landscape is a ton of fragmentation. You see a lot of different tools trying to solve each of these different pieces. There's a mix of open source and cloud-native, and it's hard to see the forest for the trees.
HashiCorp brings consistency to a fragmented environment
Our goal when we talk at HashiCorp is, How do we provide a consistent way of operating across all that? We want a set of tools that are easy to use, that solve a specific problem, but that allow you to work across any of the environments you might be in.
It's great to talk about the grand picture of how these pieces fit together, but at the end of the day, that's not really how we think. That's not how we solve problems on a day-to-day basis.
Where it really starts, it's with the practitioners. It's folks like you who are trying to solve a specific problem: How do I provision something on Amazon? How do I secure a database credential?
We're trying to solve these specific problems, and our design ethos at HashiCorp has always been pretty simple: build tools that we would want to use for these problems. Sometimes we started it by building for ourselves and went from there. We strive to make sure that simplicity is at the forefront of what we do, usability, and keeping the tools' scope to solving very specific problems.
The Terraform user journey, from one to many
If we succeed at that, we create a new set of problems. Inevitably, if you get good at Terraform, and you're happy with it and it’s going well for you, you try and figure out, "Now how do I do this with my team members? How do I collaborate with other people?"
This creates a new problem. Collaboration's a different problem than the one you had when you started as an individual. This is something else we need to solve for.
And if that goes well and you scale it even larger, to teams of teams or your organization, then you have a different set of challenges, which is, "How do I do this in a way that meets our governance and regulatory standards and challenges?"
Each of these is a great problem to have, but they're different ultimately.
Watch the next segment of the keynote here