In 2011, Marc Andreesen said that "software is eating the world". This talk is a riff on Andreesen's claim, but relating to the impact of REST APIs on Infrastructure. Originally presented at POST/CON 2018.
Did you know that REST APIs are “eating” infrastructure?
You probably have heard Mark Andreesen’s thesis that “software is eating the world”.
What does this mean?
Current environment of software, hardware, cloud computing, and so on has created a perfect environment for software innovation.
We’ve seen Uber impact taxi services
Amazon impacting retail booksellers at first, and more now
Napster ushered in the “streaming” world
Now all of these are “disruption” examples.
While there is a dynamic of software impacting infrastructure, this doesn’t mean that no hardware will exist.
Serverless!
What inspired me in what Andreesen meant is his claim that the power of hardware enables the growth of software.
Because of extra compute, new features like run containers at the edge. IoT!
BUT Most importantly! REST APIs can now be built on infra
my thesis of REST APIs eating infrastructure…eating legacy ways of interacting with infrastructure
NOT replacing infrastructure
No longer going sequentially SSHing from box to box
No longer fragile methods like SSH or manually
Look at the market
Thanks to DevOps and SRE practitioners, automating infra has come to the forefront.
Much of that automation is driven by software and corresponding REST APIs – they’re like the lingua franca of automation these days.
AND powerful scripting languages makes calling REST APIs EASY!
When we started DevNet 4 years ago, people thought that APIs might be a fad for infrastructure – but here we are, and there’s only uptick in the consumption of REST APIs.
All of this boils down to the concept of “infrastructure as code”... let’s look at some examples
Terraform!
Defines infrastructure via declarative code
Ansible!
Configuration management and deployment through code
Now, REST APIs on infrastructure enable a DevOps or SRE team to implement CICD at layers beyond the application.
NETDEVOPS
configure, test, and deploy changes to the network
REST APIs into DNS -- provide insight into malicious domains discovered during analysis. Block users from connecting to the known malicious domains, preventing data exfiltration.
And yet more examples!
Kubernetes Master Node API Server -- api to your infrastructure
Docker’s success is partly due to ease of use and a nice REST API -- api to compute
Cisco’s infra aggregated into a controller enabled by the RESTCONF standard for devices -- new architectures controllers api layer and device layer
All enabled by REST APIs
Since we’re at POST-CON, we use Postman extensively to help our customers understand this new landscape of infrastructure REST APIs. (Meraki, APIC-EM)
Find them at developer.cisco.com
Riffing off of Andreesen’s metaphor
How I see…is REST APIs ARE eating infrastructure by enabling engineers to
1) stop interacting manually with infra
2) use automation instead of fragile interfaces like SSH
This enables us build solutions faster with more reliability.
Do you have examples of REST APIs eating infra?