enterprise session There's lots of open stack to the enterprise sounding sessions. So this is the Dell and Red Hat one. Hopefully you're in the right one Let me get it kicked off right now So I'm Steve Croci. I work for Dell that long title basically just means I own You know our open-stack roadmap what products we bring to market with open stack how we how we productize it and how we Sell and work with the open stack community Presenting the kind of second half of this is Sean Cohen My counterpart on the Red Hat side product manager principle product manager for open stack So what I'm going to talk about today is First of all, you know just look at how you know discussions about Enterprise and open stack and mentions of enterprise have changed over time Who are these guys? How do we define it between us and Red Hat? Who is an enterprise customer? What kind of things that they run a real short intro there? And then why is this kind of a good thing for the community? So, you know short intro on just you know what we're doing who these folks are why you know why we're working in this space and then really start to dig into You know how we work together Dell and Red Hat, you know What things we think are important and some of the lessons we've learned things that we you know Hopefully you can leverage and learn from yourselves And then where we're going next the things that we're starting to develop on now The areas where we're going to work into work on upstreaming and then some takeaways So, you know just drew a little chart of you know kind of the you know And a open stack getting more and more enterprisey over time So looking way back at the beginning, you know Austin Diablo, you know It was kind of a you know very few enterprise mentions not really big focus at the time It was kind of a you know, don't even think about it type of space, you know, it's not ready But once we hit, you know Essex and you know through Folsom it got into what you know Pretty much I'd call like a gathering requirements phase. So people started talking about okay What would an enterprise need, you know, you know, how can the enterprise benefit from this technology? And so it started to come together and it was a little bit more of well It's getting there. It's almost there and you know, but still, you know, you still had the you know Standard, you know standard open stack summit dress code You had t-shirts and jeans and a lot of the presentations But then you know things started to get you know a lot more corporate entities coming in so the golf shirts came in Grizzly through ice house and the talk was then you know, how can vendor X, you know enable the enterprise, right? So a lot of vendors started coming in and saying well Here's what we're doing to make this make this technology make open stack more palatable to the enterprise Here's that you know here the areas where you can benefit and that's where it was like it's you know It's almost ready. It's almost there We started to see some you know adopters in the enterprise start to start to pick up and run with this thing and some really good early Examples of how to use open stack in the enterprise and now you know, we hit Juno and You know, it's it's it's we're starting to actually hear here's how Enterprise X has benefited from open stack. We're seeing more and more talks about you know success stories or at least stories of people You know using it having some best, you know coming out with some best practices coming out with some some of their Learnings and really we're finding the core is ready now There's still some you know other products on the you know projects on the on the peripheral periphery that you know need potentially a little bit More work and may not be enterprise ready, but really the core is ready and you know Given I work on the on the product management side I look to you know Gartner every now and again and they made a statement recently that Juno is open stack 1.0 for the enterprise which I kind of like that statement I think I think it kind of makes sense and it's kind of directionally correct that right around Juno Things started to get you know kind of stable enough that it was a real You know 1.0 kind of product for the enterprise and so people could start using it People could really start going get some good reps on it and you know take it from there But it's still you know 1.0 gets a part that you know It gets gets to the point of view that there's still some you know You know still some places to go with this and so you know I talk about enterprise and like who are these guys, right? You know who's this enterprise that we talk about and it's like you know If I look at the you know Dell general picture asset catalog You know these are the guys that kind of come up and you know now that's that's that's not it So how do we characterize you know enterprise IT and the folks that we're looking to address and the folks We're looking to help with our solutions and so you know first of all there's no One definition it's not if you do this you're an enterprise if you don't do this your enterprise IT It's it's not that clear-cut so it's kind of you know It's it's it's a loose definition and it's more around how folks are using it the types of things. They're trying to manage and run and Also, you know fortune 500 doesn't equal enterprise so just because you're a big company that's not you know enterprise IT Very large companies operate their IT in very very advanced ways that don't have you know Some of the traditional challenges we think of when we you know when we talk about enterprise IT So there's really no you know hard and fast definition there at least in our words when we say we're making an enterprise grade open stack solution So what are they running? Well, we start to see and this is one of the areas where it really starts to get a little bit clear We see a larger responsibility to support legacy and proprietary, right? So there's you know, you've got some old applications that have been running for a very very long time may not you know Have an opportunity or really the ability to you know upgrade those or you know Use something that's newer or that's something that's you know potentially scale it out You still have some scale-up types of workloads You've also got some proprietary things either legacy proprietary things or just new-style proprietary things There's a lot of enterprise virtualization and the features that go along with it So you know these are the types of things to comprehend the other thing is There are bound to be pets so you have this pets and cattle conversation There are going to be some pets there now the question is and you know It's there's lots of ways to go with the conversation is which of these things should be an open stack Which of these things shouldn't be an open stack should you control them from open stack should you keep them separate? That's you know completely separate conversation, but it's the type of conversation that you have in this space And so you know what do they do well? There's you know you've got a whole organization to support you've got multiple business units and really you're turning it You know turning into a service provider for all these different business units So there's you know people are running their business and ultimately you are the you know You are the provider that for that and by the way you usually have some finite resources We see a lot more resource constraints in this space and therefore a lot more of an openness to leverage you know Vendor support and support resources so that's not that's not to say this is everybody But ultimately the challenge of you know running mission critical supporting the business with a you know Very tight budget and the pressure to expand and to support more and more You know more and more technologies from different LOB's with the same budget of the same folks That's kind of the challenge we see and so there's you know reliance on vendor support but now kind of a push to to You know try and do things a different way and so What is the community done so far and and you know Breezing through slightly quickly in the first half of this because this is really just you know a little bit of history a Little bit of you know storytelling on where we are today And so the first piece of it is just the expansion of the design summit, you know anybody who's been through the last Through the last summits, you know, you look at the pretty much number of people here is doubling every year So that's more people getting involved more people getting interested more and more talks as I showed in a couple slides ago on Enterprise and how to use these things There are working groups specifically dedicated to this group There's an enterprise, you know win the enterprise working group which met once earlier today They're gonna meet throughout the week. There's also I just left before this the product manager working group Which is how do we add, you know, how do we try and add, you know, some product management rigor to open stack without killing the You know the agility and the and the the way in which open stacks been able to grow as quickly as it has More drivers more hardware more devices. So that proprietary and legacy stuff I talked about in the previous slides. We're getting more and more support so that the you know The the question is no longer well go buy a whole bunch of new stuff to run open stack on it You can run it on the stuff you've already got especially in the enterprise. That's something, you know For example, that we you know, we hit on the Dell side. We have you know, equal logic Which is one of our enterprise storage, you know storage products. We support that codes upstream So hey, if you have that and you want to tie it into open stack, that's cool Don't worry about having to rip them replace everything and that's happening throughout almost every vendors come in to make sure When you enter the data center almost every technology that's already in there. Yeah. Yeah, we that'll work with open stack The feature set so adding things in some cases that are actually a little bit contrary to the you know kind of the original goal the original you know direction of open stack like Tenant, you know tenant ha and VM ha which Sean's going to talk about in a little bit These are things that people are working on to bring into open stack to be able to support You know just a little bit of an ease a lower hurdle to get you know The enterprise users working on open stack and using it You know if it take advantage of the operational model without necessarily having to change your entire application model And then there's also commercial distributions for with support once again running mission critical You know applications with a finite group of engineers Well, you've got companies for example red hat behind you to be able to you know kind of fill the gap should anything go wrong Okay, so now I'm going to dig into you know given this definition and and this enterprise group that you know We're trying to make it you know open-stack enterprise grade four Let's I want to talk about what Dell and red had have been doing together You know both of us have been involved in open stack for for quite a while But it was a little over a year goes by year and a half ago The two of us came together to really start working on integrated solutions to kind of address this space and so You know kind of the example that came to mind is I you know I've got my karate kit example there because really the things we've been focusing on the past You know year and a half is really you know doing the quote-unquote the boring things that matter most and you know the real foundational core You know repetitive things that open stack needs to just be stable and and and and able to you know run Get closer to production and mission critical workloads right out of the gate without having to stub your toe a bunch of times to get there So that's you know getting the core functionality right and I'll talk about some details there in the coming slides Making open stack repeatable, you know if we cannot repeat what we've done in our lab at the You know at the customer site or in your data center. We can't support it It's a nightmare if we can't see the same thing you're seeing so trying to find ways to make open stack repeatable So that not only between our data center and your data center But between your data center and your other data center you're able to get some consistency out of open stack Making open stack testable So there's you know a number of different ways to get from you know Bare-metal to a deployed open stack cloud. How do we test to make sure that things are you know? Just because it's up and running doesn't mean everything's up and running the exact way that you thought it would be running So working on making open stack testable best practices on configurations And I'll talk about this you know this in some detail in a slide or two is that things get interesting when you put it on Real hardware testing things in you know in a virtual environment or in a limited You know CI infrastructure doesn't really ring out everything so best practices what we've learned on configurations And then the fewer snowflakes, you know statement is not in any way any kind of statement around an appliance or trying to you know Really limit what you're able to run an open stack But it's just being able to drive some consistency being able to make sure that once again when you deploy in one place and you deploy In another place it's not going to change drastically from deployment to deployment so that you can expand easily So you can connect easily so that you can do all these things and so you know really the statement at the bottom is open Stack that just just works and you don't need the you know ninja or your mr. Miyagi to come fix it for you So full stack validation on real hardware This is one of the things we do and I point to the things kind of weird doing but I you know I want I don't want this to just be hey Here's how we did it just these are some examples of areas where we've you know We've had to do things because we've either run into bugs or issues or you know things that need work on so You're doing it yourself. These are things to think about so one of the things we've done is we integrate the you know Kind of the product or the configurations that we sell into the red hat ci so every every everything that gets you know Update on the red hat side goes through our ci Which is the actual hardware that we sell in the actual hardware in the actual configuration we sell now That's significant because you know I have the note here upstream doesn't test the full matrix Upstream tests everything and there's a ci that tests all the features But it doesn't test every single feature with every single other feature So every single you know cinder driver with every single hypervisor with every single piece of hardware with every single nick Etc. Etc. So we're testing the exact configurations that you know and and and validation suite that we've got With the exact hardware it configured in the exact way that we Configure it so once again ringing out those issues up front. You're going to see things as you get to real hardware Tempestum rally for validation. So there's a talk Tomorrow afternoon at 2.50 on this you know very topic and there's a couple a couple more during the week But we've been doing some some work with tempestum rally to build a validation suite with an open stack And that's another area where I mentioned earlier just because you've got it up and running Doesn't mean everything's running the exact way you expected it to so building a real comprehensive test suite with tempestum rally We do still have some tests outside of tempest right now But we're working to you know get more and more of that functionality in and today It's just a val it's just a deployment validator longer term goal is for it to be a continuous validator So you run it on deployment you continue to run it and this is very much in line with you know The def core work we saw a big announcement on that today Really getting it to that level where you can continue to run continue to run tempest and get to the point where you've you know You're validating your your cloud regularly And then finally ha and fault injection another one of those areas where you know Testing the capability of dealing with a failure is different than being in a lab pulling a cable You know Having having a hardware failure pulling a note out of service killing a service You know doing all those things on the real gear on real hardware is area where we've actually found failures things like you know Even below open stack pacemaker for example We've run into pacemaker issues as we you know that have had to go and get fixed as we as we really test all the failure modes in the ha system so Validating the full stack on real hardware is one of the areas that it becomes really important The other piece is you know hardware selection and configuration now That's not to say that this is anything that nobody in the world could go do But once again, it's the homework we've done up front to be able to provide you at least you know For someone looking to get get started quickly a good point of view on things known working in areas where we've seen problems and areas We haven't so for hardware guidance like you know There's there's some things that just matter more than than others when we hit you know Incompatibilities and bugs and issues when we try to deploy one area that we've you know seen it happen a number of times Is is nicks, you know Nick firmware Nick vendors all different types of things We've had deployments where you go and say oh, let me just switch out the next because this is my vendor of choice What could go wrong? It's you know things break things don't come up correctly. So, you know, we provide guidance around Okay, we're we standardized on nicks, but what server model it is less important, you know What how you how you set up your storage how you set up your raid? Maybe a little less important how much memory which processor you use less important So there's guidance around that and I just have you know some little pictures of the docs that we provide Which once again is you know I talked about a little bit before an RA that's more than an RA and we call what we do what we create with red hat a reference architecture But reference architectures are usually just you know sims is sort of a single configuration You know single way to set it up and ours is a little bit more modular We we have with it deployment guides and all the tooling and scripting and everything that goes with it So it's more of a flexible framework for how we're able to deploy these things or at least to give you a head start on how you can deploy them Second piece is hardware configuration. There's a number of deployment tools out there not all of them Configure raid configure bios configure all the low-level things that you need to get started once again to drive some consistency throughout the cluster We have some tool set at Dell tool sets at Dell that we've created some automation around to make sure when we deploy this thing It's consistent every time, but we're also pushing that support up into ironic So, you know for as things like triple O You know start to gain more traction will have it in there But also just for running bare metal instances that support is getting pushed up as well And then finally, you know just the network configuration not, you know anything that's that's you know Rocket science here, but once again having tested it having run through and giving you a starting point in a template That's known to work and pretty much, you know Focuses on balancing performance and scalability and resiliency and isolation and it's not one of those You know like you know you can see in storage where you know you got three three aspects you could pick two We've really been able to balance all of these without having to sacrifice in any major way one over the other so, you know, we run For ten gig connections per node We run dual ten gig bonds an example there gives you the resiliency. You've got failover. You've got high availability But you've also got the throughput. You're not you know You're not having a passive connection and you're not wasting that extra connection We use VLAN type for neutron. We found that it's you know, that's the that gives us the best You know kind of balance of performance of scalability, you know once you get really big and you run out of VLAN Okay, if you've got a large number of tenants, you know Then we start to push into other things like the excellent but for for the you know for someone going into production and Without a you know huge large number of tenant networks VLAN works quite well, and it's actually pretty speedy and then finally You know the way we spread our services. We have eight dedicated VLANs. I could show the picture here This is in our reference architecture So you know you can go to there's a link at the end of this to go pick it up But ultimately we've just architected it all out to balance across all those factors. It's scalable It's easier to take these VLANs and pop them on to new nicks as you get bigger and bigger And once again since we're aggregating on multiple connections, we get the bandwidth improvements We get the redundancy improvements, but we also get the isolation of having everything VLAN separated and so, you know didn't want to make a Product pitch so but this is just a quick, you know what we how we sell this today We you know for kind of getting rolling We've got you know you can just get quoted immediately a half rack to three racks beyond three racks We usually like to talk to you because there are network considerations There are a lot more considerations once you start to go big but half rack to three racks It's pretty standard architecture running the latest red hat open stack platform latest Dell gear We've recently just Moved a neutron we moved a neutron a little bit later But once again, it was another one of those scenarios where we didn't you know We stuck with nova network up until Juno wasn't until Juno that we really felt that that that neutron was it was you know stable enough and I offered exact and Had ha capabilities and all the things we needed to be able to stick by our ha story and our enterprise grade story So now we're on neutron once again fully active active ha the last component to make us fully active active Came in Juno with VRRP so Sean will talk about that in a second So now we're fully active active and then one of the other areas that we spent some resources in in you know Kind of up streaming is around multi-storage concurrent What we mean there is having multiple sender back ends at the same time So given that our default storage in this is set the default storage back end is set for for our our configuration We still support Dell has equal logic which we've upstreamed the drivers for we also have Dell's Component products and you know which we've upstreamed the drivers for in kilo and other vendors You know enterprise storage so once again moving into an environment where you may have Various different storage technologies one of the areas we thought that would be very important is to be able to connect all those Into open stack at once and not have to not have them all you know Have them be able to use with QoS and other types of features So at this point I'm going to kick it over to Sean who'll kind of work up the stack a little bit more and talk about What we're doing next thank you Steve all right, so we talked about the integration with the hardware and Steve actually walked us up to pretty much the software and this is where I want to zoom in and talk about The work we've done in the core engineering and integration port, but before we start I want to actually touch upon the open stack side and the importance and I would actually would start with a Question how many you focus in the crowd drive cars Raise your hand all right most of the crowd how many car owners Are your cars are operated actually by computers? Most of them right what happened if your computer your car computer goes? Not working right like a failure breaks something Who would you go to fix that brake failure which is computer related when you stop any any shop on your way out From work or you would go to the manufacturer that actually knows the compute the car computer to actually to fix it And when we look at open stack just to stand up open stack You probably need something like nine services to talk to each other just so we have a consistent deployment This is just open stack layer But if we don't dug deeper into open stack open stack is pretty much a pluggable Infrastructure that talks to other layers below to do the work So if I'm going to create my volume in open stack I'm gonna act open stack actually goes and ask liver to do the dirty work and create the volume for me And if we look down the stack Open stack has a very large dependency of the operating system. It relies on top and The reason I bring it up in the last years We have customer cases where we started up finding an issue and when we dug it's an open stack bug It's an open a set cakes we started to dug into to the layers We found the problems in underlying layers all the way to kernel. So if I have a kernel problem, right? as part of my cloud deployment, who would I go to and Right at this being one of the leaders of open stack In terms of code contribution is it's not something that we see yeah We would like to stay as a top contributor. This is part of what we do We need to stay behind the code in order to support it and we support it for few years Right now and the support actually goes if you look at the stack It's throughout the whole stack. So it's stuck with actually the guest OS That's runs on top of open stack throughout the open stack itself with all the different services and components all the way to the operating system and The hypervisor so in our cases KVM, which is the most common hypervisor We see today in open-stack implementations, but it's not doesn't end there because we as being or prison working on providing rel We also have a very tight integration with the hardware community So we are have a lot the largest set of hardware vendors integrated and certified Against what this brings us through the table if we work our bottom up is Whatever I plug into open stack have a quiet at night that it's going to work because it's certified We actually make sure that whenever you connect to Your rail KVM open stack all the way up to the guests actually works in terms of hardware, right? So that's that's something but you also are able to impact on each one of these layers And I think the strength of our distribution just in a word is the ability to actually do modifications That's just supporting and bugs and issues But we actually be able to do performance assessments for example at the hypervisor lever To benefit the cloud infrastructure for example, so we are able to do Impacted different layers of the stack to actually to bring more value So if we connect that take for example as a Linux Which is the security? Militia great support security that we have built into rail and it's part of of open stack And we talk about enterprise right so if you're an enterprise customer What are your security requirements to deploy open stack? So you have a different set of knees that needs to be addressed and when you took about Connecting it all to the hardware we have a full picture What next so we identify three different areas that we would like to focus on so as Steve mentioned The blueprint we have right the cloud solution that is validated is already available today, but We believe there's still things missing and there's work to be done in order to get us to that enterprise grade Level that we want to give you as customer to have the state of mind Quiet state of mind and there's three topics are high availability rolling upgrades and deployment and we'll start with high availability Which is breaking into two Which actually deals with both the tenants high availability and the open stack services themselves have availability and if Active active mode, etc Rolling upgrades that's probably the number one biggest headache we have today in open sack, right? It doesn't matter. Where did you jump on the open-stack train in what version right all the way to kilo release? How do you upgrade right so I have let's say I've jumped in key Juno and or Diablo whatever I want to upgrade now to the latest and greatest release How does my upgrade gonna look like right? I have to stand the whole cloud environment again and regrade my Would I be able to do it in a more CI level continuous integration? That's all right So that's a very problematic area that we are focused on With minimum data, of course deployment Open-stack deployments are very complex and as you can imagine it can be spread around the world in different locations It's era, but we would like to get to a point where we can automate the process to almost like an easy bottom deployment tool and That's the goal, right? We're doing everything that automated and what about deployment? That's something that is currently missing from open-stack, and we're seeing as the next thing that we want to focus on So we'll start with high availability of services and what have already availability of services means It means if I shut down my compute node. No vibe. Just kill it Everything is still working my VMs that was hosted using that VM Controller actually being able to meet it automatically to that and no similar to what we have today in traditional virtualization But it also mean that I need to my cloud implementation need to survive any poor and fully if I Steve mentioned that pulling Cables out right that we're doing as part of the validation of the cloud infrastructure Your whole site can go down. It's not just one node Which this is why we have built in AJ, but the whole cloud implementation go that can go down And you need to be able to do a disaster recovery So when I AJ is the first step for disaster recovery and and today we have a lot of active active already Built into open-stack services, but we still have some holes as I'm going to mention in a second And I'm going to give you some example how we utilize for example pacemaker As well as AJ proxy and our horizon VIP So I'm not sure how many of you seen this slide before But today that's pretty much what's happened under the covers when I'm getting a service using fine my horizon UI dashboard and guess what one of my Controls goes down so so I have basically a controller pairs being in a j-mo where we leverage AJ proxy And the way we do it we actually leverage a virtual IP as well for arising So we basically are able to route all the traffic from one fit one pacemaker close to two and a If we look at the high availability This is where we had gaps until The junior release if I had a cloud Network agent going down and that used to give service to specific tenants guess what these tenants cannot get its service Because the know was done so we needed to fix that problem and the fix was came in a virtual Router we've done the C protocol of your RP So it's already supported in relatively six and it pretty much provides us the aging network Built in already per tenant and we have a keep-alike process Per virtual routes and we are able to actually route The traffic upon failure That's pretty much how it looks so we have virtual master and then we have backups on the other nodes and When when one of the nodes goes down it can be automatically served by another backup virtual router All right, so we talked about the service high availability Let's zoom into the tenants high availability and I would Just gave one example because we have limited time and we do I do encourage you There's a lot of sessions other sessions that go in much more detail to deep dive to each one of this But just to give you some highlight so you can feel where we are so we started with Juno So I talked about the VRP. That was a big must and was added because that was a single point of failure In kilo which was just released We're now focus Focusing on on providing instance high availability using pacemaker. So if we have we need to migrate our VMs if our whole I-provisor went down we need a way to do it and we're gonna leverage pacemaker and of course there's a whole fencing mechanism happening to detect the failure and to do the The trigger all the way up to Nova so we can actually perform the operation Moving to the Liberty release some areas that still need hardening is like migration So I just mentioned hypervisor going down right and the unit can grow all the way to as I said to a site fellow We need a way to make sure that automatic evacuations of my instance happen in all states Including non-active states and believe it or not. We're still we're still not there. So There's a way for there's a still way from a way for us to go to actually make sure that all the cases of VM migration are there and and sadly it's not we have something like six blueprint just on hardening the Ability to live my great instances If we look at cinder Cinder is until this release is pretty much the only core service that still doesn't work in active active it's still active passive and So that there's a lot of work to be done There's in this release. I won't go into all the features that being Addressed, but there's just to give you an example if I have a volume I'm not going to create a volume using the cinder volume and I'm gonna shoot the cinder no during the process I would be stuck in that state if I'm gonna go and Create a change of quota and sender and I will shoot the cinder by so node boom absolutely stuck in that states forever so we still have Few states that are not there and dealt with and the way to deal with it. This is actually task-close So there's work right now been done on volume persistent support to actually mitigate it so it will allow to operate is simply shut down the cinder API and For maintenance, right? So we talked about different kind of fellows from different reasons But this is something that is useful from operational. I need to be able to do this just to maintenance, right? I need to do upgrades it's there updates, etc I need that to work and this is something that we're working on so we can actually resume our work after In the block storage service moving on the third topic I mentioned is Deployments and upgrades the two and third and I will start with deployment and when we look at deployment Typically fear. Yeah, we need to install open stack. That's our goal. Guess what? That's our starting point now. You need to manage your open stack environment And the focus is on is basically provide tools That are undatified by open stack operators in production to control in debug So as an operator, I need a way to know first of all a Failure in my side one of the nodes went down. How do I know about it, right? To how do I debug the problems what log a great aggregation lock search tool? I have available out of the box to actually support me maintain my open stack So we again just to zoom out. We are discussing enterprise grade open stack How many of you run production environment today not even in cloud if something goes down You need to know where and if we go back to the analogy the analogy I gave with car if I have any problem with my brakes, I would get an indicator on my dashboard This is what I'm talking about. We need that indicators. We need that in dashboard indicators to know what's going on in our cloud environment When we talk about out of management tools, so I'm running an enterprise environment I have different tools and being able to standardize open stack APIs to allow us to manage and use other management tools as part of a deployment. That's key, right? We don't we're not open stack as a scenario is all about being a pluggable infrastructure management and deployment management needs to be part of that a open API I Want to add or remove capacity, right? I need tools to allow me to do it on the fly without bringing out any service downtown and actually allow me to Bring to life the elasticity promise that opens like rings, right? If I am not able to do it in a consistent sway and easy to do away What am I doing? Providing control API to extend what I mentioned, but the last thing is actually updates and when I talk about updates I'm not just talking about All right, we have a software of update for open stack, but also patch management, right? I'm as I mentioned earlier. We have a very strong dependencies to the hypervisor OS, etc. I need to be able to run Security patches. Let's say there's a severity one security Bug that needs to be addressed. How do I roll that? But bug fix which is critical in zero day, right? Throughout my cloud I need consistency tools to do that to allow me to do it on a regular basis so To capture the focus we're doing is on the default development side is actually 366 year life cycle that includes both updates and upgrades as well as capacity adjustment And this is where I actually want to give you some hint in the next real OSP version That's going to come up this summer. We're going to introduce what we call the real OSP director, which is a new deployment tool it's based on triple O which is the operated Way to deploy and manage your Underclaw and opera cloud as well as inspired by other tool Which is more see ICD tool It's called spinal stack and this is coming up in the next release and it will allow you to deal not just with the deployment but also bring a lot of management tools so you can manage better your cloud and what's what's going on in my cloud as well as Allow me a way to do updates patches management, etc. and of course trying to hit the bigger problem, which is upgrades and Allow me to stay on a Consistent place where I am in open cycle. It's our now Juno release I want to be able to stay that for a year get all my patches and still Have my production stability But when I do want to upgrade to the next reason by the way the fact that open sector is a release every six months Doesn't mean I need to move all my investment every six months, right? I still want to have the stability get my Backports it some of the feature are being back to that actually we're doing it for customers per release when it's available available But it also allows us when we do want to move to the Liberty release, right do it in an easy way without Taking out the whole investment in setting another cloud and migrating all my instance into the second cloud and with that I want to actually Summarize The solution and what we've done just to zoom back to the thing that Steve actually was describing earlier in the work We're doing so we are taking open stack As well as the hardware and we're doing a lot of work just to integrate it to Throughout the cycle we found a lot of issues that believe it or not are not open stack issues Steve mentioned the the pacemaker box for example bonding in networking was another one so it allows us to actually harden open stack and get it to be a more production ready and If you want to hear more just go ahead and scan the barcode the reference architecture is there And it's very detailed as Steve mentioned. There's it's not just one configuration It's different configuration that allows you to grow and we have different network topology different storage topologies everything is outlined in the reference architecture and of course we're here and now it's time pretty much to open The question Q&A. All right, Steve, you want to join me back? All right, if you have any questions, please use the mic at the frontier so everybody else can hear Everybody's taking picture. It's just good. No, this guy So any question technical Any level? All right, it means you did a good job So thank you very much


