Devreal

Scale By The Bay 2019: Panel Discussion, Who Needs Serverless?

Scale By The Bay 2019: Panel Discussion, Who Needs Serverless?

Recording: Scale By The Bay 2019: Panel Discussion, Who Needs Serverless?

[Music] just kind of sure just some details about kind of the logistics of how this event will go so first you kind of hurt service so there will be a motion that our debaters will debate and we decided to go it's you know somewhat a mouthful but let me kind of read it out to you and then explain what this motion is about so this is the motion is that ten years from now most newly-created kind of billion-dollar companies I'm sorry yeah billion-dollar companies will be entirely serverless and what do we mean by that that basically one we want to kind of set a specific time so the debaters will not kind of argue oh yeah it will happen eventually but we're talking about the specific timeline things from now we're also not want to talk about like you know two people star up but really kind of you know more it doesn't have to be like a billion but it's you know companies of significant size and basically the reason why we also include the newly-created so we want kind of spent time on debating oh you know IBM will never truly become you know harder person service that will just not be very interesting debate but more about like the new generation of companies and when we mean the entirely serverless again let's not nitpick about like you know if they have like one container deployed but primarily like the vast majority of their architecture is service and you know we'll let the panel kind of to debate what is kind of you know service and like I think kind of their definition say might vary so the first team here which is kind of on your left I guess it will be arguing for the proposition and the outer team will be arguing against and we'll make it kind of an Oxford solid debate which means that first we'll start by asking you how do you feel about a proposition and before the debaters begin and eventually when you know they kind of finished their job we'll ask you again and the team that actually swung the most votes will be declared as the winner so let me repeat the motion again that ten years from now most newly created billion-dollar companies will be entirely serverless so if you are four meaning you believe that this is indeed true please raise your hand and keep it up ouch you guys have a lot of work today may the odds be in your favor okay and now if you believe this is not true and you know any portion of it please raise your hand which is let's see just quick I think we're again it's fairly about let's say so you know there were roughly worth 10 people that were can afford and about kind of half of half of the room was against it's actually you know the four-team it's you know you actually have more once we have a target target rich environment yeah you have definitely more votes to swing the team was going against like you have to convince in you know new people and obviously like about half the room abstained that this is also the most that you can impact so the way will sorry the first round will go that each presenter will start with a free minute you know kind of arguing their position so I think George you are going first right so your free minutes or all right thanks for telling hi everyone good evening I realize I'm standing here between you and happy hour so I'll make this brief but imagine this is ten years from now and instead of me blocking your access to the pub it's a server that you've just realized needs a software patch right a security patch and when I say a server I mean a thousand servers spread across I don't know five cloud vendors right do you really care about patching your service you probably do right now because it's part of your your security posture but do you want to care right wouldn't you wouldn't you rather have that drink wouldn't you be wouldn't you rather write some sweet sweet business logic right wouldn't you rather be service now when I say service I urge you to not constrain yourself to things like AWS lambda function as a service which is one of our first forays into that space but also broaden your broaden your horizons think about virtue cubelet Fargate Bert you know Sybil is kubernetes and and other future execution models that don't require you to manage and update service so now you're probably thinking about all the problems that server lists it's hard to debug it's expensive there's cloud lock in there the questions about data storage and state there's performance issues right but my partner's here Rose and Steve are gonna walk you through why why these are not going to be a concern ten years from now and why if if you're a savvy businessman starting a business ten years from now your your best bet is to go service with that and I'll hand it over okay so thank you George and now arguing against the motion I believe it's James right we're gonna all do it we're gonna teach we're gonna that's how we're doing okay nice so yeah it kind of seems like everyone's pretty realistic in this room because we all were saying against the first thing I want to point out is like we're talking about in ten years like a multi-billion dollar company is going to be entirely service like can you a name a multi-billion dollar company today that does not run entirely in the cloud like all of them are still running on premises and if you think about like financial firms where like they're running on premises for good reasons because of security because of latency and then also like for high-frequency trading you're running custom compilers on your FPGA like you want to be as close to the metal as possible so like I don't see a world where serverless is like going to work for that not to mention like you mentioned kubernetes and virtual cubelet all things that I've worked on but the second thing you need to manage state in any of those you're completely [ __ ] like there's absolutely no way to do it so like if you're doing that on premises then you're even more [ __ ] than in the cloud because the clouds not handling storage for you like what are you gonna do like run [ __ ] Seth at scale like that's just not gonna work like none of this is going to work yeah like at the end of the day like someone is hosting your [ __ ] servers and if you're a multi-billion dollar company the unit economics are you're owning those [ __ ] servers yourself okay well thank you Jess for the very lovely arguments who's next for the four team that would be me so that was fun but I can't agree you know there are you this is about new new businesses ten years from now and ten years from now for serverless we're going to be about where we are on the cloud today in terms of the timeline and if you look at the large businesses that have grown up recently uber and lyft and snapchat and you know the the children of the modern era they are not building their own data centers and and this is really this is just part of a larger trend that we've been seeing playing out for a couple of decades now you know server list is just the the next step in a long chain you know once upon a time any business that wanted servers would have to have their own data center pretty quickly we went data center lists you could just rent a cage in someone else's someone else's data center then then we went reckless you still had physical servers but you weren't touching them it was a remote hands thing and they were just in the data center you didn't need a cage then you know then we went to VMs so you know that was kind of the reals the literal server lists then we went to containers you no longer managing your own VMs and then we went to orchestration and now we're starting to move to functions as a service and and everything is you know queues as a service storage as a service all the services and all the SAS offerings that are out there every one of those transitions inserted a middleman who took a profit margin and added overhead and locked down and restricted what you're able to do and took away visibility and control and every one of those transitions was initially resisted it was bleeding edge and not many people would adopt it for those reasons but in the end these transitions went out especially for the newer businesses that grow up with the new tools you know how many new enterprises starting today you know are building out their own racks building their own worldwide CD ends implementing their own container scheduling and you know why do we keep moving up the stick because well one reason is flexibility you know you get more options you can scale up and down sort of the classic arguments for the cloud you're gonna run in more locations more configurations eventually competition drives down prices and economies of scale kick in and that cost penalty for the higher level service it roads it might even reverse every new level of abstraction adds room for value-added features like now there's CloudFlare workers you can run your functions at the edge there'd be something hard hard to do without functions as a service but most importantly the abstractions win because these lower levels of dealing with the servers and the and the VMS is not any businesses competitive differentiation and once them yes each offering matures everyone chooses to handle more Thank You Steven for your team okay James you know let's see how many f-bombs you can draw okay I have a confession 10 years ago Alexi and I were writing flash apps together 10 years ago flash it's dead 10 years from now there's gonna be something else out there that we haven't even imagined yet it's gonna change the landscape of how we do things it could be quantum computing it could be some breakthrough in AI but there's gonna be something that doesn't fit the mold of server lists there's gonna be some new thing that server list hasn't caught up to yet because we see these abs and flows of like oh let's simplify things and create abstractions and then know that abstraction doesn't work for this new thing and so ten years from now the world is gonna be very different our needs are going to be very different our technology that we have available to us the need the problems we're trying to solve it's all going to be very different and serverless is gonna fun not be able to fit all the workloads and all the needs that we have it's just not possible I mean even today serverless can't even host serverless you can't build serverless serverless you need servers and state and things that stay around to build server lists so it's just not possible to run all our workloads all types and all the different technologies that are always changing under a very constrained abstraction I rest my case okay thank you James and now for you know the final speaker for the for an argument is rose testing all right hi first off I'm pretty sure flash was moribund even in 2008 so gosh okay so I keep seeing you know Einstein around here so many references to Einstein and you know there's a famous quote about you can't solve a problem with the mindset that created the problem and you I think that your point is correct that in ten years were probably not going to recognize some of the eventual forms that server lists will come to take that when you look at server lives today it is very limited in a number of ways there are you can't there are so many limitations but at the same time AWS is only 12 years old lambda is only four years old and already it's one of the most popular services who can save what it's going to look like ten years from now you've got to consider that I think the reason why this is going to continue is because being able to write stateless function and compose them is so is it's so attractive and being able to orchestrate your workflows in a serverless manner instead of writing yet another freakin data pipeline to the working one it's so attractive when you start talking about infrastructure as code you've really kind of eaten the worst part of the system administrators job and taken it as your own job isn't that awesome yeah mo files yay so really making that you know making that serverless and not having to worry about every small detail you know maybe container maybe containers on maybe surfer lifts on containers on kubernetes as the way things are going to go forward you know so being able to provide that being able to leverage the security and scale of cloud providers will be huge and on top of that there will be an ecosystem built on top of an ecosystem built on top of cloud providers you're already seeing this with things like data bricks snowflake you know essentially they're leveraging the commodity offerings of cloud providers but offering their own value their own kind of development and you might say oh they're just duplicating the offerings but in fact they're offering significant value there's an ecosystem developing already if you're in VCU you see a lot of it so I can't believe that this is just going to wither and go away tools are developing all the time even you know you say there's nowhere to store state but everyone is putting state everywhere even in sqs as terrible and ideas that sounds in dynamodb in s3 state is being pickled and serialized and stuff everywhere you could possibly imagine and think heroes for your national arguments so and now on for final speaker IANA arguing against the motion I'm actually you know happy that you're trying but let's talk about some of the you know limitations stateless is completely fine on you know more serverless and execution environments but most of the actual workloads we see today is like you know people just trying to run someone else's code think about like all you know databases the message queues and so on like who is actually going to you know provide an execution environment and a notion that says people will be complete loans to service entirely so we can say that like a big majority of the you know the software is still going to be running on non service environments and service is great if things are short-lived if you have maybe an HTTP server or like an RPC server or whatever but they can't really handle like long live stuff because of the you know the trade-offs in like they've been primarily have been designed to just serve this type of systems and I'm not seeing like you know cloud providers you know providing more flexibility we can also think about replication you know how the auto scale it's very open aidid it's just like they're just like you know starting forking new instances of the same thing but lots of customers have like Moore's you know very sophisticated schedule and requirements they need like you know affinity they want to be closer to the data sometimes and so on talking about limitations again like specialized hardware is a really big topic I am working on a you know product that people are coming and asking us like all these like microsecond optimizations sometimes so this is an actual needs I'm not saying that like so rulers cannot be a solution for some problem so I think it's a niche thing so you know it's just hard to say that like everybody will be entire long server list just in ten years or ever okay and Peggy Anna and this kind of concludes the first round of our debate and the second round is will be questions that asked by me and you the audience so kind of please kind of allows the first question to kind of get you know the mic enough time to travel to you so please raise your hand and so I want to I want to have a question that kind of are arguing against the team arguing against so you're kind of opponents propose that there are a lot of things than even you said that kind of disappear but also the need for them disappeared whether it's you know owning your own data center and you know it kind of even being in akola and so why do you think that really servers are the things that has to stay forever with so many things that we actually need it kind of disappeared they aren't actually disappearing like to your point parts of uber are actually moving on premises from the cloud and there's a lot of other people doing that too because if you look at all the S ones coming out of these like mega SAS companies that will be the future multi-billion dollar companies thank you very much no like they are actually going to move back on Prem because of the economics no one none of them have cared about margin so far in the second that they give a [ __ ] about their margins they're gonna be like oh [ __ ] we need to get off the cloud do you guys want to respond so the thing that the thing that a lot of large customers are doing right now is doing multi cloud going across multiple cloud so they can use that leverage to negotiate better rates right and you know as much as there are many parts of capitalism that are not great but capitalism means that you get lower prices over time competition there are a bunch of big providers cloud providers competing for your for your for your workloads right prices have been going down and they will continue to go down and at some point competition and your negotiating power with a multi cloud presence will make it such that the marginal cost of running on cloud doesn't make it worth it for you to run your own datacenters right yeah and I would just did you know they're always local counter examples to anything but if you look at the trend you know what percentage of of the internet was on the cloud ten years ago five years ago today you know do we really think that the tide is actually swinging in the other direction and in 10 years from now everyone's gonna be running in their own data centers again I don't think it's swinging in the other direction I think that like the people who are like very adamant about the cloud just don't see the rest of the world that is there still is a bunch of people running on Prem like actually like a large percentage of IT spend is on Prem it's actually way bigger than cloud I think that like the VC market like that you were talking to like it's different than the actual market that's why you see company zero it's not actually like reality you know five years ago they were saying that like cloud is going to be an xxx billion you know industry we're still kind of like not there we're still like you know trying hard to migrate people from on Prem to virtual machines on clouds so I think we should you concern ourselves to new companies right yes migrate people absolutely they have they have workloads that are don't don't lend themselves to easy migration but we're thinking about the company that you start not not even today not with the concerns of service today that could put the constraints of state you know I've managed state on kubernetes yes it's hard but my argument is it's getting better right it will get better and 10 years from now what does it look like and you're starting a company ten years from now so let's let the audience to us anyone has a question and the gentle right there or here yes hi all right I think Wow hi everyone I'm over here my question I feel like the panel's talking past each other because I don't think everyone agrees what the definition of service is at some point what's that yeah like for example I was a facebook engineer for eight years and I considered myself using an internal service platform that happened to be running on Prem this is an example of how I decided sir but I'm curious maybe Jesse and George I know both use maybe just throw out a definition of service because I think that would be interesting to hear both sides say what their definition is I feel like I'm the worst person to define so really so I'm gonna let someone else do it I'll say if my definition is that when you match the demand for a application some kind of function whatever with the supply that that is essentially the the core of serverless is that being able to match those it's a different definition than most people give and the reason why I give a different definition is because I could claim that Heroku is serverless you pay for an instance you pay seven dollars a month and you can run a whole ton of stuff on that one instance but it technically doesn't follow what most people call serverless because there is excess capacity that you have provisioned on that that instance on Heroku and so most people wouldn't call Heroku even though you don't have to manage it you don't have to deal with dependencies and security updates most people wouldn't call her a pre-service gorge to the most part I agree although I think I think the auto-scaling stuff is is a secondary point the initial the primary point for me is just not managing OS updates like if you think about it that way not managing the server not caring about the health of a particular server we've had that with platform-as-a-service though for a long time and it wasn't called server less in it and so what's unique about server less versus platform-as-a-service yeah I think this in in this no that's a fair point I think yes I think but scale is one of them but server lists in this case allows just more execution models in my mind than just the constrained platform as a service offerings ok let's try another questions here hey right over here can you guys hi so I feel like one of the constraints to this problem right now but I'm interested in the against side law is right now we're saying a hundred percent of all of the development activity of all the servers are gonna be running serverless what if we lift that constraint and say just a meaningful amount of jobs from new large companies are going to be server less I think it's fair to say that like things will run sir like I myself have this like serverless thing that connects to Alexa which like I don't even use my Alexa anymore and it's still running but like I think that like there is a use for it as like a dumb pipe from one thing to another at least that's how I think of cyrillus as like more like lambda but but in that sense like you just don't have a [ __ ] ton of done pipes everywhere like you actually have like logic at the end of the day so I would say like it's not gonna be a majority but it will be like you know just here and there and you can certainly do serverless on-prem so you can use things like k native on kubernetes to do surveillance on prom and that works fine but the question and back to my definition of surveillance is like what happens to that excess capacity you've already bought the servers when you're on cram so what do you do with that Netflix puts those resources back into what they call the trough so that they can be reused for other other uses machine learning training things that are not time dependent so definitely agree if we reduce it from a hundred percent to some lower number then yes there will be some things that are built serverless so that they can return their resources back to back to a pool or in the case of a cloud provider the cloud provider gets those resources back into a pool so they can use them for other things I you know I think the key point is if you know if we define serverless as you know kind of a fine friend green auto-scaling where you're matching the the resources to the load and abstracting away the server the operating system and kind of those levels details the question becomes when are you adding value by controlling those things directly which are the applications where you want to manage the operating system or you want to manage the creation and deletion of instances and you know today that would mostly be because you need that level of control the service offerings aren't giving you that level of control and the question becomes you know how does that play out over time on the cloud level we've seen you know explosion and you know containers as a service there's been an explosion of different instance types you can get GPUs you can go to FPGAs you know you get all kinds of crazy things in in a container that in the first incarnation of you know infrastructure-as-a-service wasn't there so it's gonna be a question of how quickly the the service offerings start to offer those that flexibility and take away some of the use cases where you need the the control okay and let's have final question from the gentleman on the other side of the room thank you very much so you've talked about you can put state this is for the four-team you've put state you can put state in various persistent storage options but what about things that are volatile now of course there is Redis but I'm talking about things that have certain memory guarantees like console or zookeeper or the plethora of applications that depend on those types of memory of those memory guarantees do you expect the applications that depend on those other applications which require long-running or like leader election style algorithms do you expect those to go away or do you expect cloud services to like have all those api's or what well we're definitely seen you know there's such an explosion of cloud services from the first line cloud providers and from the companies building on top of them so yes I would expect to see in in 10 years from now an incredible array you know probably literally thousands you know of these offerings covering all that you know covering the zookeeper and console covering you know the big date of the small date of the latency sensitive the latency and sent you know all shapes and sizes hoping for server lists you keep her forever even zookeeper list would be awesome coming from the big data side I'd say that I would fully expect that over time there will be great developments in right now our schedulers are very primitive in terms of their ability to control resources in the serverless environment even just downsizing just doesn't work you know controlling shuffle as an external service just doesn't really work in a service environment right now so this is an area where I'm fully expecting there to be kind of kubernetes operators or pluggable cloud provider implementations that will essentially take away a lot of the current complexity so one more thing I'll say to that specifically to your point about running things like paxos or raft or consensus algorithms on top of the server less space right what they need is some local storage that's guaranteed to not disappear on them on it win right and these abstractions do exist right now in the form of kubernetes table sets they're not perfect they're not like it's like it's you're gonna be in a world of hurt managing a set of Paxos servers on top of sample sets right but they're the path they're on a trajectory they're on the right trajectory right if you have a volume in a steeple set and it bails you have to delete the volume which defeats the entire purpose of the steeple so so I agree that's true right now that's true right now it's like the traction is being built to be to get there to get to where you want it to be it's pretty awesome that's where they shuffle why should you shuffle somewhere else I think the key point ten years is a long time and how do we do leader election when the nodes aren't running to be elected well there's gonna be a lot of it's not a problem on clusters now but you know you probably won't be doing your own leader election like that you don't consoles of service zookeeper as a service so we make state someone else's problem I'd love that I love making state someone I mean not always the the leader election be the paxos cluster has to always be running right sober list doesn't mean those things disappear when you don't you know when they feel like it some set some serverless workloads stick around some disappear when there's no load right but if state is someone else's problem then that doesn't solve the problem for like security very like highly confidential jobs or banks and stuff like that poor operational security exists outside of the cloud as well you know I mean opera security is not a cloud-based problem it's in everywhere problem so I and in fact some of these people exercising poor security would in fact be way better served by using cloud service is that are actually well audited it takes out an entire class of security problems people who don't know how to encrypt data at rest and would probably have the key on their desktop in plaintext if they did can use services like snowflake which will take care of all of this for them that are already HIPAA compliant so I happen to one great let's just raise your hand if you think your security team is better than Google's Amazon's or Microsoft's alright ok and with that we're gonna move to our third and final round which each member again will get two minutes to try to convince you to vote for their proposition let's sort of the against him now who wants to go first okay yeah so I feel like we made a pretty compelling case so hopefully none of you got swayed to the other side if you did though with like the smooth talk of kubernetes and all that I will say that a lot of that is like just like icing on a cake that has not actually been built yet and in 10 years like sure like it might actually be there but also like look at where [ __ ] OpenStack is today you know like no one really uses it the people who use it are still in bucking pain like ask any OpenStack user if they're happy you know and it's been years and they still are so like has there been any software like look at zookeepers you keep it's all so old and it's like are you still in pain using zookeeper yet like you still [ __ ] are like things don't get better buds are still there okay it's off so I'm an optimist perennial optimist things do get better over time I think history tells us so right yes zookeeper still sucks shouldn't use it use use something else or use use it use a you know consensus as a service if it exists out there but a lot of the arguments I hear are you know grounded on the reality as it is today right and I and I admit like if I was starting a company today I wouldn't be all serve as some of it would be not all of it but I I want I want you guys to refocus on like think about what what the world was like ten years ago and what it will like ten years from now what it will look like right where there is demand and there is demand because nobody cares about managing service that's not like like Steve is saying that's not anyone's core competency that's not me gonna make Bank a better than well bank it's a bad example but you know company a better than Company B but and because of that there is demand and where there is demand there supply because we're in a capitalistic society right and and whether it's supply there there there will be competition and prices will go down and yeah I rest my case James remember what the the premise was is that a hundred percent 100 percent all workloads could be server less in these future billion-dollar companies it's just not possible serverless can't even run serverless you can't take serverless and run it serverless it's not possible so there's no way that all workloads are gonna fit within the constraints of serverless and be able to be scaled to nothing and be able to fit that model there's gonna be something that comes out whether it's quantum computing or something that changes the game in such a way that the abstraction breaks down and we have to go back to more primitive servers well first of all I don't I sincerely doubt that multi billion-dollar companies are going to be running serverless running serverless as a Corp business concerned but if you look at what people are using serverless for today they're using service server lists to launch all kinds of things sometimes agnostic of whether it's a stateful stateless function or a container or god only knows what you know it's being used for a variety of things maybe no one ever really considered when they came up with the case and if you look at the penetration of serverless into our daily lives now all the things that you don't really think of as being server list in a broad way our server less on premises serverless as when you delegate cluster management server lists server list is all over your daily life right now so what do you think it's going to look like 10 years from now and I'm going to focus on you're going to get to use server list whether you want to or not because try to hire system administrators with bare metal experience now because I worked at an exchange at one of those places if you want to talk hft all right I worked there and it is hard to find people who have that experience now how hard do you think it's going to be to find those people ten years from now you you use server list not necessarily because you want to but just because like python is second best at everything you'll use serverless because you don't really have much of a choice to do otherwise enjoy so I think like this you know conversation got out of control I go to servers we don't have a you know definite answer it means like every time somebody's asking about the limitation you're taking the abstraction level one you know level above or whatever but what if what if like I think it's just purely speculation at this point I feel like as a cloud provider what we do is this we give people some black boxes we add some value by you know just being a little bit open aided by adding like additional values service functions is one of them but we also provide some flexibility right like if you go with the virtual world you have more flexibility than service functions for example and all of this stuff is like different pricing models so I think you know this is the reality of it everybody needs a different option and that's why I like I do not believe that there will be anyone in trial on server list because that's not how the economy of this thing works at all you know people are looking for velocity reliable to extend ability security and all of these boxes are provided by different by a different product so you know you can take service to anywhere but just like extending the you know the extractions or lie just claiming that anything in the future like any children it is is like you know service or whatever but like the reality is we need all these different different shaders because the pricing is different and there's like additional you know differences in terms of value and so on and closes things off Steven so you know there's a yeah there are always different trade-offs at different levels of the stack but those trade-offs tend to shift over time as the higher levels of the stack improve and mature and as kind as competition kicks in so you know when you look at you talk about like you know kind of new forms of hardware or you know kind of new radical developments and then you need your own control so we've seen you know we've seen the emergence of you know chip specialized for neural networks we've seen all kinds of new neural network you know algorithms and services coming out for the most part even today forget ten years from now today you know if you're not one of the giants if you're not one of the cloud providers you're not building your own neural net chips you're probably not deploying your own neural net chips you're flocking to Google cloud or one of the other cloud providers that will give that to you even if you're a big even if you're a multi-billion dollar company you're you're is a good chance you're not even running your own software directly on those chips you're taking advantage of one of the AI services that the cloud providers are offering there are always gonna be things you can't do at the highest level of abstraction you can't build server lists on servlet actually you could I mean you could write a function that runs someone else's function I don't know why you would but you could but the point is you you wouldn't want to the whole point is you're not in the business of providing server lists you're in the business of whatever your business is and the things that you can't do at the high levels of the stack are the things that you don't want to do unless you are in the business of the lower level of the stack and I think that's the common thread through everything from you know for the cloud and virtual machines on up awesome so let's give a huge round of applause for our valiant debaters and thank you you did a great job and now before leaves let's you know see the results so whoo now again for the motion that 10 years from now most kind of large companies will be a mostly create large companies it will be entirely serverless who believes that this proposition is true please raise your hands oh wow you guys did a good job like I think you're like double triple the votes let's say okay and who actually does not believe that this proposition is true yeah I think it's pretty clear to say that the team arguing against the motion won congratulations [Applause] [Music]