a16z Podcast | Containing the Monolith -- From Microservices to DevOps

a16z · Intermediate ·🏗️ Systems Design & Architecture ·7y ago

Key Takeaways

The a16z Podcast discusses breaking down monolithic architectures into microservices and containers, and the implications for systems design, DevOps, and company structure.

Full Transcript

hi and welcome to the a 16z podcast today's episode based on a panel by in for developers at our recent summit event dives into the details of what happens when software eats development and how the entire development lifecycle is adapting from how you design your software how you build it how you release it how you configure it to how you monitor it moderated by martine casado the conversation includes in the order in which she'll hear their voices Florian Liebert CEO and co-founder of mesosphere Matt Billman CEO and co-founder of net liffe i and karthik rao cofounder and CEO of signal FX this is for me one of the most interesting questions and trends in all of IT buying which it used to be the case have you sold something that was a piece of infrastructure you sell it to the ops person or a core IT or whatever more and more developers are involved in this purchasing that's in and so this kind of theory is you can think of it you can be like okay there's core IT that's buying there's this new group maybe that's kind of like a devil opposite group or basically in the end it's the developers that do all the buying and have all the control flow I'd love for you to talk a little bit about how you seen this evolution I mean with measure you guys have been in the thick of this is it core IT is it developers is it something in between so our software is the the end users of the software actually operators and also data scientists so those are the folks that actually use our product day-to-day but then of course they install these platform services and platform services are for example distributed databases message queues and many other things that you find on Amazon that you find on Google cloud and what are these things used for well they're four basic pillars specially and one is transporting data the other one is processing data the next one is storing data and then the other one is serving data backup and you have basically many implementations within each of these pillars and of course again the developers are the end-users that take some of these components in order to assemble the applications but of course also data scientists will install notebooks they'll install spark they'll install Hadoop and then use it and the operator of the entire platform is usually the operator of the DevOps person so I want to make sure I understand the layered cake so you're basically saying okay that was core IT that's kind of antiquated DevOps is eating core I T yeah developers reading DevOps and now you're just said that data scientists are eating developers is that the lack of power actually I think right in the future hopefully we'll be able to click together applications you'll have more and more building blocks more and more applications and frankly it's more joyful to write Visual Basic than it is to write go right there you actually achieve business results I mean the seriously right like getting a spark job you see the output right away whereas if you write a large go application I mean it's a lot of work and you're just dealing with plumbing so today when you build a mobile app you build everything in the mobile app and you run it on your phone and then for like core services it'll call up to api's or micro services on the backend like 1200 Stryper or whatever so now the fire is doing this for the web so basically you create a web page that's a thick front-end and then you call micro services in the backend so you can you know follow the general model of that so this is kind of like developers eat web development so how do you view the evolution of this is the buyer changing is the influencer changing how is that ecosystem evolving so one of the things is again like the developer themself changing we used to have this very clear distinction between the back-end developers and then front-end developers that work with the web port barely release developers they would mostly take some design file and then cut it up and hand it over to a back-end developer that would integrate that into some big monolithic application and now we're seeing more of that almost this show basically in the form of JavaScript where we didn't have this whole new like world front-end developers that become the actual web developers and through latch degrees that just gluing together a lot of different micro services that are already ready on the backend instead of like building these flash monoliths okay I wanna make sure that I understand this deck so front-end developers are they obviating designers or they're still is it just basically now you have designers you got front-end developers then you've got people do micro service and the back-end developers are becoming micro service up is that how you view the yeah and in many of these cases the need for begging developers to sort of shrinking this kind of going away to one agency that's really been a pioneer of adopting this model you talked about off building sites the juice to have like 55 developers and steps where 35 of those were back-end developers and now they have around 30 free developers and two of them are begging developers from all the rest just works in this friend and layer so that's where the big shift has happened bitten just like we suddenly had a whole world of app developers merging with the iPhone now we have this whole new world of front-end developers that are become gets to web developer Karthik so you don't have very similar backgrounds both worked at VMware or what kind of core ops and then you're very much focused on ops for what you're doing but it seems to me that the abstractions have evolved like what's important to highlight I mean is that the case as developers become more in the picture as API is make sure it's good more in the pictures the type of information unit service the ops team evolving or is it still a kind of IP addresses and low-level stuff now I think it's higher level you know developers are more and more involved and in fact in new applications are making the technology decisions for the core runtime by you know if you look at organizations kind of at maturity it doesn't make sense to have 10 or 20 different teams all running isolated kafka clusters and relearning best practices around how to scale and make it resilient and so it a lot of these organizations you do find a centralized team that will develop best practices around some of these core infrastructure services you know if you're running in a cloud you can maybe just use an API to leverage some of these core services from an Amazon or Google but within an enterprise oftentimes you'll still find these functions it's just they're focusing on a different kind of technology than you know the traditional enterprise applications and if you get on this area what do you think is a core bit of insight people look for in this kind of new era of micro services well I think the big thing that's changed is the velocity of application development is just at an altogether different level right instead of doing two or three updates a year you could be doing thousands or tens of thousands of updates a year and so you know the entire development lifecycle deployment lifecycle the entire toolset is evolving to support velocity so how you design your software how you build it how you release it how you configure it how you monitor it's all adapting so in our world what people are looking for is to get insight into what's changing in the environment because there's so much change happening you want to be a lot more proactive and identifying a destructive change that you can roll it back very quickly and so having the analytics around all of your telemetry data to practically identify and surface those trends becomes absolutely critical so that's the key insight that our custom pasa typically looking for so I'm glad you brought the developer lifecycle so something is actually unique across all of these companies is they integrate with a developer lifecycle so just as set up very quickly then I'd love for you guys to comment about how this is kind of changed where you think about business developers now follow a pretty common recipe for developing it's called the CI CD pipeline we have continuous integration continuous development and they use kind of pretty standard set of tools and more and more we see startups coming in that are traditional infrastructure startups which 10 years ago they'd sell a box like they sell a router or something like that or a piece of software and these days they integrate in the CI DC pipeline and they're talking to developers it's a massive massive shift of Enterprise buying and it's also interesting because developers if you're part of the code or you're close to the code you have a lot more information and semantics so I know your component is directly into get so how do you think about the CI CD pipeline a and how you build that LIF i but also like how this is gonna influence infrastructure companies going forward it has been such a massive trend that's been adopted by developers universally and that's become not just their version control system but their main workflow Indian and the main way of collaboration and communication even in issues around GUID and so on so what we're doing is really taking the way they work there and then extrapolating it all the way out through the deployment and infrastructure to really mean that developers working with metal if I essentially just work and get when they make a new push and pull request to get we create a new staging environment for them and give them a new URL where they can view that right when they merge that into master we deployed that version of the site and it goes live when they change settings for caching they do it just by writing a file in the git repository and push it when they work with content management they do it just by putting a UI on top of the git repository and centrally and giving normal people that way you to edit the content and contribute to the same like workflow so we're really just thinking about how can we take that really efficient workflow that developers are working with and then just make everything happen from there so in net liffe I if somebody is editing like a developers making a website they make the website as soon as they push it in to get it get slurped up identify thrown in a CDN and distributed across the world and that does the actual operations and deployment do you think the separation between developers and deployment operations goes away do you think like this is how things go in the future or is there still another team that's doing the operate I mean it kind of dangerous to me ah yeah so the trick is to figure out ways to make it really safe you can see every pull request in a branch so you know what's going live before you take it live in edify everything is a mutable deploy you can roll back in an instant and we sort of build a whole UI around that management of the deployment and that in a certain degree replaces all the existing like release engineers and so on for that whole part of the stack and I think we'll see that more and more this whole notion that if you adopt a certain workflow then a system can kick in and automate the whole process around it so developers are now eating kind of deployment engine operators I love I mean again you you actually seen the full evolution of this over yesterday ok like how do you view the CIC be affecting how you do business or people run things or ships in the industry it's an interesting question so I used to work at Airbnb and everybody search was actually really difficult search for twitter is really easy you always show everybody pretty much the same results but for Airbnb if you do that then if the first person sees a result for San Francisco clicks on the booking the second person does the same then the booking might be gone so if this happens multiple times the users actually will disappear so what we had to do with Airbnb every time we rolled out a new version of search we had to do a/b testing and we had to make sure that actually then that's a big part actually of CI cdza push out automatically a new version and then you redirect 5% of the traffic towards this new version and then you actually scale that version up to 10% scale the other one back and so forth and when you're running tens or hundreds of experiments like that a day automation is really key it's really key to actually automate every part it's really key to actually have the metrics in place that if something goes wrong that you can use tools like yours in order to do automatic rollback but in general you want to automate as much as possible because humans are the biggest source of errors and respect this kind of this thing I've been pushing on which is I just kind of so cares what the future looks like it's it literally just devs of different flavors like this is a dev that does front-end this is a dev that does automation but they're all software developers and part of the same CI CD pipeline or is it still gonna be you know your operations your expertise is running somebody else's software versus developing the software so I mean I think the whole operator is going to go away over time like with cloud with tools like do you think so you think operations yeah I think I think it's gonna things like we're gonna go towards the world where a lot of that stuff is autonomous that's trillion dollar business you know just I mean I actually agree with you I just want you know like to actually take a moment and understand so I mean I give you an example I mean in the past when you were set up as sharted well yeah shard of database structure we had DBA is actually making sure that when one of them goes down they actually do certain procedures and restore it somewhere else it was a lot of manual work and usually whenever you had humans involved the Twitter things went wrong that's way also the fail whale a lot there were too many people involved but now when you think about it when you have things like RDS or you have Cassandra the runs of DCs sorry for the shameless plug but if you have systems where a lot of the recovery of failures is actually built in and the level of automation is really high you actually don't need these DBA anymore sitting around and screwing stuff up I still think there's an element of operations around these workloads though right it's just the skillset and the type of people who are doing it are different it's not your classic DBA sysadmin it's gonna be someone more of an engineering skill set is this somebody that understands code and api's and whatever is that someone that understands running application like for me if a line is is do you write your own application is your expertise primarily writing an application or running somebody else's application I mean well let's take Cassandra as an example internally we've got a large Cassandra cluster and