Mikael, Monty Videnius will talk about MariaDB, and I think how it is the status in Debian and stuff. Okay, yeah, we'll do that. So, welcome to my talk about MariaDB, my square a little bit about the history where we stand on what we plan to do. But first I want to say that I'm a developer, I'm mostly at home sitting in my cellar and doing code. I do these talks just because I have a hard time saying no when people ask me to do that. And I of course want to ensure that everyone knows everything about MariaDB. In the good old times we had David Axmark doing all the talks and I was sitting home doing the development. But that said, I'm most comfortable in a discussion with people. So if you have any question at any time or want me to spend more time or less time on something, just tell me. We will start introducing Maria, who is giving the name to MariaDB. This is my youngest daughter, she turned nine a couple of weeks ago. And of course I was not at home, I was at Oskon. That's kind of the life of where you are, somebody who does lots of talks. And this is following the tradition that we had my oldest daughter, me giving the name of my squirrel. Little bit what I'm going to talk about. If not somebody wants me to talk about something else, which I can do of course. And the history is basically that I created my squirrel started with the coding in 1981. We released it as open source like in 95 GPL as 2000. And then it was eventually sold to Sun and I thought that would be a good place for my squirrel. Because Sun did understand development and open source. But when Oracle bought Sun with my squirrel, I saw it as one of my tasks to ensure that all the time I spent on this project wouldn't just get wasted. And we had lots of core developers who didn't want to work at Oracle.  So I took them under my wings and created a company where all the core developer was owner of the company. And we had a task to keep my squirrel together under the name of MariaDB. Because during the way an open source project dies if you lose the core developers. So fortunately we are in, I know in the SkySQL we are 16 developers. All the core developers except a few is part of the MariaDB team. And our goal is to keep it talented together and also to ensure that my squirrel will always exist under another name if necessary. And we are working with the community very actively to ensure that we get much more people working on MariaDB. So who is using my squirrel here? Okay, so then you know a little bit about the history. Anybody using MariaDB? Okay, good. And that's kind of nice for me to see. When I started this four years ago, we were taught that we could get a lot of people starting to use MariaDB within one or two years because we had core people, we didn't know what we were doing and we were doing it the right way. Basically it took until January this year until we started to see mainstream adoption of MariaDB. But then you know that we are open source, binary compatible. We aim to always be that. And the main reason is that there's still lots of my squirrel users around 50 million my squirrel installations. We want to make it trivially for anybody to go from my squirrel to MariaDB. And currently it's like that. We have extremely few persons have any problems. So there were about seven MariaDB users here. Have you had any problem converting from my squirrel to MariaDB? Not anything, which basically is what I get everywhere. Basically nobody has a problem. And that's also why Red Hat was quite confident when they are now switching all the users from my squirrel to MariaDB. Of course, maybe one in a thousand will have some issues. But the good news is that the other 999 will have a better experience. So to do that we need to make it trivial. We need to have the same data on disk, on the wire, same file name, socket, ports. Because otherwise you can't just de-install my squirrel, install MariaDB and it should work. And that's actually the biggest problem for me to get MariaDB into DBN because you don't usually do that in DBN. Do something that is a full replacement. OpenOffice was one, but in this case you just switched to LibreOffice. And that became the political struggle I had for four years to try to get MariaDB into DBN. More about that later. What we are doing that is totally different from Oracle is that Oracle is trying to say that you can be part of our development team. You can please give us patches. The problem is that Oracle doesn't work with the open source community. They don't publish trees, they don't tell about roadmap, they don't even tell when a code drop will be done or not. So it's incredibly hard to do that. In the beginning we tried to give patches to Oracle, but actually it was so hard for us to do that. And actually it cost us more work by doing that. So we have stopped doing that. We only do that for serious security patches that we find. Because we don't want anybody to break in even into MySQL system because that could reflect bad upon us. So we are a true fork, not just a patch set. We are not depending on MySQL for development. We do merges every month just to ensure that we get all the new features and the bug fixes. But actually we have to go through all the code and review it and fix a lot of things. Because even if Oracle has some good developers left, they put a lot of new people on it. They have about 20 people working on MySQL. But the people don't know the code. They don't have anybody to ask because they have no core people left. So the code quality is deteriorating rapidly. There are some teams that are doing really good job. That's in the DB team and the NDB team. And then you have some other team who are doing a decent job like the performance schema. But the main code, that's deteriorating really, really badly. And that's why we need to review everything that we take in.  We are GPL only because we kind of like the GPL. And we also have to because we are based on MySQL. So there's no risk for any closed source extension or anything. And that's actually how I wanted MySQL to be in the beginning. So when I took investors in 2000, we made a shareholders agreement. We said that the investors are not allowed to change the license. It has to be on the server. It has to be GPL. And we were able to keep that promise until we were sold to sun. But after that when the product is sold and the company is sold, you kind of lose the hold on that. But we tried to keep it as long as possible. So during the five years or four years we have been working on the DB, we have done five releases. So we tried to do a release once a year. And we probably will do two releases of 10.0 with quite rapidly about half a year in between. We also work with the Galera team to do a true multi-master. And there's lots of users who are really interested in that because you see that there's a whole grail to solve the problem that if you have one master that is not fast enough, you can just add up to eight ten masters and things work quite nicely in certain setup. And you just get the scalability that you expect in the cloud environment. So these are the basic things we added in the releases. So 5.1 was basically my score 5.1. Plus we did an open source build environment because that didn't exist in my square. And that was actually my fault because we did a build environment that was supposed to be open source with my square AB and sun. We just never released it just because the maintenance of that wouldn't have time to handle a community. And we thought that we are doing the builds so why should we do that? And that was just wrong. We kind of didn't expect the future that happened. So we should have released that even we couldn't maintain it publicly. So we actually had to build a totally new infrastructure build bot and we have done everything with that open source. So if somebody wants to make a clone on MariaDB and put up your own build system, you can do that easily in one day now. It took us six months to get that done. And we also did a much better test suite. And then with MariaDB 5.2 we worked with the community and took all the important patches that we could find that made sense to put into MariaDB. And we added those. So MariaDB 5.2 is a true community release. With 5.3 we had the optimizer team. So the whole optimizer team, everybody has worked on the optimizer in my square, moved to MariaDB. And they continue the work that has been done in my square 6.0 and do an even better optimizer. I know we had having 5.3 have something that can compete with any other commercial databases. And even handle things that Postgres was previously said to be superior. So we are quite happy with that one. And the optimizer we have in 5.3 that is a little bit similar to the one that is in my square 5.6. Difference is that in my square 5.6 they took the code from 6.0 backported that, fixed a couple of small bugs and released that. In 6.0 the optimizer team had already worked three years in my square lab and son to do a good optimizer. And then they took that and worked four persons for three years to do an even better optimizer. And that's what we have in MariaDB. And that's why MariaDB in most cases for advanced queries is superior to anything that my square will have. And probably will ever have. We also have much better application. We have more features. And then MariaDB 5.5 was just a merge between 5.3 and 5.5. So we didn't add much in 5.5. Except a more efficient thread pool because 5.5 oracle started to do or change my square to be an open core product. And we have taken as a task to ensure that anything that oracle has closed source we will have as open source. So one of the most important things that they made closed source. They actually made a closed source because we already have that in my square 5.1 was a thread pool. And they did some improvements and closed it down in 5.5. Enterprise. So we added that to MariaDB, something that is as good or better as oracle has. We also added Sphinx and some interesting queries for large sites like limits row examined. That's actually really good also for ensuring that nobody can get access to your database and try to do queries. So we limit rows examined. If you add that to a query you can ensure that the optimizer will never examine or return too many rows. So if you have big database with security information like credit cards and stuff by adding limit rows examined you can be sure that nobody can access the whole table or do a join and try to query everything that you have. So we are now working MariaDB 10.0. We will have 10.04 hopefully out next week and 10.05 should be the first beta. So in this case we have backported those features in 5.6 that are of good code quality like in a DB and performance schema. We also got online alter table to work. So these are basically the most important features that you had in 5.6. The problem was that the replication code in my square 5.6 is really horrible bad. It said something that our team who had looked at it said that they don't want to have that because it's wrongly designed, it has too many limitations and they don't think we can ever get it to work or maintain it. So we decided that let's reimplement all the things that my square has done in replication. And there are also some other things that we just think are wrongly done. So we added global transaction ID in replication in a much better way than my square has. It's also compatible with the multisource extensions we have done. We are working on parallel application. So basically 10.0 is I think next week when we do 10.04 basically it's ready. The one thing that people have wanted for years, I said that the biggest limitation in my square is to ensure that the slave is as fast as the master. My square has in 5.6 done something for parallel slave. Basically that if you have different databases, those can be running parallel. The problem that in practice for most sites, that's such big limitations that it doesn't help them at all. We will have in 10.0, 5.0, a fully parallel application that is basically that the slave is as fast as the master for any query. So if you do lots of things on the master in parallel, the slave will also be able to do that in parallel. And we already have a demo version working in Bazaar for that. So we believe that we should be able to get that done by end of next month. So we have also lots of new features. Show explain is something that is really nice that if you have a query that takes a long time, you can do explain on a running query and you can see actually what did the optimizer do with it. So you can see that should you actually kill it or not. Multisource means that you can have lots of masters with different data, then you can add one slave and you can do parallel replication from all the masters to the slave. We have something in alter tables, we have done it even faster. Delete returning is something that is quite useful. I think it's an oracle extension that you can see the rows that you are deleting. So basically the delete plus select. We have speed up group commit even more. I will come to that. We added Cassandra as a storage engine and level DB. I think actually level DB is done also now. So we can actually combine NoSQL and NoSQL with MariaDB. We added connect, which I have a slide for. Really interesting storage engine and we are working on adding TokyoDB. We will talk about that too. And more statistics that you can see actually for each thread how much memory it's using. This one should work now. So these slides are just to show that what is actually the work we have done on the optimizer and why do I am able to claim that MariaDB is sometimes better than MySQL. So this is the work that we added in 5.3 and 5.5. MySQL 5.5, even if that was an oracle work, a long time on that, they never added any of the complex stuff. So they never did any optimization for the optimizer. In MySQL 5.6 they have taken the code that was in 6.0, added that to 5.6, and you can see basically which one are done. So they only had one optimization that they added that we didn't have, and we added that to 6.0. So these are not that important. It just means that most complex queries that should be able to execute faster can be executed faster. So the one couple of things that we didn't have yet explained for delete, update, and explain in JSON format. How many is using JSON here? Okay, so still I don't know if that's a good idea or not. We will do that because it wants to be compatible. We just haven't seen something really critical. We also care about all users and people are still using MyISAM for different reasons just because it takes less disks. So we speed up that some 250% already in 5.2. This was actually a community patch. We added optimizations that you can add more memory and you can get 3, 7, or 10 times speed up just by adding memory for queries. This works for queries where you are going to retrieve the same row multiple times when doing a join. This was the one slide where when I show in this one we usually get people to switch to MariaDB instantly. So because of a bug or the sign issue in a DB MySQL, even if it works quite good and with multiple heads normally, just as you add replication, it basically stops scaling, as you can see here. This was something that was a big problem for Facebook. So they created a patch for that to solve some of that and then they asked our team, can we do it better? And the blue curve is how MariaDB 5.5 scales. So this is basically MariaDB 5.5 MySQL 5.5.  This is a blog by Mark Callahan from Facebook. So it's not from us. As soon as this blog was published, the replication team in MySQL said that we will also add a group commit. And they published away how they would do it. And what we thought was that the sign that they are proposing will never work. So in 5.6 when they add a group commit, we actually noticed that they copied our code. Slightly different. So this is how MySQL performed nowadays with 5.6 and this is MariaDB 10.0, where we have improved the group commit even more. And we will in 10.1 we will improve it one step more. The problem with the replication is that so the setup we are working on is that we have SkySQL who is doing frontline support to customers. And the MariaDB team, no working, no days working in SkySQL, we are handling all the hard issues. We see a lot of people having problems in MySQL replication. And even if we can fix most things in MySQL and MariaDB, we can't fix the replication problems that comes up basically weekly because it's design issues. Basically we have to recode the replication. So we just have to tell them to switch to MariaDB. So this kind of curve is the ideal curve. But replication is just so bad so people will get stalled things, they lose records and then all the slave dies. And we have looked at the code and just see that it's so full of bugs that we don't want to maintain. So I talked about the thread pool, that's something that Oracle decided to do, closed source. And the reason why you need a thread pool is that MySQL works with one thread per connection, which works quite nice. And when I designed that in 93, I thought that's something that should work quite good. But then you had CPUs that basically was one core. And for that the old system worked quite good. Now with many cores you had a problem that if you run basically 512 threads, you get your CPU going down with almost 30% and then it goes even down further. And the reason that the more threads you add because all these threads are running in the same memory and you can only handle that many threads at the same time or your speed is going to thread switching. And the solution to that is instead of having one thread per connection, you have a pool of threads, you basically say that let's have 64 thread handle all queries. That means that you have much less thread switching and then you get much better scaling. And this is the reason that Oracle did this closed source because the really advanced websites with lots of users kind of need that kind of scaling. But with MariaDB you get that for free. And the trick thing with the pool of threads, if you only have 64 threads running at the same time, assuming you get 64 queries that takes one over each, that case your survey is told, can't do anything. So this pool of threads only works when you have really fast queries that only take a couple of microseconds or a second. So what we have unique in MariaDB, you can run with both versions at the same time. So when you configure MariaDB, you get two ports. One is for thread per connection, one is for pool of threads. So as long as you direct all your fast running queries to pool of threads, then you can handle sites much bigger than you can do in MySQL today. So you need to take a little bit of water. Any questions so far? Anybody speaking English? Mä oot kyllä puhua Suomeekki, jos ältähän. Mä oot yleensä silloin paljon pienempi. So basically the NoSQL movement started with a blog from Twitter by a guy who hated SQL and wanted to prove that you can do much better with some of the NoSQL engines out there that was Cassandra. And the problem with the blog post back then was that you could have doing the exact scheme that was used for Cassandra. He could use that in MySQL and get exactly the same speed up. But anyway, the main reason for using NoSQL is that it's nice to be able to handle unstructured data where you have a different amount of columns per row. Because even if SQL is quite a very still language, you can't easily do a web store in a SQL where you want to have store attributes for every item you have. Because a computer has different attributes than a T-shirt that has small, large sizes, colors and so on. And also people were unhappy with the replication with MySQL because they were comparing most of the issues with NoSQL with MySQL. So there, they were comparing with Discord that basically said MySQL replication doesn't scale. So we fixed the replication and it scales comparable to many of the NoSQL solutions. With Galera, you get something very similar. But the unstructured data is still a problem. But we want to ensure that MariaDB would become a bridge between SQL and NoSQL. And to do that, we have done a lot of things. We added a handler socket which basically gives direct access to the DB and makes MariaDB as fast as Memcache for doing quick reads. We added Cassandra, we have worked on level DB and we also added dynamic columns which is a very simple way so you can have in practice different columns for every row. You're only having to learn, I think, six different functions. And we're using this as a building block for adding SQL. Now we're also working on MongoDB that MongoDB has a storage engine for MariaDB. And what the storage engine means is that you can select, you can update, you can do most things as you can do natively with Cassandra, for example, but you can use SQL. And you can also join Cassandra level DB and with the connect engine you can even do joins with Oracle if you like to use this legacy databases. So we have got a lot of questions. So why did we do MariaDB 10.0 instead of MariaDB 5.6? The problem is that because we are feeling uncomfortable with so big part of the MySQL code that we don't want to take it, we had to rewrite it. So doing the whole MySQL 5.6 and adding that to MariaDB 5.6 would take us one to two years. We didn't want to wait two years to do a release. So then we had three choices, calling it MariaDB 5.5, MariaDB 5.6 or something else. Calling it MariaDB 5.5, when we already have much more features and most of the features of 5.6 would be wrong. Calling it 5.6 and not being a 100% drop in replacement for 4.5.6 would also be wrong. So we just choose 10.0 to make things easy. So the plan is that we will do the merge between MySQL and MariaDB in two steps. 10.0 will have most of the features and 10.1 released hopefully in February, March next year will have everything. But we will do 10.0 in such a way that all the data on disk and on the wire is still the same. Maybe some options will not do anything but there will be options that have no effect than maybe speed. So in practice you should still be able to move from MySQL 5.6 to 10.0. For most cases we are not noticing anything. That's at least the goal while we are going. With 5.10.1 we can guarantee that 10.0 we can guarantee that for most but not for all. So with MariaDB we are doing open development, we are working with lots of the community and this is a big shift from MySQL lately and going back to the beginning of MySQL. When I started with the MySQL project in 1995 I was working actively with the community and showed that everything they wanted was added to the MySQL if it was possible and we had people helping us with some patches like porting MySQL to Windows. But in 2001 we had 15 employees in MySQL AB that was when we took investment of which 14 was developers and then I went to Morta Mikos who was the CEO and said that I can't do the community part anymore. We need somebody, we need a community team and Morta Ansa said that that's not why we got money from the investors we will do that later. In the meantime everybody can work with the community on their free time. But the effect was that between 2001 and 2005 we had nobody working with the community. So we still helped people doing connectors with the server all development basically except few bug fixes was done within MySQL AB. Community helped us with getting Ruby to work, PHP, Pearl, everything else. But it was kind of a monolithic structure and this was never the intention. So with MariaDB we had to go back to working actively with the community and showed that any patches that people have come in and also why I created them were part of creating the MariaDB foundation to ensure that we have a way to ensure that everybody can get reviews. And we also encouraged people to sponsor development within the company, employee developer who is working full time on MariaDB in other companies than just in SkySQL. And now we have seen a couple of companies standing up and saying that we will do that and we are working with them to employ people. Google already employed publicly one working full time on MariaDB but they have a team of ten engineers who is working around MariaDB. So we will see much more patches from Google in the near future. And we have from our side we have 100,000 of downloads from MariaDB, probably one million users but things are changing rapidly, I will come to that. So this little bit about database usage according a survey for a fine group that overall MySQL has about 80% of all database. It's actually 12 minutes. This is when we started. I can argue for two minutes then I lose. But basically MySQL has 80% SQL server, Postgres, Oracle, MongoDB, MariaDB, DB2, Cassandra, Redis. This just shows also that we did two surveys, one in 2009. This is how much people use MySQL and how they predicted the usage would be. 2012 they did the second survey and this is the MariaDB usage. MySQL usage actually has gone up and the predicted usage is slowing down a little bit but on the other hand at the same time it's slowing down they expect that the database uses to go up four or five times. So if we still are at 2017 65% running MySQL and MariaDB we still are the dominant database and my job is to ensure that this is completely green and we are kind of getting there. So I said that in January things started to change. The first news that causes people to notice MariaDB globally was when Wikipedia announced MariaDB. They moved the English server and it went so good so they are now moving other servers. I think they maybe have moved all of them already. And then Mozilla blog that they are moving to MariaDB, Fedora voted 7.0 that they will replace MySQL with MariaDB. OpenSushi has included MariaDB a long time, known as default, slack words. Basically everything except DB and Ubuntu more or less, which is the reason why I am here. And also in April Google said that New SQL offering is based on MariaDB. Fusion IO is heavily pushing MariaDB they are working us with improving MariaDB on Fusion IO but they are doing it in such a way that all the extensions will be soon available also for other memory cards. So that's nice. And Red Hat is including MariaDB Red Hat Enterprise. I think also that OpenSushi Enterprise will include MariaDB as far as I heard, but I haven't seen our official statement about that. This shows that basically people expect that New SQL everybody is talking about how much market share, how much money there will be. But according to the four five one the search group the MySQL market share will continue to be much bigger than New SQL, at least for the coming few years. We have had lots of people coming to us and saying that in the beginning that they have problem with Oracle because the license prices has risen dramatically since Oracle acquired Sun and in practice MySQL is no more expensive than Oracle if you want a license from Oracle. At least for the oil market. One of the problem has been that the libraries has been GPL and Oracle is not even going to companies are only doing monitoring services they are not distributing MySQL but they are using the client library and they are trying to get them to pay for it. So we created the LGPL client library based on MySQL 3.23. It's compatible with the current one and anybody can use this. We also are working on we did a Java and we should have ODB-C LGPL client library ready within one month I think. And this has been also sponsored by the foundation. Anybody using TokiDB? TokiDB is just a very interesting engine this is the only candidate I see that can actually potentially replace in ODB. And we will add that to the next version of MariaDB. They decided to become open source two months ago and we are working with them to get it fully integrated in MariaDB and just not taking the current code actually improving it to use facilities that only exist in MariaDB to make TokiDB even better. We also sponsored the connect stories engine which is an engine that can read a lot of different formats from this and use those natively. So MySQL has a MariaDB has a CVS stories engine that's read only. By using connect you can read and update CVS engines. You can also use ODB-C to connect to Postgres Oracle. So we know that people have been really interested about that and I've seen a couple users who are using this to do joins between MySQL and Postgres. And you've got six minutes. Six whole minutes. Or four if you ask that guide. Don't trust him. Should I worry that the light doesn't stay on? No I shouldn't. Good. Okay, so. Thank you. You can't see my slides because they're on here. One of the things that has changed since MariaDB was started is much more of a focus on community. As we've been changing the structure of how people can contribute to MariaDB we felt that it was very important to start an independent foundation to be the focal point for community activity so that it was no longer under the control of a single company. And so at the end of last year Monty created a MariaDB foundation and I joined in and started helping him without this spring. Since then we have established a board of directors for the foundation. That includes Jeremy Uzawodny from Craigslist who's also a major MariaDB user that wasn't on Monty's list just now. And we have Sergey Golubchik and then there's Monty, myself, Andrew Katz who's a lawyer in the UK who's helping us with governance and the chair of the board is Rasmus Johansson who is helping Monty with administering his business and is now working with SkySQL. That board is now putting together new governance for the MariaDB foundation and we hope that during September we'll publish that governance on the internet and we'll be hoping there'll be a lot of people with an eye for open source governance coming and telling us what's wrong with it and giving us a substantial quantity of pull requests to fix it up and make it into good independent governance. The rough timetable of that is to publish in September for the board to consider the feedback in late October for us to have a board vote establishing those new bylaws as our new governance in November and then to have community board elections to replace these current hand selected board members with community selected board members. Probably the model that we'll be using will be to have 50-50 board elections 50% coming from commercial members of the foundation who are providing us with our funding and 50% coming from the contributors and committers to MariaDB so that the board is not under the control either of the commit team nor of the commercial contributors but remains a balance between the two. The reason we're doing that is because the foundation employs a small development team. Our goal is not to develop all of MariaDB that's the job of the community of committers but we do feel there's a need to have a central team who are doing build, sustain and package so making sure that the build system works and that there is a working repository making sure that we are sustaining so reintegrating the changes that are coming upstream from MySQL. Next slide. Producing packages and we're very keen indeed to engage with Debian. You may remember that I've engaged with Debian before on trying to get OpenJDK into Debian and so I know what's involved in getting a package and we're very keen indeed to become the slaves of your MySQL package maintainers so that you become fans of MariaDB as a database package in Debian and we're also extremely keen to have Sergey become the slave of your security team so that you don't have any security issues and so that you're able to have a transparent and accessible security experience rather than a fater company security experience which I suspect is what you have at the moment. The foundation is funded by the membership fees of commercial sponsors we have four or five at the moment and a growing number of commercial sponsors so that's why they will appear in the governance is because you can't take money from people and tell them that they don't get a say however we don't intend to give them control we intend to make sure that they have a say but ultimately the project is going to be under the control of the committers and we're going to ensure that by making sure that the committers are actually the only people who have a say over what goes into the code so this foundation is not going to be able to set the technical direction of MariaDB it is purely going to be providing the environment in which the technical activity takes place our goal is to make sure that MariaDB becomes the dominant provider of the API that MySQL currently provides however we understand it's very important to stay compatible so we're going to try and make sure that as far as it's possible to do so as Monty's been saying through here that MariaDB is compatible with MySQL it's not the world's most exciting subject governance and that's why Monty got me to do it because it bores him and I'd be very pleased to discuss this with anyone that is interested in digging into exactly what we're doing I'm going to stay until the end of lunch and I would be very pleased to discuss that and that was only four minutes Monty actually five with who's counting so finders sponsors and developers are welcome so we have two two other developers including me paid by the foundation and one documentation writer so this is the conclusions and I have 30 seconds so I assume you can read that and then we have 20 seconds for questions so when Weezy was released we had the topic of the release goals and I asked in Debian Devil what was the future of MySQL and MariaDB in Debian the maintainers said that they were planning on having both for Jesse and do you know more about it what's their intention what's going to happen in Debian do you know now or not so we are talking here with Debian about how to continue I'm not 100% sure that I got your question but if I understand correctly you will ask how I see how Debian should go forward with using MySQL and MariaDB more or less or did I misunderstand something that's not something I can decide on I can only influence you and the other distributions all of them has said that we use MariaDB by default and if you want you can install MySQL some of those doesn't even allow you to install MySQL which I think is stupid because I always like to make the users happy so how I would like to see it personally would basically have MySQL and MariaDB packet and then one packet that people can choose which one they should use like you had in the past for Java because that would give them maximum flexibility when it comes to what's the logical thing to do I think that you should be compatible with other distributions and not make it hard for people to switch from open source to Debian or something like that so in that case working with MariaDB would be the best what we can promise you is that we have people on our side that we will put up that will answer and solve any issue that comes up in Debian To summarize that that's exactly the question we came here to ask you and we're very willing to put so we've got some staff in the foundation I'm very willing to direct those staff to be the slave of your package maintainers and to be the slave of your security team to make sure that MariaDB shows up in Debian either as the only MySQL API provider or as one of two MySQL API providers and exactly how to do that I know that the people who should decide are not us but your MySQL package maintainers if you would like a MariaDB package maintainer that's not the way Debian works you don't appoint one one doesn't show up and say here I'm here to help we're here to be slaves so I'll tell your package maintainers who they are I know who the package maintainers are security team want to help you but your question is the question we want to ask you rather than the question we want you to ask us On my watch we are now already four minutes over time so I guess I have to use the hallway track to answer more questions and yeah, thank you for the talk


