AWS, BBC, Facebook discussed on Software Engineering Daily
Cold start. Or you're basically saying that the cold start problem was not as much of a cold start when people were more focused on virtual server infrastructure structure because those vm's were longer lived than the containers. Seems absolutely I think back in the day. Beams that run for a longer period of time people tended to launch a machine and make use of it. They wouldn't thinking about this idea of washing machines and shut them down. We didn't need them anymore. I remember the first time I saw a customer. Really do that at scale. I I believe was back in two thousand and eight remembered was Thursday and there was there. Was this company called Moto. Do you remember them. Down the AMI demote any motor and they had this thing basically I think it was you point them at your facebook stream and they would generate like a video of your your music with crazy graphics ethics as you've there's this cool little gimmick and it was a Thursday afternoon because I remember this sort of doing this thing where they would launch a new instance every movie that somebody subscribed to and they went viral and and suddenly saw this massive spike of launches easy to and we. We kept it up. But I wouldn't say there was a number of behind the scenes making sure that the early easy to it wasn't I'm good a full of increase. They were spinning up. A new VM. For each video for each way which I think we later found out it was actually a bug in their code but that was the first title we actually saw this idea of. He'd literally was very little capacity to thousands and thousands of machines suddenly starting up for the first time we saw it. Obviously we've seen begins for short periods of time. And then you get the Solis and the cold start saying you want those lambda functions to start up instantaneously. And so we've been working a lot as EC two do with the Landau team the secret. We shouldn't tell anyone but service actually has a server behind the scenes and that sort of lambda is easy too so we've been working with them to solve the problem a ministry to things we had to do was give them a hyper visor. That has a very very fast start time. And that was firecracker which actually ended up open source seen as well so you can go look at Clark record out there. And it's really designed to be incredibly lightweight giving the same security boundaries that we have with the NITRO VM. which is something we've never compromised on? We'll never compromised on the boundary between customers. Never want to take any chances there but can start up a VM. And a couple hundred milliseconds hundred two hundred milliseconds of time so that that's all one part of the problem of lander. The other part of the problem was for customers using BBC with Manda. How quickly can Einstein state the networking resources? How does it take to attention John? I for example and so we've done some work with the team to get that down to a couple of milliseconds as well and so I believe landers. They've announced and they've all done to most of the fleet. So the the solution to cold spot and slammed two functions ousting foster and supporting those vary ephemeral closed the game. which is where the wills? So how does the firecracker occur based vision for service infrastructure compared to and. I don't know if you're familiar with this stuff. But the K.. Native suite of projects from coober netease community so. I don't know too much about Canada but we have been working a lot with a number of those vendors so what happened with with firecrackers. Is We both firecracker and we did use a number of those tools and k native the name of the other one. I'm looking at right now. Remember shortly but we ended up launching and it was largely reinvent last year it was is actually the the the the number one guitar project for two days and so it's pretty pretty insane. We couldn't believe that end. It just showed that the desire and the community was something in that space right and so we've been very excited to contribute their from an open source point of view and some firecrackers team which is actually based in Bucharest Romania. An amazing team up here that both firecracker they've been very engaged in the community and so a lot of those teams are working together on K.. Natives involved but then we've also got another project called recipe on 'em uh-huh which is sort of building a vm. Management system unrest. Which you've already? Let's rush at the moment and so there's a lot of engagement there and again it's a you know what these officers probably just being. Really great is sort of the whole. Competitiveness is kind of goes out the window and it's all community coming together and saying. Hey what can we actually. Will you know whether it's ourselves without providing any of the other the clock provided so any of the other chip manufacturers. And that's what's coming together and working on that project and so it's early days or that stuff from excited to see where it goes does firecracker hard dependencies on specific hardware. So I don't believe so I was here at the moment. They believe. We've just finished one running on so that's an extra six processor. And it needs to be a hyper visor to run on metal on so you can run it on a lot of customers that went on. EC Two mental today. There's customers that run it themselves on any other way that they'd like to use you know we've had people even look at us in like small devices embedded devices and things like that it is very very lightweight and save you need in sort of environment something different okay. So the workflow for using a firecracker instance is or for using firecracker ker you spin it up on an EC two instance and then you spin up your own server infrastructure on top of it or are you spending up aws lamm does on top of it. Can you help me understand what the workflow is so the way that it works with. Lambda is lambda uses firecracker. But you don't actually see director. Lambda us uh-huh interfaces talking to lambda starting up a creative function and then executing the function wetlands behind the scenes is they taking a mental easy to instance and they're installing firecracker onto that instance. And didn't they manage firecracker is if it was a VM. And so much the same way you would have done with then they creating the necessary. Three COM VM. Instances containers. Whatever you WANNA call them votes within firecracker and so they could put thousands of pipe? Machines Service instances on that physical machine and each one of those tied to a customer function. And so when the function executes attorney inside they'd Firecracker Vm. And so that's how you would manage it if you ran for yourself. You downloaded from get hub and then install it on the machine. As a as a hyper visor. Much the same way as in does interact with the cricket. Instead of the is the lady create images and then instances and use it as okay. So firecracker is a hyper visor. Yeah okay got it. What went into the design that allowed allowed you to spin up images faster and reduce the cold start problem? What were you able to strip away? Or what kind of performance areas were you able to improve Gregor. It's it's making it incredibly light weight right and in reducing the number of devices that you actually one of the charges. USB You probably know USB printer what happens a lot of these hyper vices they emulate pretty much device. That's been out there in the podcast right to look at what was happening Zan Mangku. It's just a math. A Lotta time in the emulation a number of other optimizations as well. I don't know the details on all of them but thirty stripping that away and getting it to boot and then obviously making sure that the image building can also be started up very very quickly and so thinking about the operating system. And what were you bring into memory there. The other side of it was just making sure that the network performs a lot faster and at the state of BBC's being pushed out a loss to and that got us down into the sub second time range will coleslaw times on them so that seems like a really good approach approach to the cold start. There's also an approach. I've heard some people talk about where you pre load or pre warm a bunch of containers with like no Oh J. S. or with python on it so as soon as the workload comes in that requires python on a container. Then you can just schedule that workload onto the container that's pre filled with python and boom. You know you run it really quickly. Do you think that's also a viable approach to reducing the cold. Start suddenly approach. We've we've looked at and we've we've definitely don't pre warming in other parts of Easy to in. Aws Right so they're number services that cooper services so there's an use them It depends a lot on a couple things I think about their one is the cost and so does your premium pool need to be all right. Because you're essentially keeping capacity around that you might use at some point in the future you want to have enough capacity because when you don't have capacity in Fremont Pool you end up with the slowest time with these in that model but if you have too much Cabestan the people in Pool. You're spending money that you shouldn't be spending. That's one of the things. The other one is from a security point of view. Where's the security boundary when you when you have a pretty warm pool scooby? Nothing that premium pool that you wouldn't want to give any custom and so when you spend that machine blake is ready for that customer or is it a pre one pool and then allocated to a customer. You also think about whether you account boundary so you can't move a machine between accounts since a you know if you do have a service where each uses different. Aws accounts does it work in that and so there are a number number of things that many services are views pre one of the teams that's in my organization as they let go balancing team as well and they had US pre warming we've used premium elastic. Load balancing some of our other tosses where it runs. EC Two and when we need to have a new machine on your note for the advanced be able to pull it from our preamble and then you really avoid the boot time to able to get another machine into service look cluster. So there's definitely places we've used that very effective in shock. Customs duty as well as businesses become more integrated with their software than ever before it has become possible to understand the business business more clearly. Through monitoring logging and advanced data visibility. Sumo logic is a continuous intelligence platform that it builds tools for operations security and cloud native infrastructure the company has studied.