Original Description

What happens when monolithic architectures are broken down into containers and microservices (or when things are broken down into smaller units, not just in infrastructure but perhaps even in company structure too)? From building more dynamic websites to monitoring the enterprise cloud to elastically scaling applications, where are developers in the enterprise going now and next? This episode of the a16z Podcast, based on a panel by and for developers recorded at the a16z Summit in November 2017 and moderated by general partner Martin Casado, features Matt Billmann, CEO and co-founder of Netlify; Florian Leibert, CEO and co-founder of Mesophere; and Karthik Rau, CEO and co-founder of SignalFX.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from a16z · a16z · 0 of 60

← Previous Next →
1 a16z Podcast | Money, Risk, and Software
a16z Podcast | Money, Risk, and Software
a16z
2 a16z Podcast | Wall Street's Most Hated Man -- A Conversation With Overstock.com's Patrick Byrne
a16z Podcast | Wall Street's Most Hated Man -- A Conversation With Overstock.com's Patrick Byrne
a16z
3 a16z Podcast | How Big Companies Can Get the Most From Silicon Valley
a16z Podcast | How Big Companies Can Get the Most From Silicon Valley
a16z
4 a16z Podcast | The Role of Academia in the Startup World
a16z Podcast | The Role of Academia in the Startup World
a16z
5 a16z Podcast | AMPLab, the Power of Open Source, and the Future of Systems Software
a16z Podcast | AMPLab, the Power of Open Source, and the Future of Systems Software
a16z
6 a16z Podcast | Dell + EMC -- Why the Python Just Ate the Cow
a16z Podcast | Dell + EMC -- Why the Python Just Ate the Cow
a16z
7 a16z Podcast | Belief -- An Interview with Oprah Winfrey
a16z Podcast | Belief -- An Interview with Oprah Winfrey
a16z
8 a16z Podcast | Holy Non Sequiturs, Batman: What Disruption Theory Is ... and Isn't
a16z Podcast | Holy Non Sequiturs, Batman: What Disruption Theory Is ... and Isn't
a16z
9 a16z Podcast | Boards and the Power of Networks
a16z Podcast | Boards and the Power of Networks
a16z
10 a16z Podcast | A Whirlwind Tour of Policy Issues in Tech
a16z Podcast | A Whirlwind Tour of Policy Issues in Tech
a16z
11 a16z Podcast | Beyond Lean Startups
a16z Podcast | Beyond Lean Startups
a16z
12 a16z Podcast | Blockchain vs/and Bitcoin
a16z Podcast | Blockchain vs/and Bitcoin
a16z
13 a16z Podcast | Quantum Leap
a16z Podcast | Quantum Leap
a16z
14 a16z Podcast | Artificial Intelligence and the 'Space of Possible Minds'
a16z Podcast | Artificial Intelligence and the 'Space of Possible Minds'
a16z
15 a16z Podcast | Fintech from the World's Financial Capital -- London
a16z Podcast | Fintech from the World's Financial Capital -- London
a16z
16 a16z Podcast | On Recent IPOs and Comparing Private vs. Public Valuations
a16z Podcast | On Recent IPOs and Comparing Private vs. Public Valuations
a16z
17 a16z Podcast | The Future of Food
a16z Podcast | The Future of Food
a16z
18 a16z Podcast | Data Down on the Farm
a16z Podcast | Data Down on the Farm
a16z
19 a16z Podcast | The Data Science of Food and Taste
a16z Podcast | The Data Science of Food and Taste
a16z
20 a16z Podcast | Using Social Tools to Build Homes for Those Most in Need
a16z Podcast | Using Social Tools to Build Homes for Those Most in Need
a16z
21 a16z Podcast | London Calling for Tech Done in a Different Way
a16z Podcast | London Calling for Tech Done in a Different Way
a16z
22 a16z Podcast | Building Tech Startups in a Place Where Tech Isn’t Everything
a16z Podcast | Building Tech Startups in a Place Where Tech Isn’t Everything
a16z
23 a16z Podcast | Nootropics and the Best Version of Your Brain, Yourself
a16z Podcast | Nootropics and the Best Version of Your Brain, Yourself
a16z
24 a16z Podcast | Scaling Ideas and Startups in the U.K. and Europe
a16z Podcast | Scaling Ideas and Startups in the U.K. and Europe
a16z
25 a16z Podcast | The Tiger and the Dragon -- On Tech and Startups in India and China
a16z Podcast | The Tiger and the Dragon -- On Tech and Startups in India and China
a16z
26 a16z Podcast | Telepresence and Tech for a Distributed Workforce
a16z Podcast | Telepresence and Tech for a Distributed Workforce
a16z
27 a16z Podcast | The Present State and Future Possibility of Virtual Reality
a16z Podcast | The Present State and Future Possibility of Virtual Reality
a16z
28 a16z Podcast | Writing a New Language of Storytelling with Virtual Reality
a16z Podcast | Writing a New Language of Storytelling with Virtual Reality
a16z
29 a16z Podcast | Mellody Hobson and Ben Horowitz Talk Investing, Career, and Star Wars!
a16z Podcast | Mellody Hobson and Ben Horowitz Talk Investing, Career, and Star Wars!
a16z
30 a16z Podcast | The Future of Software Development
a16z Podcast | The Future of Software Development
a16z
31 a16z Podcast | What Software Developers (and Therefore Every Company) Need
a16z Podcast | What Software Developers (and Therefore Every Company) Need
a16z
32 a16z Podcast | Making the Most of the Data That Matters
a16z Podcast | Making the Most of the Data That Matters
a16z
33 a16z Podcast | Harnessing the DevOps Movement -- Don’t Go Chasing Waterfalls
a16z Podcast | Harnessing the DevOps Movement -- Don’t Go Chasing Waterfalls
a16z
34 a16z Podcast | Nobody Discusses Work Software Outside of Work -- and Then There’s Slack
a16z Podcast | Nobody Discusses Work Software Outside of Work -- and Then There’s Slack
a16z
35 a16z Podcast | The Fundamentals of Security and the Story of Tanium’s Growth
a16z Podcast | The Fundamentals of Security and the Story of Tanium’s Growth
a16z
36 a16z Podcast | Things Come Together -- Truths about Tech in Africa
a16z Podcast | Things Come Together -- Truths about Tech in Africa
a16z
37 a16z Podcast | When Banking Works Like My Smartphone
a16z Podcast | When Banking Works Like My Smartphone
a16z
38 a16z Podcast | How to Be Original and Make Big Ideas Happen
a16z Podcast | How to Be Original and Make Big Ideas Happen
a16z
39 a16z Podcast | The Future of Money and Monetization
a16z Podcast | The Future of Money and Monetization
a16z
40 a16z Podcast | Building Affirm, and Why Max Levchin Has Watched Seven Samurai 100-Plus Times
a16z Podcast | Building Affirm, and Why Max Levchin Has Watched Seven Samurai 100-Plus Times
a16z
41 a16z Podcast | Hall of Fame Football Meets Venture Capital
a16z Podcast | Hall of Fame Football Meets Venture Capital
a16z
42 a16z Podcast | Breaking the Barriers of Human Potential
a16z Podcast | Breaking the Barriers of Human Potential
a16z
43 a16z Podcast | 'In the Eye of a Tornado': Views on Innovation from China
a16z Podcast | 'In the Eye of a Tornado': Views on Innovation from China
a16z
44 a16z Podcast | Infrastructure... Is Everything
a16z Podcast | Infrastructure... Is Everything
a16z
45 a16z Podcast | Mobile Falls Hard for Virtual Reality
a16z Podcast | Mobile Falls Hard for Virtual Reality
a16z
46 a16z Podcast | Disruption in Business... and Life
a16z Podcast | Disruption in Business... and Life
a16z
47 a16z Podcast | Data Network Effects
a16z Podcast | Data Network Effects
a16z
48 a16z Podcast | The Dream of AI Is Alive in Go
a16z Podcast | The Dream of AI Is Alive in Go
a16z
49 a16z Podcast | I Reject the Term Viral Video
a16z Podcast | I Reject the Term Viral Video
a16z
50 a16z Podcast | Truth and Humanity in Leadership
a16z Podcast | Truth and Humanity in Leadership
a16z
51 a16z Podcast | Your Worst Deeds Don’t Define You -- Life and Redemption in Prison
a16z Podcast | Your Worst Deeds Don’t Define You -- Life and Redemption in Prison
a16z
52 a16z Podcast | Investing in (Business and Career) Change
a16z Podcast | Investing in (Business and Career) Change
a16z
53 a16z Podcast | Scaling Companies and Culture
a16z Podcast | Scaling Companies and Culture
a16z
54 a16z Podcast | Teams, Trust, and Object Lessons
a16z Podcast | Teams, Trust, and Object Lessons
a16z
55 a16z Podcast | The Why, How, and When of Sales
a16z Podcast | The Why, How, and When of Sales
a16z
56 a16z Podcast | Selling to Developers & Open Source Business Models
a16z Podcast | Selling to Developers & Open Source Business Models
a16z
57 a16z Podcast | Connectivity and the Internet as Supply Chain
a16z Podcast | Connectivity and the Internet as Supply Chain
a16z
58 a16z Podcast | E-commerce, Payments, & More in India's Evolving Retail Landscape
a16z Podcast | E-commerce, Payments, & More in India's Evolving Retail Landscape
a16z
59 a16z Podcast | Banking on the Blockchain
a16z Podcast | Banking on the Blockchain
a16z
60 a16z Podcast | On Corporate Venturing & Setting Up 'Innovation Outposts'
a16z Podcast | On Corporate Venturing & Setting Up 'Innovation Outposts'
a16z