The next example is also somewhat involved. It consists of a, we have an apparatus here which is nothing but a piston cylinder apparatus, but with a membrane or a diaphragm or a partition in between. So, this partition is rigid. So, it does not flex. It is rigid, very thin and it does not store any thermal energy. So, there is no energy change. The energy change in the diaphragm may be neglected. So, it is rigid which means that the volume of the compartment containing nitrogen remains constant throughout. So, the air is initially at 500 kPa, 473 Kelvin and the nitrogen is at a higher pressure volume, initial volumes are given. So, we now compress the air slowly until the final pressure of nitrogen is 1100 kPa. We are asked to calculate the work and heat interaction for the air, its final temperature. So, for nitrogen the molecular weight is 28 and gamma again is 7 films. So, we can calculate Cv for nitrogen and R for nitrogen. So, based on the given information the mass of air may be evaluated from the equation of state to be 0.055 kilogram and the mass of nitrogen to be 0.107 kilogram. And as I already mentioned nitrogen undergoes a constant volume process. So, we can evaluate the final pressure, I am sorry the final temperature since we already know the final pressure. The final pressure is given, volume is known. So, we can easily evaluate the final temperature to be 519 Kelvin. So, if I take system to be air plus nitrogen plus partition, we can evaluate first law like this. Remember the partition does not store any energy, there is no change in energy of the partition. So, delta E is equal to delta U of air plus delta U of nitrogen. So, this is equal to delta U of air plus delta U of nitrogen. Of course, the fact that we are neglecting the energy stored in the partition is not a major disadvantage or a limitation because if properties of the partition are known then we can easily include that in this expression as delta U partition. So, it is not a limitation of the analysis, we are simply saying that for this particular problem the partition is quite thin. So, the energy stored in the partition may be neglected, but that is not a limitation of the analysis itself. So, no heat is supplied, the entire cylinder is insulated. So, we take Q to be 0. So, if you rewrite delta U as MCV delta T, we get this expression. Now, if you substitute the numerical values, we get the work interaction for the for this system to be minus 5479, that is negative. So, an external agent is pushing the piston down compressing the air. Now, work interaction for air itself is just minus 5479.61, all of it is actually work interaction for air because the nitrogen is undergoing a constant volume process. So, the work interaction is 0. Now, if you apply first law to a system that contains the air alone. So, notice that initially we took the system to be air plus nitrogen and we calculated the work interaction for the air. Now, we are going to take the air alone as the system and apply first law. Notice that if you take air alone as a system that is displacement work for the air and there is also heat interaction between these two. No work interaction because this part of the system boundary for air does not deform. No work interaction, but there is a heat interaction between the air and the nitrogen as the air is compressed, it gets heated up and there is heat transfer of heat across the partition. So, the partition is not given to be insulated, only the piston on the cylinder are given to be insulated. So, we apply first law to a system that contains the air alone delta E is equal to delta U and Q is not 0, W is also not 0. So, W is W. So, in fact, strictly speaking, we should have written this as Q minus W air. So, W air has already been calculated. So, the heat interaction for air may be evaluated like this. So, that is minus 365 3.712. So, this is the amount of heat that is transferred to the nitrogen across the partition. Because we could also have obtained this by considering the nitrogen alone as a system. We could have for instance done this. So, for this system work interaction is 0 because no part of the system boundary deforms and there is a heat interaction from the air to the nitrogen across the partition. So, if you apply first law to nitrogen, we would have obtained delta E equal to delta U equal to Q minus W. W is also 0 in this case because volume remains constant. So, we know the initial delta U for the nitrogen is this. So, we can evaluate Q for nitrogen as 365 3.71. So, this is Q for nitrogen is 365 3.71. So, Q for air is then the negative of this, which would be minus 365 3.71 same as what we obtained before. We move on to the next example which looks like this air is contained in an insulated rigid tank of volume 1000 liters. So, we have an insulated rigid tank like this. So, we have the volume is given to be 1000 liters, this is nothing but 1 meter cube and it is also insulated. So, it looks like this valve on the top of the tank. So, we have a valve here on top of the tank. So, that is open and the air is allowed to escape slowly into the atmosphere until the pressure reaches 100 kilopascal at this point the valve is closed. You are asked to calculate the final temperature of the air in the tank and the amount of air that escapes. And you can see here that this process is an unsteady process and what we are going to do is use a system approach to you know to do the calculation. You may recall that we looked at this particular situation during our discussion of system definition. So, we have already defined the system for this and we will use that system to carry out the analysis in this case. So, system appropriate for this was shown before you may recall that system simply. So, this is the system at the beginning of the process and so this is the system at the end of the process. So, this is at the beginning and this is at the end. So, if I apply first law to this system at an intermediate instance, so we apply the differential form of the first law, we get d e equal to d u delta q is 0, there is no heat interaction between the system and the surrounding. But the system boundary deforms, so there is displacement work between p d v.  So, if you go through the algebra, you can finally show that the process undergone by the air fully resisted adiabatic process undergone by the air is described by this equation T v raise to gamma minus 1 equal to constant. So, final temperature of the air may now be evaluated because the final pressure, the initial pressure both known. So, we get this to be 155 Kelvin. So, the mass of the air that is initially in the tank may be evaluated from the equation of state like this. The mass finally in the tank may be evaluated like this. This is remember, this is same as mass of the system that we consider. So, this was the initial system, now at the end of the process, it occupies the entire vessel. So, mass of air contained in the system may be evaluated like this, so that is 2.235. So, the mass that escapes comes out to be 9.312 kilograms. So, by identifying the system properly at the beginning, we can do the analysis quite easily and it is very straightforward. But the complexity lies in identifying the system. So, we have to look at the process as a whole and then identify an appropriate system. So, you need the critical aspect here is that at the end of the process, the air after the air that has left, if you leave out the air that has left, at the end of the process the remaining air occupies the entire vessel. So, we take that as our system and then say that initially the system looks something like this. In this lecture, we will first look at one example or the final example illustrating application of first law to ideal gases. Then we will move on to examples involving two phase mixtures. So, this is the last example. So, here as you can see, we have an insulated piston cylinder arrangement. There is also a spring which is just above the piston. So, we connect the cylinder to a line in which nitrogen flows at 800 kilopascals, 27 degree Celsius through a valve. The stiffness of the spring is given cross-sectional area of the frictionalless piston is also given. So, now the valve is opened and the nitrogen from the line is allowed to flow inside the cylinder until the pressure inside the cylinder becomes the same as the line pressure at which point the valve is closed. We are asked to determine the final temperature of the nitrogen inside the cylinder and the amount of nitrogen that enters the cylinder. And we will, this is also an unsteady problem and we will solve this problem by defining an appropriate system. So, later on when we discuss control volumes, we will see that these problems can also be analyzed by using the unsteady approach in a control volume. But for now we will use a system to solve this problem. A system that is appropriate for solving this problem looks like this. So, this is the amount of nitrogen that actually enters from the line. So, let us denote this mass as m line. So, initially, so this is shown at some instant. So, initially it contains a certain amount of nitrogen, but the spring does not exert any force on the piston at this stage. So, this is the initial amount of nitrogen in the cylinder. This is the amount of nitrogen that will eventually enter the cylinder. So, we have denoted this as m line and this mass is denoted as m1. The mass in this part of the system we choose to neglect. We think we assume that it is very small. So, we do not worry about the mass that is in the line. I am sorry that is in the pipe that connects the line to the cylinder. So, we have the system in the final position and it looks like this. Notice that it contains the same amount of mass. So, m2, which is in the final position is equal to m1 plus m line and we are asked to calculate m line and the final temperature of the nitrogen in the cylinder. And the cylinder is open to atmosphere at the top. So, this is p atmosphere. Notice that other definitions of the system, other definitions of proper systems are also possible. For instance, we could also define a system which includes the piston in which case the change in energy of the piston will be accounted for in the form of total energy. Whereas in this case, we will account for it in the form of displacement work. So, other definitions are also possible. We can use this one and proceed with the analysis. So, we take molecular weight of nitrogen to be 28. So, we can calculate specific gas constant and the CV. So, the amount of nitrogen that is initially in the cylinder is given as point, I am sorry maybe evaluated as 0.2245 using the information that is given in the problem. Now, if I look at the cylinder at any instant, let us say that we, so at any instant, so if I imagine any intermediate instant the piston is located here. So, the spring is exerting a force on this. So, if I apply a force balance to the piston, we have pressure force from the nitrogen which is being exerted in the upward direction. We have atmospheric pressure which is being exerted in the downward direction and we have spring force which is in the downward direction plus the weight of the piston which also acts in the downward direction. So, if I do a force balance, then we have pressure inside the cylinder at any instant is a sum of the atmospheric pressure plus the pressure due to the weight of the piston which is MP times G divided by cross sectional area of the piston plus the pressure due to the force exerted by the spring. So, the force exerted by the spring is Kx. So, if I divide that by the cross sectional area, I get this value. If I rewrite x in terms of the volume of nitrogen in the cylinder, I can actually write it like this. Notice that this is volume of N2 in the cylinder. So, we are told that when the pressure inside the cylinder reaches the line pressure which is 800 kilopascal, the valve is closed and the process is stopped. So, we can actually substitute for that in this expression and determine the final volume of nitrogen to be 0.2 meter cube. So, basically we substitute the final pressure in this expression and obtain the final volume of nitrogen to be 0.2 meter cube. So, we have already defined all this and at the final state, notice that the mass in the final state we already said is equal to M1 plus M line because that is a system. So, we may apply equation of state to this state and write P2E2 equal to MRT. This is how it looks. If we apply first law to the system, then we have delta E equal to delta U. Notice that our system does not enclose the piston, otherwise the delta E term would have become delta U plus potential energy change of piston. Since we have chosen not to include the piston, the total energy of the system is just internal energy. There is no change in potential energy. There is no change in kinetic energy. So, we may write delta E equal to delta U equal to Q minus W. Since the piston and cylinder are insulated, we take Q to be equal to 0 and delta U maybe split into two pieces delta U for this part of the system plus delta U for this part of the system which is inside the cylinder. So, delta U for this part would be M line times Cv times final minus initial plus this. So, if you look at this, so this is what we have written M1 Cv times T2 minus T1. So, this is the mass that is initially in the cylinder and the change in internal energy of this mass may be written as this. This is the mass that is initially in the line and the change in internal energy of this mass may be written as M line Cv times T2 minus T line and that is equal to the displacement work, no other form of work is present. So, this is just the displacement work that is integral PDV. So, if we evaluate, notice that the displacement work as again may be written as a sum of two terms. One is a displacement work in this part of the system boundary. Remember, this part of the system boundary deforms and finally becomes 0 but that is at constant pressure equal to P line and this part of the system boundary also deforms as the cylinder moves up. So, the displacement work term has two contributions, one is from the line, another one is from the cylinder. So, this is the contribution from the cylinder, this is the contribution from the line. So, final volume of that part of the system which is in the line is equal to 0. So, we can then write it like this and since we know the pressure at any instant in terms of volume, we may actually go through and complete this integration and this is what we finally get, this is W. So, if we substitute this expression for the displacement work back into this, we get the following expression finally. If you do this rearrange the little bit of algebra, so we get this. Now, we have also used equation one from above which is this one here. So, we have used that also and finally, we get an equation that looks like this. So, all the known quantities are on the right hand side. So, if you plug in the values, known values, you get m line to be 1.283 kilogram and from equation one above, we get the final temperature to be 357 Kelvin. So, the important things to remember in this particular problem is the definition of the system. So, we have already seen examples like this when we talked about system and how to define a proper system. So, notice that the definition of the system in this case is crucial. It makes the analysis somewhat simpler because things are very easy to identify delta u for the system. You can easily see is composed of delta u for this part of the system plus delta u for this part of the system. Similarly, displacement work again is composed of two parts, one from here, one from there. This is at constant pressure. So, it is easy to evaluate. This also we were able to evaluate in close form because we were able to write the pressure at any instant in terms of the volume. So, this concludes our examples on application of first law to systems that involve ideal gases. So, we next have or we will next go through a few examples which again require you to do a first law analysis of given problems using systems. But now the working substance is a two phase mixture either water and water vapor or refrigerant and refrigerant liquid refrigerant and refrigerant vapor.


What's going on everyone? Sam here with Layton Sports Cards and I am ripping three box or four boxes of 2022 Bowman Baseball Sapphire Edition for Sean D. So good luck Sean. See what we got in here for you man. Again I will not be sleeving all the firsts on camera. I will make a note that our sorters and shippers will sleeve them on camera just more for a time sensitive thing so we can get through the break in a timely fashion. But the big firsts I will sleeve, your Watson's Wood, De La Cruz, Trace Weenies, Cleal Watson first as I say it. Nice way to start the break right there. Very solid. Cleal Watson, got Panango, Warming Bernabell, Jack Sawinski, got Joswer Garcia first, Marcello Meyer, Cooper Kinney, Ricardo Ginoves, got an Orange. Yannison Classe, Orange, Henry Mendez for the brew crew. Nice hit there that is 22 out of 50. Very solid. And Henry Davis, second year on the back, got Jose Pastrano, Nick Gonzalez, got Otto Benjamin Bailey first for the White Sox, nice Otto there. Grats on that one, Sean. And Willemond Diaz, got Alexander Ramirez, Junior St. Quinten, Marte and Andre Lara, Nico Cavadas, PCA, Ronio Quintero, Robert Passell. See one more color, color cards come out of this would be nice. Jeter Downes, Yurbel Angelis, Anthony Rodriguez, Harry Ford, and we've got Diego Cartaya, Yurbel Hernandez, Alvin Guzman first, Victor Lizarraga first. That will do it for box one, now we're into box two. May have to get some more in sleeves before this break is over. Just gonna let you know. These are 410 a box Dallas, 410. Austin Martin, Brandon Jabara, got nice, Michele Triana, that is first for the Reds, Orange, that is to 50, 44 or 50. Nice Triana, and Benny Montgomery, base on the back. Got Torkelson, Luis Verdugo, Adrian Sugasty, and Roberto Campos. There you go, very nice first right there, that's James Wood. Just cracked the top 100 list for prospects. Got Alan Cerda, Denzer Guzman, and Dario Lopez. Zach Veen, Doria Lorenzen, Luis Rodriguez there in Baker, Zayad Salinas, Jay Rod, Pacheco, Adley Rochman, nice later year prospects there. Esteban Machado, Edgar Cuero, and Eduardo Lopez on the first. Jeremy Vargas, Curtis Mead first, there you go, Tyler Soderstrom, Trey Sweeney, sleeve those two. And before the next box, I'm just gonna grab some more thin sleeves. Ooh, we got a purple and a green. We've got Reginald Presciato, we've got purple of Huberto Hernandez, that is 25 of 25. Nice one there. And then we've got green auto to 50 is gonna be Uribella Angeles for the Padres, nice one there. Gratz on that one, Sean, and Shailin Puanco. Yeah, I saw they killed the Mets, Dallas, I was pretty happy about that. I do not like the New York Mets. Box three, good luck here. Here we go, Zayad Salinas. Got first auto is Ricardo Genoves for the Giants, nice auto there. On card, of course, and Eduardo Lopez. South Frelik, got Orange Pedro Pineda for the A's, that's 49 of 50. Nice one there, got another Trey Sweeney first for the Yanks. And we've got Edgar Cuero, Curtis Mead, very nice. Tyler Soderstrom, Esteban Machado, and Shailin Puanco. And we'll just leave the Mead. Jorbit Vivas, Presciato, Jeremy Vargas, Jose Rodriguez, where'd everybody go? Chat was popping, like 10 minutes ago, everybody's gone now. Francisco Alvarez, Irovera, Valenzuela, Blaise Jordan, as Luis Gonzalez, Miguel Triana on the back, Rosmar Quintana, what's up Dallas and Gary, perfect. Minier, getting lonely for a second there. Smart Taylor, Joshua Baez, Waller and Bobby Witt, that'll do it for box three and box four. Good luck here, Sean. Refresh orders really quick, see what we're looking at. Lurkin, Blaise and Bob. All good, all good, no worries. Completely just missed the trash can, that's right next to me. All right, big auto here, come on baby, something huge. Yoliquis Cespidis, Cartaya, Hibbert Hernandez, Harry Ford. Hope so Dallas, that'd be awesome man, really want a banger to come out of this. Malcolm Nunez, Alandro Pia, CJ Abrams, Victor Eliza Raga, Robert Dominguez, Couser, Amaya, Carlos Aguilar, Benjamin Bailey, Garrett Mitchell, autograph is nice, pretty nice. Christian Gonzalez, that's solid right there for the Astros, on the first autograph, there you go. And Sidney and Rafaela, I know why I couldn't say that. Acosta, Vargas, Luka Tres, Fani Mauricio. Mackay Baxter, I'm first, Jay Allen on the back. Purple in this one, Elijah Tatis, Simon Muziotti, got first of Diego Rincones, that is to 25 on the purple. Some nice color in this break for you, Sean. It's eight of 25, Justice Thompson first, and last pack of the break, good luck here Sean. Dustin Harris first, Robbie Martin, Silas and Jose Ramos. That's going to do it for your break there, Sean, congrats on all the hits, we'll get those right out to you. Thanks again, man.


Believe it or not, generations, the legacy actress Zoey Mthayana used to go through life as an unwanted ugly girl who prayed that God would make her shorter. The model-turned-soap star has been on many fans' crush list for years but told Drum that her height often made her stand out in school. Awkward and uncertain she would read the tale of the ugly duckling and hope that one day she would become a swan. I used to pray that I would wake up a short person. My mom, made me walk in heels so I could appreciate myself. She also entered me in beauty pageants, she said. Even though she still wasn't completely at peace with herself, she went on to dominate at academics and sports. Zoey also opened up about her childhood to Zazawa last year, including the challenges and blessings of being raised in a polygamous family. Zoey revealed during the interview that her father had five wives. Each wife had her own home with her kids and dad would visit. I wouldn't be able to be in a relationship, like that, because I grew up in it and I know AMA challenges. My father would not encourage that for his children. I won't be able to because I'm a jealous person.