The a16z Podcast explores the benefits and challenges of breaking down monolithic architectures into microservices and containers, and discusses the implications for systems design, DevOps, and company structure. Learn how to design and implement microservices-based systems, and how to optimize system scalability.

Key Takeaways
  1. Identify monolithic architectures in your system
  2. Break down monolithic architectures into microservices
  3. Implement containerization using tools like Docker
  4. Deploy microservices-based systems on cloud infrastructure
  5. Monitor system performance and optimize scalability
💡 Breaking down monolithic architectures into microservices and containers can improve system scalability and flexibility, but requires careful planning and management of complexity.

Related Reads

📰
Web Development in Vancouver: Why We Chose Next.js Over WordPress for Client Sites
Learn why Next.js is preferred over WordPress for client sites in web development, and how to apply this knowledge to your own projects
Dev.to · Dhiraj Chatpar
📰
Designing Enterprise Automation Architectures with GBase Database — From Java Services to Distributed Data Intelligence
Learn to design enterprise automation architectures using GBase Database, from Java services to distributed data intelligence, and transform organizational operations
Dev.to · Scale
📰
The SRE Interview: Questions I Actually Ask
Learn the actual questions asked in a Site Reliability Engineering (SRE) interview to improve your chances of acing it
Dev.to · Samson Tanimawo
📰
Stop Scattering if (role === 'admin') Everywhere: A 3-Level Permission Tree for Page & Section Access
Learn to implement a 3-level permission tree for page and section access control, reducing scattered if-else statements
Dev.to · shriramcs
Up next
How To Install iOS 27 Beta on iPhone for FREE! (Step-by-Step)
Ksk Royal
Watch →