I can't see him to know when we're on. Okay, sorry for the delay. We had a cabling problem. So welcome to Load Balancing as a Service, Metaca and Beyond. This is kind of an ongoing series we have talking about what we've done in load balancing in the previous cycle and what we're gonna be doing going forward into Newton. I'll introduce myself. I'm Michael Johnson. I'm with Hewitt-Packard Enterprise. I'm the current PTL for the Octavia project. I'm Stephen Blukoff. I'm with Blue Box, comma, and IBM company. And I am one of the cores for the Octavia project. I'm Doug Fish with IBM. I am a core on the Horizon project. Great. So quick agenda, we're just gonna talk about who's involved in the recent OpenStack user survey. Then Doug's gonna give us an overview of the Horizon dashboard work that we've done for Elbas V2. And Stephen, we'll talk about the Layer 7 rules and pool sharing that we've added. Then I'll come back and talk a little bit about what's new in Octavia and the roadmap there. And we'll open it up for questions and talk about the other summit sessions. So who's involved? We are really lucky on our project. We have a lot of companies that are involved and participate actively in Load Balancing as a Service and Octavia. So this is just the group of people I had from previous slides and know have been active and contributing, but there are many more. And we wanna thank these companies for supporting the project. I also wanna thank all of you that filled out the user survey. This is the slide that talks about the most actively used, interested in, or plan to use features in Neutron. And as you can see at the top of the list is software-based load balancing. So thank you for contributing to that survey. That helps us justify our activities on this project with our employers and continue to do good work. So with that, I'll pass it off to Doug. Thanks, Michael. Good afternoon, everyone. So my team and I implemented the Neutron LBAS dashboard for the Metaca release. It's a plugin into Horizon. And the focus of our effort was to go ahead and create a, to let you create a new load balancer, including the associated objects to actually do load balancing. So that would include associating a listener, creating a default pool, putting in a health monitor to make sure that the pool members are still working, and then populating the pool with members. In addition to that initial creation, you can do some basic update and delete type operations. So you can go ahead and add or remove additional listeners. You can add and remove members from the default pool. You can remove or recreate the default pool and you could make updates to the health monitoring strategy. There are a few things you might want to do with the UI that you can't yet. You can't yet do L7 load balancing. And the UI is really not suitable for monitoring the state of your pool members to make sure that they're responding to health checks appropriately. So with that, I'd like to go ahead and begin the demo. I've prepared this system by launching three instances to represent the workload that I want to balance. And I also created a floating IP because I'm eventually going to pretend to put my load balancer on a public network. So you can see here I'm logging in as a demo user. This is not something you have to be an administrator to do. And here I have my three instances. I'm going to load balance, you can see at the bottom. I'm going to navigate to the project network load balancer menu item that's available. I don't have any load balancers yet, so I'm going to go ahead and create one by clicking the create load balancer icon. Here you can see that I've got some basic details I need to provide. I'm just going to provide a subnet and place my load balancer on the private subnet. If I wanted to, I could specify a specific IP address for it or change the name and go ahead and click next. I'm going to choose the protocol for my listener. This is a simple HTTP application that's being load balanced. So I'll select that protocol. The port will be defaulted appropriately. I'll continue. Here I can specify the algorithm that's going to be used for the load balancing. For my application, round robin is suitable. I'll select that here and continue. And so here you can see I've got the three instances available from Nova. I'm going to go ahead and add the three of them to my pool. As you can see that the port is defaulted, the weight is defaulted. You might notice that the instances are still available for selection at the bottom of the screen. If I wanted to, I could go ahead and I could add the same instance multiple times with different ports. If that was the strategy I was using for managing this, but I'm not. Also you can see that I can add an external IP address for balancing. This could be some server that's not necessarily, doesn't necessarily belong to Nova. I could add that by specifying the IP address. It's subnet and a port would be easy, but I'm not going to do that as part of this demo. It's really not, it's not my scenario here. So you can see I'm back to my three instances that I want to load balance. I'll go ahead and click next. I'll specify the characteristics of my health monitor. I'm just going to select the monitor type of HTTP and maybe adjust the health check interval slightly. And that's it. I'm going to go ahead and create my load balancer at this point. So at this point you can see some details of the load balancer that's been created. It would be reasonable at this point to maybe go ahead and do some testing and make sure that my load balancer is working. Make sure all of my instances are participating in the load balancing. I am a developer. I'm not going to do that kind of thing. I'm just going to go ahead and assign an IP address to my load balancer so it's available on my public subnet. So here I'm going to go ahead and choose the associate floating IP action. I can specify either a specific address or just choose one from the pool. I'm going to pick a particular address in this case. And with that my application would be, have a load balancer in front of it and a associated floating IP address. I'm going to go through here and click the load balancers object and you can see what I've created here. It's online and active. We can click and see some of the details. It has a floating IP address assigned. We can link to some of the other panels and find out information about the subnet or the port that it's been created on. I can step in and take a look at the listeners that are specified in my pool. Here's the one that I created by default. And I can go out and find more detail about the listener. I can see that it has the protocol that's being used. Dig into the default port, find the balancing algorithm to review it. Finally I can take a look at the members from here and see that my members are being load balanced. So if you'd like to try this out yourself we have a plugin into DevStack. So in your local.conf file just go ahead and add either of the lines that I've specified here. It's worth noting that the level of the plugin needs to match the level of Horizon. Don't try to use the master level of Neutron Elbast dashboard with a stable Metaka Horizon. I don't think you'll get good results in the long term. With that I'll turn it over to Steven to talk about L7. Thanks Doug. I'm gonna try this thing. Okay so one of the new features that was released with the Metaka release of OpenStack and Neutron Load Balances of Service in Octavia is L7 content switching. And this particular diagram just shows sort of how things fit together and I know that it's rather complicated so we're gonna get into it a little bit more here. But along with the L7 content switching there's a new API that's associated with it. And so in the way that that works let's see, let's go ahead. So why would you wanna actually use L7 content switching? By the way when I say L7 it's layer seven so when you think of the OSI model and everything about it layer seven is typically the application layer. So what that allows you to do without layer seven by default all the requests get routed to the listener's default pool. But sometimes as your client or the tenant's application grows that's not always the great behavior. For example, you might have certain backend servers that are optimized for serving dynamic requests like application server type stuff and other ones that are optimized for serving static requests, that static information. And so in those particular cases as your application grows you don't necessarily wanna have to deploy multiple load balancers and update all URLs especially if you have a bunch of people linking from external sources and whatnot. You have basically a URL structure on your site that you don't really wanna change but it's not gonna scale well without doing some routing based on information that gets embedded within the actual client request. So and that's exactly what this new L7 functionality does. It allows the load balancer to look within the HTTP request and pick out certain things in it and make a routing decision based on what it finds in the HTTP request. This works for the HTTP and terminated protocols only right now because that's mostly what people are using load balancers for. We shot for solving the 90% use case with most of this stuff. And right now, again, we don't have a horizon UI for this stuff but we're hoping to be able to get that landed in Newton. So the layer seven content stuff, so you have a problem there. We need to define how do you instruct the load balancer how to do those routing decisions? Well, we have layer seven rules and layer seven policies. Layer seven rules is just a single statement of logic that gets matched against client requests and L7 rules evaluate to true or false. So examples of those might be, well, the request URL starts with slash API or the request has a cookie in it that it called client group and it is equal to the string group one or the request header, you know, xmy header that your application is instructed the client to send matches some regular expression that you've decided. All of that stuff is again dependent on the application and we tried to make it flexible and hit the again, the 90% use case for what we see most people doing in other environments where they actually use layer seven content switching. And so anyway, there's quite a few different permutations that you can do on different rules and those are documented. Right now it's documented on the wiki that you'll see them in the next few weeks that that documentation will end up within the Octavia and Neutron albast projects. So layer seven rules. Now there's also layer seven policies and a layer seven policy is just a collection of layer seven rules. L7 policies get assigned to a listener so that's sort of their parent object and all layer seven rules on a given policy are logically added together. So what does that mean? If you for example have a layer seven rule that says I want the host name that's requested to match www.example.com and that's one rule and you have another rule that says the URI must start with slash API well both of those rules must evaluate to true in order for that layer seven policy to get executed. And what I mean by executed is the layer seven policy defines an action that will be taken if all of its rules evaluate to true. So most commonly that's gonna be a redirect to pool back in so instead of going to the default pool for the load balancer for the listener you're gonna go to some other pool that you define. And again you could do that in the simple case of like slash API goes to a pool of API servers whereas everything else goes to static content servers. If you need a logical or to define your particular policy the way we decided to do that was you just create multiple policies that have the same action. So for example if I have a situation where I want www.example.com and www.2.example.com to get routed to a specific backend pool you can do that by defining two different policies with rules for each one of those which will then go to the same backend pool or you could just create a regular expression that matches both www.1 and 2 which is a little bit more efficient for the backend software to do. It doesn't really matter, there's multiple ways to skin this cat. Okay, so let's go ahead and do a demo. Sorry, I was right, I need to talk about pool sharing. So pool sharing is relatively simple to understand. Here is a model of a hierarchy of a load balancer with a couple of listeners on it where pool sharing is not used. And here is one where pool sharing is used. What that means is two listeners are able to use the same backend pool. This is really handy for example if you have a SSL terminated HTTP listener on port 443 and a regular HTTP listener on port 80 and you want them to go to the same backend application pool. The reason why we concentrated on adding this feature in Mataka is because this is also really handy for layer seven policies that need to have the same action because then you can point them all at the same pool object which makes it really handy if you need to add or remove members from that pool. It makes it much easier for the tenants to do that. Okay, so now on to the demo. So in this demo I'm going to create an HTTP listener, listener one with a default pool, pool one that contains server, server one as it's only member. I'm gonna add an L7 policy and rule which sends all requests which start with slash API to pool two which contains server two. And then also to demonstrate the shared pulse function that I'm gonna create listener two which just uses pool two as its default pool. So the setup I've done here, again this is just using Mataka DevStack, what's in there right now, using Neutron Elbas with the Octavia driver. And before these slides I launched two application servers on the private subnet with simple web servers they just respond with you're on server one or you're on server two. So you can tell which pool you're reaching. And the security groups in this particular demo have set to be pretty open and liberal. Obviously in production you would do it slightly differently. Okay, so here's the demo setup again. I've got two web servers, server one is on 10.005 at port 80,000 and server two is 10.006 on port 80,000. And you can see there they're server one and server two. And the first step of course is I need to create the load balancer. So here's the Neutron Elbas command to do that. And it stays in pending create for a few moments while it goes ahead and launches it back in Octavia M4. The you'll notice that the IP address for the load balancer was set to 10.007. That's gonna become important as I show you how things work later on. And then from there we're gonna go ahead and create a listener on top of that. And let's see we just put it on top of port 80 on top of load balancer LB1. Then here you can see I've gone ahead and curled the URL for the listener. And you get a service five or three unavailable because it has no backend pool and therefore no backend members. So there are no servers in the backend. This is an expected response when you have a load balancer listener that does not have a backend pool. The next thing is we're gonna go ahead and create pool one and make it listener one's default pool. And you can see here I went ahead and did that. You go ahead and curl it again but there's no backend servers yet. So it's still you're gonna get an error message that says there's no service available yet. I'm gonna go ahead and add that member one and lo and behold, look, we're now talking to server one. Okay, so we got a standard load balancer setup. Let's go ahead and do the next one. We're gonna go ahead and create pool two on load balancer one but we're not gonna associate it with any listener. And that's a new change here with Mataka. You can go ahead and do that. So we create this pool it only exists as a logical object in the database until you actually associate it with some listener. And you can see here on that on pool two I'm gonna go ahead and create member two. And the curl is kind of cheating here. I'm actually just hitting member two. There is no way to actually access it right now through the load balancer because it's not associated with any listener. There's no way to get to pool two yet. And so let's go ahead and create an L7 policy called policy one and we're gonna create it on listener one. And you can see here the action is to redirect to a pool and until the redirect pool I wanna go to is pool two. And we're gonna associate it with listener one and we're naming it policy one. Then we're gonna go ahead and add a rule onto that policy and the rule is gonna be of a type path. We're looking at the actual path of the URI. The compare type is starts with and the value of that compare is gonna be that we're gonna compare against is slash API. So the rule is we wanna evaluate any incoming requests, its path make sure that it starts with slash API and if so, then this rule evaluates to true. Okay, so let's go ahead and oh yeah and then for our shared pools demo we're gonna create a second listener and we're gonna set pool tools as default pool. Pretty easy to do and you can see here I've gone ahead and curled it. So there we go. We've set up a listener one with a L7 policy and a rule which should send anything any URI that starts with slash API to the second pool and anything else should go to the first pool. So let's see if it works. Look, it works. So I'll just run through the curl commands here real quick. The first one just hits the default URI, you're on server one therefore pool one. I go ahead and hit the second listener and you're on server two so pool two the second listener is going to pool two. Then we go ahead and hit the first listener again on slash API and look that's going to pool two as well. And again it evaluates API with other stuff in the path. Well it started with API so the rule is true. It went ahead to pool two but the other one without that slash API it doesn't match the rule. We're going back to pool one. And then let's see, yeah. So that's essentially how it works, pretty simple there. I know that L7 sounds pretty daunting but when you get right down to it these are, this hits about 95% of the use cases we typically see in production. And there you go. I'm going to go ahead and hand it back to Michael now. Continue. Thank you. So what you've seen are new features that are available in Neutron Elbas and that also means that they're available in Octavia the reference driver for Neutron Elbas. So now I'm going to shift gears a little bit and talk a little bit about where we are in Octavia. So just a quick review, Octavia is a load balancing driver that plugs into Neutron Elbas version two API. Just like other hardware drivers that are present in Neutron Elbas, Octavia is just a software implementation that uses service VMs. So we have four main processes, our API which the Neutron Elbas driver plug-in talks to to interact with Octavia. We have our worker which does the provisioning and kind of the workflow of managing the M4O. We use the term M4O instead of service VM because we expect there will be a container implementation of an M4O or even a bare metal implementation. All of these components you see at the bottom in blue are driver based. So we can plug in alternate technologies into Octavia. So for example with containers we can swap out that driver and not use service VMs but use a container implementation. Same thing on networking. Health manager, that component is tasked with collecting status and statistics and also monitoring and managing the health of those M4O. So should an M4O fail for some reason it will spawn another one or as we're about to see we have added active standby and I'll talk about that in a minute. And then housekeeping. This is a periodic job process. It does things like clean up the database. If you have the spares pool enabled which means you have M4O pre-booted just waiting to be configured. It'll maintain that spares pool and another new feature that we have is it will manage and rotate the security certificates we use to manage the M4O. So I'll talk about that shortly. So what's new in Octavia? One of the biggest features is we have active standby now. I demoed this in Tokyo but it is now fully merged and fully functional. So this allows us to spin up two M4O for each load balancer, a primary and a secondary. And should the primary fail it will move that IP and transition to the secondary in seconds. It's configurable. It uses a VRP implementation. Again, I demoed that in Tokyo. You can go look at the YouTube video if you wanna see that in action. Since Tokyo we've added anti-affinity. So we're leveraging Nova's filter capabilities so that we make sure that those two M4O are not on the same post. Which kind of defeats the purpose of having your active and standby. So if you have that available in your environment and you have enough compute environments you can turn on the anti-affinity capability and that will guarantee that those M4 instances are on different hosts or however Nova defines affinity. We've also added the capability to do failover for those active and standby M4O. So let's say your primary fails completely out. You've migrated all your traffic to your secondary and we maintain session persistence between those. So your customer will see a very short interruption. But now you've got that dead M4O sitting there. Well we also leverage that housekeeping component to rebuild that, failover that M4O and bring back in a replacement. So you go back into an active standby situation. So that's really nice for resiliency. And the last bullet, when we do that we don't preempt the new master. So we don't wanna interrupt the customer flows, give them a short blip in their traffic. So the other node that became the master will remain the master until it fails and then it would switch back to that new backup. So pretty good stuff with active standby for availability. As I mentioned, the housekeeping component, when we interact with our M4O we have an agent that sits inside those service VMs and we use a REST API to control them. That is all encrypted using TLS. What we put in is a component that lets you set an expiration period. And so when those certificates that we issue to each M4O and each M4O gets a unique certificate for it, when it's coming up to its expiration, we'll go ahead and automatically reissue and update that certificate on that M4O for you. So you can meet your compliance for having expiring certificates on all your components. Layer seven rules, Steven just kind of went through that. Great stuff. I put in the different policy types. So reject, redirect to pool, redirect to URL and then the different rule types that we can do there. That was another great addition. So that's also, it's in Neutron albass but it's also implemented in the Octavia driver now. We had aspirations to do single call actions. So being able to create a whole load balancer top to bottom, the load balancer, the listener, the pool, the members, everything in one API call. And along those lines we wanted to have cascading delete. So you could say I wanna delete this load balancer, cascade and delete all of those resources that are associated with it. This was something that the UI folks were really looking for. We got really far along on that but we ended up running right up against the Mataka deadline. And so those are still work in progress. The code is up there for review and should merge in Newton one. Another pretty cool feature. So the M4 image is a service VM and so we store that image in glance today. And if you needed to do an update to that image, patch or a new version, you can modify that in the config file and then you'd need to restart your controllers and from then on the M4 would pick that up. If you needed to update in use M4, you could do a failover procedure and then you would have updated load balancer images. Well, we had a contribution in Mataka that allows us to use Glance tags. So instead of having to restart the controller and go and edit your config file, you can now load a new image in Glance and move the tag that says M4 or whatever you put in your config file in Glance from your old image to your new image and from that point on, Octavia will automatically start using your new image when it boots M4. So a much simpler maintenance process available for you. We've also started doing more hardening and making sure that we have our security story up to snuff. So we've added Bandit as a check gate. So all of our check units go through the Bandit static analysis tool. You'll probably see a couple other talks about that tool at the summit. But it's a great thing, every check in will go through a security static security analysis and we can block or evaluate the risk of that change and make sure that we're not introducing new security vulnerabilities, SQL injection or whatever. And coming really soon, this was another thing that just didn't quite make it into Mataka. The HA proxy that we're running inside that M4 will be running inside a network namespace. So we're gonna completely isolate it from the other networks that are associated with that M4 that's running. That code has merged on master for Newton and we'll be back porting that and releasing a new version of Octavia in the next couple of weeks and that'll be 081. So that's all the new stuff in Octavia. Let's talk about kind of the roadmap. So this is the roadmap I shared in Tokyo. We had aspirations again for active standby, high availability control plane, layer seven rules and container support and flavor framework support for the Mataka cycle. We didn't quite make it. So I'll go ahead and move forward. This is what we accomplished. Got the active standby in complete layer seven but the other components there are some pieces of that that are not quite ready yet. So active active is still actually in spec. We're still working on that and evolving that. There's actually a talk tomorrow where they're gonna go in depth on kind of the current proposal and where we're at on that. The horizontal scale is another piece of active active. So that's where you do the elastic grow and shrink the number of M4 that are serving a given load balancer. The container support we did get a good start on. There are some patches up, particularly around the networking components and the compute components to work with containers. But there were a number of challenges that came into that, particularly Octavia does a lot of hot plugging of our network ports. So when you add a member from a tenant network, we typically hot plug that network into the M4. Well, with containers, that's hot plugging is not quite there yet. So there's a number of challenges. That is a work in progress. Flavor framework, we did add the capability to do neutron L-bass flavors, but right now it's pretty much tied to the provider. So it's very similar to the current provider functionality. And that's where you can say, I want my load balancer created with the Octavia driver or maybe the legacy namespace, AJ Proxy driver. So flavors has got that far. Unfortunately, in Octavia, we've not pulled the metadata down in where you can say flavor gold is active standby, flavor bronze is a standalone load balancer, but that's something we wanna do. The high availability control plane, you can run all of those Octavia components, processes on multiple instances today. What we're talking about here when we're saying high availability control plane is once an action starts, so let's say a create load balancer call comes in. Right now, if that controller completely fails, somebody powers off the server or something and it's in the middle of creating that load balancer, it's just gonna stop and be stuck in a pending creator and error state. What we wanna do is pull in some of the job board components of Taskflow and be able to have an alternate controller pick up that creation process that's in flow and continue that work on another controller should a controller go down. So that's the aspirational piece of that that we didn't get done. And then, of course, I mentioned the single call actions. Really close on those. So, again, you're welcome to try Octavia yourself. It is integrated with DevStack. Pretty easy to spin up, just enable the services and update your local RSC. So we are looking for contributors, of course. We're a semi-small team, but we do have a good core group of people that contribute, but we can always use more. Particularly in testing and documentation. And if any of these features that are aspirational sound exciting for you, please come see us. Join our RSC meetings, join our channel. There's people on all the time. So other related sessions. Tomorrow, there's a session on heat. So heat has added templates for Elbas V2. So you can now create heat templates to deploy a neutron Elbas V2 load balancer. And the deep dive into elastic load balancing. That's what I was mentioning earlier with the active-active. They're giving a talk to talk about where they're at on that and kind of a strategy. There's two hands-on labs. One is writing AngularJS plugin for Verizon with our friend Doug here. And there's also gonna be an install and configure of Octavia session. Both of those are RSVP. You do need to sign up for those. You can't just show up and join. Because they are hands-on. There will be programming involved and some prep. And then finally, the design summit. We actually just had that this afternoon. We're talking about the future of the advanced services in Neutron and the future for those. Any questions from the audience? Dustin? So we don't distribute binary images. The DevStack component will build an image. And there are scripts included in the Octavia repo that uses triple O disk image builder to create you an image. But we don't distribute anywhere a cooked image. Right, you would need to build new images as the updates come out based on which OS you're using for your M4 image. The defaults on Ubuntu. There's also Fedora support in that script. There's a couple options. Any other questions? Yes. In Tokyo, we were able to post the slides on the summit schedule. I think they'll open that up after the summit's over. So you'll be able to go back to the OpenStack website, find the session on the schedule and you will see the slides available to download there. Sir? Hi there. Okay. In the physical server load balancer environment, there's typically the concept of having traffic for SSH come into the VIP and then go through an encryption, decryption appliance before it goes to the servers to take the burden off the CPU of the servers. Is there any thought of creating such a function within this framework? We do support TLS offload. So SSL offload is supported on Neutron, Elbas and Octavia both. We use Barbican to store the certificates and the secure content, if you will. In fact, that exact concern is exactly why Octavia takes the architecture that it does, where the idea is to launch many different M4s so you can horizontally scale managing that CPU load because that is, and the load balancer, that is the thing that hits the CPU the hardest is the TLS offload. Yes. Hello. Any idea to use the UDP protocol? At this time, we don't really have plans for it. If you have a need and have some developer resources to throw out it, we can certainly take a look. But right now, it doesn't support it. It doesn't support UDP. Right, we have a plugin model for the M4 and for the load balancing component in it. So if you have a use case and you're motivated, it's pretty straightforward to add an alternate technology from HA Proxy to be your primary load balancing component inside the M4. So that's certainly a capability if you have the need. We just, we don't have it today. Hello. Is there anything in IPv6 that is not supported or is IPv6 supported at all? We have some bugs. The framework is there to do IPv6 all the way through and in fact, you could do translation.  But recently I started looking into that and playing around with that and I found some bugs. So we will be fixing those in Newton. But the frameworks there, all of our technology does support it. We have a couple of gotchas. We tried to architect it so that it was completely IPv6 compatible, we just have some bugs. Yeah, other questions. All right, thank you.


thing so wrong and that's so immoral. Yeah, that serves capitalism That serves this kind of capitalist model But there's nothing inherently immoral to getting married Under the age of 18 years old and there's nothing inherently immoral with being sexually active Under 18 years old the west the liberal west with all of its human rights Excepts that an under 18 year old minor can be sexually active There's no problem with that as long as it's fornication as long as it's, you know Sleeping around and having whatever kind of casual sex, but as soon as you talk about marriage.  This is the worst kind of evil This is incoherent. It makes no sense and I've answered every single debate. We have this in the q&a And I always give the same answer Find another find another argument against it's another example of The difference between rabbinical legal precedents and islamic where sharia law is almost The same as mosaic or called abrahamic law But the jewish law liberalized over the ages and you know, so now even among the most orthodox You wouldn't have child marriage below 16 and you know, maybe a place like yemen or moraco It was earlier, but the process of rabbinic law that had a liberalization process We'll jump into the next one. Thank you very much for this I mean, that's that's to me when you say the liberalization process That's another example of corruption like it's been the influence of the liberal world order that has pressured Jews to change their religion No one prior to the 20th century or the 19th century Let's say had a problem in Judaism with minor marriage. No one had a problem with it But because of your critique I'm just saying that Judaism's method allowed that to change even though the sharia law is basically comparable to how jews Practiced at the time but the jewish mechanism had a method to change and it's very rare to see jews practicing that today No, it's making it's making the religion a joke. Obviously you disagree with that But yeah, it makes this is the this is the liberal method To destroy religion because once you say, oh, okay. Yeah Minor marriage is evil. Yeah, that's child marriage is so evil if you say that then you're throwing Your profits under the bus you're throwing many a much many aspects of the bible under the bus You're throwing the previous sages under the bus because you're basically saying that yeah, they're all pedophiles and we reject that So liberals count on you Uh changing your religious ancestors. We're saying you are you are we have a method to change in a depth Yeah, but that but that announcing our ancestors inconsistency at the time and just saying we have a method with the liberal What the liberal doesn't have in the same manner what the liberal points out is that your religion is inconsistent You've changed your morality That means that can't be from god because you're updating and you're changing it because of political pressure So therefore your religion is a joke and that's why people will leave the religion They'll say that well, how how is this serious right now in 21st century? This is considered wrong, but throughout history. It was practiced So that means that it's not really a religion from god. It's just whatever people make up at the time So if to resist the liberal pressure is to actually preserve your religious beliefs and to say that no My religions is from god if god allowed that in the past and said that this is permissible This is moral and that means it's moral and it's moral today as well in in the proper context I gotta move forward. This one from i judas flies. She has annual quote-unquote in gematria is equal to ham and That's a dot 95 I don't know. I don't get the reference. Mody Pawn says Daniel is just a tool for having deeper understanding of mystical ideas. You can't derive law from it Um, I mean if he's I'm not I didn't do the mathematics I mean if he's trying to attack you like you're like humming or a mullet You've got forbidden. I know judas, but uh, you know, I'm not personally attacking anybody So, you know, that's unfortunate This one from modicons is Daniel thoughts on kiraat and seven our rough Oh kiraat and the seven ahruf. Yeah, the kiraat. Um, these are revealed by god The seven ahruf these are revealed by god and the kiraat the recitations and modes of recitation of the quran I've revealed to the prophet sallallahu alayhi wa sallam They've been pervert preserved their mass transmitted through to etur And this is no problem, uh with You know, this doesn't create a problem for the authenticity of the quran because they've all been preserved as well They're just different modes of recitation. Um, so I had the variants that we see with the bible as I mentioned like they are major variants like does god have sons or not Um, that is the the variation within like the maseretic text versus the dead sea scrolls versus the septuagent, etc Those have major massive theological implications or within Uh, the new testament, you know, the the gospel of mark, you know, the ending of gospel of mark Is that something that has been added or not? Well, that has major theological implications for christianity There's nothing like that in the quran the variants in the kiraat Are differences like the difference between yaa maloon and ta maloon like They do versus you all do like that's the kind of variation like it has no theological implication And they have been preserved. So this is a category difference between variation in the kiraat of the quran and the variation variants with the Uh, hibro bible and the new testament This one from appreciate it daguar says if all prophets were muslim, how do you explain the existence of judeism as a face? Why did judeism emerge if all its prophets were muslim? Why does the word judeism exist? a la just At failed I think they're saying did a la just fail It's another wording of the question I put to you that to some extent islam necessitates some element of judeism being true And from your perspective, how do you explain the judeism exists if You're saying that well the prophets existed they were muslims, but then how how do you explain the arrival of judeism?  It arose in the 20th century How does the nation of islam exist? Well, it's made up like some someone just makes up a religion Someone or someone takes a religion that has been revealed and distorts it like islam They take islam and they just add and subtract and they create their own Religion the same with qadianism Ismailism, you know the five percenters all of these different religions that have been created that they don't uh, basically they don't They don't what's the word they don't cancel out the previous revelation They don't cancel out the quran or islam in the same way the prophets preached monotheism They preached their hanith in this the quranic term. They were monotheists and then that was corrupted All of this polytheism was added and that's how judaism was created the judaism that has this corrupted Torah The corrupted talmud the corrupted law overall Corrupted beliefs all of this is corruption, but the prophets Up to jesus christ peace be upon him. They practice monotheism belief in one god alone that we almost submit to So the islam acknowledges those prophets and their monotheism. It doesn't acknowledge judaism It doesn't acknowledge the talmud and and all of these bizarre beliefs and practices, of course not That the jews are actually i hate to do this, but we just have so many questions I gotta keep I gotta keep moving this one from danie d soul says got timed out james Okay, sorry about that joshua jamie says Daniel you have said that in cultures where child slash adult marriage isn't considered taboo There are less reports of trauma from children being in these relationships However, these same cultures indoctrinate the children into a religion that prohibits them Even considering it to be abuse Your culture is indoctrinating people to think that it is abuse. What's your point? Wayward wiz says question at david the ram bam said if one of the 13 principles is violated such as disbelief in god based on Mood the person is considered a heretic Yeah, but saying that belief is a commandment to say well, you did a sin Just like, you know, if you didn't give charity or you mistreated somebody who didn't fulfill one of the rituals That uh, so that's all it is. It's just one of the laws Although it's a constant law as opposed to a reoccurring law that may be like a ritual That's meant to be done once a day or charity that's obligated when it's in front of you These commandments of belief are constantly commanded upon the heart and if you fail to Have the proper belief at the time. It's a constant sin Ra Runi tension says it's kind of crazy here Daniel defend the death sentence for not believing Islam is a lot scarier than the media makes it out to be I Literally every single debate I explain it and put it in terms that people can understand So and a lot of people find it very reasonable and you know, I was on the patrick bit bet david podcast Speaking or debating with two islamophobes and they brought this up. Oh the death penalty For apostasy and I explained it very easily and clearly Thanks, you know hamdolah. Thanks to god And patrick was like, yeah, I kind of I see, you know, ultimately I don't agree But I can see the logic of it. I can see, you know that you do have to deter People exiting a group and you have to deter people from Uh, you know apostatizing that's something that every religion has so he got it a lot of people get it um And some people valid they see that as islam like sticking up for its principles and not bending to the liberal Mindsets the liberal mind control and andrutate is one of these people Keep pointing him out andrutate says that, you know, what he respects about islam is that they don't tolerate blasphemy They don't tolerate, you know, these kinds of attacks on religion. They have laws That uh deter that kind of disrespect towards god and that is godly and I respect that and as a christian I respect that and then eventually he became muslim So people get it like this is not rocket science and I can explain it a million times But if you don't want to believe and you want to just hate islam go ahead This one coming in from do appreciate it wayward whiz is david.  Only there's a cursing. There's I mean, it's a way to understand history and the unfolding of prophecy and also, you know, regional geopolitics is, uh, you know, some of my rabbis always referred to, um, You'll come any and uh, nasrallah as ishmaelites You know descendants of the prophet descent of ishmael Um, but uh, not necessarily the the curse they were role. They play in history that could be Uh, good or bad and uh, that's somewhat dependent although you will find that you know, Jews might curse ishmael, but it's not necessarily a part. So you might bite it in text Uh, but it's more just a way of understanding prophecy and the unfolding of history. It's not a fundamental aspect to judeism You got it. This one from yava Valorizia says me david. What is your biggest doubt or problem stopping you from reverting to islam? Other than quote islam doesn't falsify judeism, which isn't true surely you believe in objective truth Yeah, I didn't see any claim of You know say so to say follow muhammad. I mean I mean respecting daniel's argument I mean generally I follow the tradition of the prophet's long broken tradition The sage is the generation and I don't see a precedence to follow muhammad or that there's anything even if muhammad is coming To revive and correct the message of the old of the heber prophets is well Thank you for setting me back on the proper path But I don't see a necessity to accept islam or follow muhammad Um, and you know if daniel was correct in these things. Well, thank you for uh You're putting me on the right path, but i'm still going to continue to follow the heber prophets Well, how does how would muhammad have how can he correct the Torah unless he's also a prophet of god? Well saying the genesis understand he's a prince. I've got not a prophet That it's an element of the prophecy of abraham of the twelve princes But not a prophet and even if you raise the standard to say he's not my prophet He's your prophet and if the if there is corrections that say theoretically that there was corruption in the heber Tradition and muhammad is accurately as a descendant of ishmael or through some sort of Connection to god called prophecy to correct the message of the heber prophets I still don't see any Reason why I should become muslim. I should just uh, I'll become a better jew So you know like I didn't feel any compelling reason to become muslim from this debate Although I did compel me that I could try to become a better jew This one from god servant says how does one attain salvation according to islam? How is salvation attained? Yes Salvation means just to believe in god And believe in his messenger His final messenger muhammad sallallahu alayhi sallam believe in the prophets believe in the angels believe in the books that have been sent like the Torah The injil sent to jesus christ the sohb sent to abraham the zabur sent to david prophet david and the quran to believe in the final day and and the Qadr of allah or the power of allah Good or bad these six pillars of belief or iman that's required to have faith And then that's that salvation that salvation you have to also do good deeds you have to Follow the commands of god, which is what are found in islamic law, but they're basically summarized I mean they're not contained just in the five pillars, but the five pillars are the main requirements Which is to pray The five daily prayers to fast in the month of ramadan to pay zakat, which is the charity The mandatory charity every year if you can afford it to do hajj And to testify that there's no god but allah and muhammad. This is final messenger and then When you die then everyone is judged by god on the day of judgment and then if you have iman and you have Good deeds then god if god accepts that your deeds like you didn't have hypocrisy Then you are saved but it's possible that you're a muslim And you're punished in hell because you committed a lot of sins or you were neglectful with your prayers Then you could be punished for a period of time in the hellfire But if you have iman the belief That i mentioned at the beginning then you will eventually be saved even though you might be punished But if you reject god and you reject his final messenger and you don't believe Then you are punished in the hellfire even if you have good deeds Even if you're a good person quote unquote good person And you're charitable and you're helping people But you rejected god then you have failed the test of life because god has sent messengers he sent the final messenger And requires submission as we are creation of god We should submit to god when he sends a final messenger We believe in him and we follow him and he sent manifest evidence To the truth of that message and to the truth of islam So that's the islamic Explanation of salvation You got it this one from joshua jamie says See they got two you say but an eight-year-old is a child you repeatedly appeal to history and absolutely no study of any kind That shows an adult sleeping with a child does not damage them mentally Yet we have copious amounts of studies showing it does Yeah, the studies that are Based off of people today and what is considered damage Um is the study of child molestation um adults diddling kids in the closet Uh child marriage As you call it or minor marriage is practiced around the world to this day It's considered legal in many of the us states. Actually, there's no minimum age of marriage You might need to get consent of the parents or the guardians, but you know when you study those Those people and those communities those families then that Mental damage or trauma is non-existent the mental trauma comes with kids diddling being diddled in the closet in schools Uh in churches and synagogues unfortunately So that is where the trauma comes from uh not from the practice of marriage Marriage is very different than child molestation Okay, this one coming in from full dude. Wenda or wends 55 this is according to Judaism Jesus can't be the messiah because he has no lineage to king david. What is the muslim's response to that? the I don't know the exact lineage, but he's still part of the lineage of isaac um In sir Muhammad peace be upon him is from ishmael and jesus is from the lineage of isaac which goes back to abraham Whether it goes through david or not. I'm not sure but Again, like if you're basing this off of the prophecy of a davidic davidic line And the promise made to david then again, how do you know that that's authentic? Within the hebrew bible or the old testament. That's the number one question that we need an answer to You got it. There's appetite for more programs. We didn't get much to eschatology It's a very wide important topic if there is appetite for future debates or program. I'm hoping for it This one from yeah, but in islam We don't believe that we believe that jesus christ is the messiah Like he is the messiah he came and he was taken to heaven and then he's going to return To heal the antichrist so the eschatology is actually very interesting because it kind of intersects islamic eschatology intersects with Jewish and christian eschatology, but as far as The messiah being jesus christ muslims and christians are agreed on that This one coming in from these are the last ones we can take on this issue folks. I've tempted to like skip over them already Let's see joshua jamie says But daniel, do you agree that an eight year old is a child and also says letting adults and children sleep together Just because they want to sounds pretty liberal to me And jacko says what would you do if you saw a muhammad with a nine year old girl? today Yeah, I mean what a silly question. I wouldn't have a problem with that I wouldn't have a problem with marriage people do get married Minor marriage is practiced throughout the world so I wouldn't have a problem with I think that's marriage as long as it's a legitimate marriage and If it is a minor then there are certain restrictions or certain conditions like the parents have to also Give permission the father. I mean the father has to give permission for a daughter minor daughter to get married and even a major daughter it depends on the the specific school of thought but Yeah, I wouldn't have a problem I think that's the solution that we need like we need to have we need to bring back marriage and practice marriage As the prophet muhammad sallallahu sallam practice marriage instead of this degenerate Reality that we are suffering from where look at the every day There's a new story about a teacher who's been having sex with 13 year old in her class Like in the high schools and the middle schools Even in the elementary schools when I was going to public school and elementary school There were some kids that were sexually active So if you're in the fifth grade you're like 10 years old you're maybe 11 years old and you're sexually active There was no like and this was 25 years ago or no when I was in elementary school was over 30 years ago This was something that this is practicing is happening every day.    It's against the rules of god That's only going that's only going to breed more degeneracy And that's what we see in the world today Whereas if you practiced what the people of the past practice and what all of the prophets of the past Advocated and what the bible advocates and what the hebrew bible advocates we end up or on advocates. We wouldn't have these problems This one coming in from do appreciate it John choice as uh, daniel you It's just an insult This one from god's servant says next quote unquote prophecy according to judieism acts 238 Let's see Wayward whiz says david i didn't understand so ishmael is blessed Question mark is according to uh Genesis each hagar is promised by god that 12 princes will arise from the descendants of ishmael and if you follow the chronology of uh, the hebrew prophets that uh, The descendants of ishmael eventually rise To become the leaders of the east or the south in different phrases that at the end of days The world will fall into two large forces the you know the north or south or east or west Which will largely be the descendants of ishmael and the descendants of issa or islam and christianity And we'll say it's neutral that abraham is the father to multiple nations and In the end of days if humanity is worthy We will all usher into the utopian society peacefully and if not there will be uh You've got forbid two great armies that will wage war against each other one of them being led by the descendants of ishmael You got it with that folks. We have gotten to the end of the questions list I want to say we appreciate you For all being here with us folks We do want to encourage you if you haven't yet check out our guest links in the description box We link our guests at the podcast as well So if you're listening to this later On the podcast you can find daniel and david's links in the description box there for that episode Daniel and david has been a true pleasure to have you tonight Yeah, great. Appreciate you having me on and uh, I'm open for many other debates And I appreciate this daniel if you want to talk more or have another conversations to another topic and anyone who uh You know, I have a much smaller following so you could find me on social media and reach out Directly to me if you have any feedback or comments Yeah, thank you so much david. Thank you james. Sorry if I got mixed up with the timing But yeah, I really enjoyed the conversation. I wish that I invite other Jews to debate if there is a rabbi out there who wants to debate We didn't talk about the rabbi yosef. Mizrahi, but he's a very popular YouTuber he has a youtube channel and he is a rabbi. I'm open to debating any rabbi so far Um, no one has taken me up on the challenge except for uh, david here So, um, yeah, that's an open challenge anyone who wants to debate islam versus Judaism Uh, more than happy to do that That reminds me. I meant to say this. So I'm glad you said that Folks if you happen to be Jewish and you want to debate Email me at moderne debate at gmail.com. We do want to have Jewish folks This is like the first time in a long time like years that we have ever had a Jewish debater So we hope you know You're welcome here It's just that we don't get a lot of people that reach out saying that they want to make the case for Judaism Also, Daniel has a juicy upcoming debate with a spicy hindu fellow And I've got to say folks if you happen to be a hindu, uh, who wants to debate I didn't Think that there were actually any hindu Apologists you could call them or kind of kind of like the people that are like, hey I'm gonna try to reason with you to you know, I'm gonna try to give you an argument to persuade you to my faith I didn't know that there were that there were any sort of apologetics for hinduism at all I didn't know they existed and then Daniel because he has such a way with people Got into a fight on twitter with one of them and they they were basically like, yeah Like i'll debate you and so if you happen to be a hindu person and the thing is for all of these I hate to be such a but I have to say it because it's out there and it annoys me Is it sometimes you know other people like oh, yeah, i'm a i'm a christian and they're Like actually an atheist like when you press them and you're like, what how are you a christian? Like you don't even believe in a god like kind of like earlier in this discussion david you mentioned that there are some jewish folks That are they would maybe even say that they're jewishly, uh, they're jewish religion-wise But they don't even believe in a god that exists in christianity And there are some hindus where they've reached out and they're like, yeah I want I want to debate on behalf of hinduism and then we listen and i'm like that Like is that hinduism? I don't know why you're we're looking for you could say Traditional hindu debaters if you're out there. I'm at mark. Just to remind you I think out there wine robb As wants to debate, uh, yosef kohn who uh, I don't know if he wants to debate daniel But they want to debate zionism jew against jew Uh, you know joseph kohn zionism against outer wine robb mild zionist But uh, you know, so that's also god forbid if the war going on That, uh, you know, I've talked with outer wine robba suhla who was on your channel before and is looking to Do more debates on your channel You got it. I appreciate you letting me know that and if you are a jewish person or a hindu person wanting to debate I'm at modern a debate at gmail.com with that. Thank you very much daniel and david We're gonna let you guys go it's late and I am so exhausted. So Let these guys go. I'll be back in a few seconds for you like two minute long post credit scene Stick around folks. I'll be right back and thanks one last time to our debaters stick around folks Amazing want to say thanks so much for being with us tonight folks If this is your first time here at modern a debate I'm your host james coons and we have debates regularly on science religion and politics If you haven't yet hit that subscribe button as we have many more debates to come And if you didn't know we have channel memberships check those out below Highly encourage you you can use those epic emoticons in the live chat and it makes you immune to live chat slow mode That's pretty cool. And not only that but We have a podcast you didn't know check it out find modern a debate on your favorite podcast App including spotify apple podcast. You name it. You can find modern a debate And we have all those debates there. I want to say thank you guys. It has been a true pleasure Thanks for all of your support of modern a debate. We are very excited as we just hit the 84 184 000 subscriber milestone want to say thank you guys for subscribing Thanks for your support. Thank you for everything. This is a community channel community effort And so I want to say thank you so much. I am excited about the future modern a debate is looking to Do some big things in the next year So we're excited about that as we plan in the background And want to say I hope you have a great rest of your night Thanks for being with us and keep sifting out the reasonable from the unreasonable folks We will see you at the next debate


Okay, let's start. Good afternoon. First of all, I'd like to introduce myself. My name is Hu Zuozheng. I come from Alibaba. I'm the founder of Dragonfly. Can I ask you a question? Have you ever known Dragonfly? Or have you heard of Dragonfly? If you do, please raise your hand. Okay, a few of them have heard of Dragonfly. Okay, I will give you a comprehensive introduction of a Dragonfly so that you have a better understanding of this project. And today I'd like to talk about four things related to Dragonfly. Sorry for that technical glitch. Okay, sorry for that. Well, I will talk about Dragonfly. History, status, adoption, and roadmap. First, I will talk about history of Dragonfly at the milestones it have achieved. And next, I'd like to talk about Dragonfly community. It's a current architecture. And I will share with you two cases on how external companies using Dragonfly. And lastly, I'd like to talk about our future roadmap. What is Dragonfly? It is a P2P-based, highly reliable image distribution system at a larger scale. It aims to improve distribution efficiency and lower the bandwidth cost. And why we've developed Dragonfly with the expansion of Alibaba business? The deployment volume increases. Therefore, the software package to be distributed has increased too. And due to the bottlenecks in pulling images, our distribution efficiency is very low. So in order to address this bottleneck, we've used a P2P to increase the distribution efficiency of images and software package with more and more scenarios. We have been proving and adding new features, flexible dynamic compression, et cetera. And we are trying to build a Dragonfly into a comprehensive file and image distribution system for all scenarios. This is important milestones of Dragonfly. Dragonfly was born in June 2015. So the first version was released within the group in June 2015, mainly supporting P2P file distribution and CDN. In September 2015, that is three months later, we were able to support image distribution. We developed a local proxy. So we've downloaded images and put on a local client. In November 2016, Dragonfly covered the whole Alibaba group with 1.5 billion downloads every month. We finally became part of the infrastructure of Alibaba in November 2017, that is one year later, in order to address more problems and further improve distribution efficiency and lower bandwidth cost. We've developed automatic preheating, memory file systems and through dynamic compression, we have lowered the bandwidth cost, especially cross-region and cross-country bandwidth cost. And we've also became open source in November 2017. And in November 2017, we were the first to support single-stay sales campaign of Alibaba group. When we are shopping, all the sales data, you know, nearly 12 p.m., there will be GBs of data need to be pushed to tens of thousands of computers within 30 seconds. We've pushed the wrong data or the pushing failed. It will probably led to the fact that we couldn't shop during the single-stay. That means Dragonfly is a very highly reliable system. It can address various kinds of file and image distribution problems under all scenarios. And in November 2018, Dragonfly joined CNCF sandbox project. At the same time, we integrated with the harbor. I don't know whether you know about harbor. It provides image registry services. We are now integrated with the harbor. We developed with the harbor in developing automatic preheating function. We will sync it up with the node of Dragonfly. Currently, we've completed refactoring with a goal lamp. The version was already released. And we also support HTTPS image registry distribution. In the past, we could only support HTTP. And now we have over 50 adopters. So these are important milestones. Next, let me talk about status of Dragonfly and the overall architecture. Native shows using the native download method that is called pull without using Dragonfly. On the left, we have testing conditions. Two servers, which are Dragonfly servers, 24 and 64 G SSD and 1000 MBS. We've tested on 200 VMs. It's a 4 and AG 100 MB second. And on the right hand side, we have the concurrency downloads and average costs. The green one is native. And the orange one is Dragonfly. With the increase in downloads, you can see that the average cost of native has grown exponentially. Whereas if we use Dragonfly, the average cost remains flat in spite of the increase in number of downloads. And with the expansion of a scale, Dragonfly's advantages became more and more obvious. When reaching certain scale, using native will probably lead to explosion of registry. That means the image downloads would fail. Whereas Dragonfly could address all the problems faced by native. This is a Dragonfly community. We have 3,700 stars and over 50 adopters. These two indicators rank number one in terms of image distribution. And our adopters come from different background, cloud computing, e-commerce, financial services, telecom operators, live broadcasting platforms. We have 6 maintainers. Two are outside of the company. One from eBay, one from May 2. The other four are internal maintainers. And we have 32 contributors. And I hope that more of you could join us to maintain Dragonfly and to help it grow. And currently, we have discussion groups on Dingding and Gita. We also have WeChat discussion groups. Next, let me show you the P2P mechanism. Dragonfly has two main components, Supernote. You can regard it as a P2P Shattering Center. On every physical node, we will deploy a DFGAT, which is a client of Dragonfly. And DFGAT include two small components. One is a DFDemon, which is a smaller version of DFGAT. When we download images, doc code will move to DFGAT and then submit request to Supernote. And Supernote will check whether there is image file locally. Otherwise, you could download images from registry to local. It is synced up by block. When Supernote downloads a block, it will package block and generate an overall block. An overall block will be downloaded by client. If one client downloads a block, the block can be shared with other clients so as to achieve P2P distribution. We know that one image has many layers. When all packages on the single layer are downloaded, container will copy the file from DFGAT to local registry. And every layer is downloaded in this way. If all layers of images are downloaded, then the pod download will be completed. For Supernote, Supernote also supports remittance storage. If download only proceeds 50%, then when connection is ready, Supernote only needs to download the other 50% of the file. In this way, it will improve the download performance. Now let me look at the Supernote architecture. Supernote has several modules. On the top, we have an API gateway which provides REST API. The core modules include P2P scheduler, CDN manager, transmission control, pre-heater, and on the bottom we have storage manager. Next, I will give you detailed introduction of every module for P2P scheduler. It will determine what kind of blocks should client download and which kind of client you need to download blocks from. And what about the download speed? First, let's look at how Dragonfly should determine what kind of blocks should be downloaded by client. We use two strategies. One is sparseness, maximum sparseness principle. We would choose in the P2P the most scarce block to the requesting client so that different blocks in the P2P network can balance dynamically so that we can avoid the scarce block or the sparsity. So with the sparsity theory, we can choose blocks and then for the different blocks. For example, there are a lot but of course every time the operable block is limited, for example, we have two blocks and now the client can only download one block. So how do we choose one from the two? Actually, we use the back-to-back. What do you mean by that? So that means that when the client downloads the different blocks, now we know it's block eight and nine and the client can only choose one. Then we would choose nine because nine is the closest to 10. That means when the client downloads, it's like a sequential IO. We can do the driver IO so that we can have this sequential reading and writing so that we can improve the IO efficiency locally and improve the image distribution. Now the client has already chosen the blocks to download. So for the blocks, which clients should we download them from? So we have the proximity. That means we should choose the closest client that is on the network because the latency is smaller. Then we can reduce the download latency and also we can choose different clients. Then among the target clients, we need to do another screening and now we can use affinity. We can use affinity to define which client has better affinity to my client and also we have the work limiter to choose the lowest load client. For example, now we have two target clients A and B. For A, A is providing three blocks out and two is providing only two. So then we choose B because the load there is the lowest and then the speed to respond to the requesting client is faster. So that is the scheduler strategy. Now we have six strategies of course and they combine with each other so they can also impact each other. Then for CDN manager that includes the synchronizer. We have the multithread continuum so that we can synchronize the image. We have the breakpoint resume so we can generate the seed and then for catcher that is the CDN cache. So it includes the cache testing and also the cache dynamic GC and then compressor that is the dynamic compressor and we would dynamically decide whether this file should be compressed and also the compression strategy is block level. That means for the whole file we want to compress it but we would choose the most worthy part of the file to compress rather than the whole file. So with this kind of method the compression benefit is the largest and also after the compression it will be cached so we just need to compress once and use multiple times and of course according to the super node load we would decide whether to compress or not. Then we can avoid the impact on the super node normal scheduling and the compressing is also multithread and then transmission we have the rate limiter that includes the super node synchronization image and also the client and it's downloading speed for the blocks then the size limiter that is the size of the block for different files the size would defer and then data security it means for different block we would use the dragonfly designed format to pack them then we would avoid any manipulation during the transmission. The fourth module is the preheater of automation it is not just for container image it's also for general files and what do we do in preheating so when we build the image when we push every layer that we push we would have this lab hook request for super node and then that layer of file is synchronized on the cdn local cache so when we push after we pushed the image is synchronized to the local cache of cdn and when we apply and deploy when we pull the image then there's a hit in the cache so we don't need to synchronize once again from the network so that the image distribution efficiency is better so with these strategies dragonfly will try its best to improve the download efficiency and reduce the cost and the bottom layer is the storage manager we have different kinds of data to be stored for example the block data and the metadata the metadata for different block and also the mdu code and also the number and the files then for link data this is the soft linker data why soft because with soft linker we can go cross file system so we can access to different driver on the super node with the soft linker we can access to all of the drivers and the last one is statistics data it includes for example the time of distribution and also the success rate and for each node which client are they downloaded from and so on then it's more convenient for us to analyze the distribution efficiency and also we can provide some data support for the later improvement and on the bottom layer that is the memory file system we have the memory file system as well as the disk file system why do we have the memory file system because we want to solve the problem of large file distribution for example 10g 10 giga so it will occupy part of the IO resource then it will cause impact on the downloading of other files so we can use the memory file system to avoid this kind of situation and we can solve the large file resource issue just now we talked about the allocation or distribution principle and also the architecture i believe that you already have some wholesome view on dragonfly so let me introduce to you the use case first on an adebaba cloud in alibaba cloud there is this acr service the alibaba container registry service so let's take a look how they used dragonfly so it deploys the supernode config api and that component will maintain the basic configuration of supernode for example the list and also the rate control and also the hardware control and so on and then on each node there is this config watcher and periodically it would pull down the configuration and save it locally on different nodes and when the container applies pull then the pull is onto the dfdemon and then according to the config watcher it will pass it on to dfget client then the client according to the config it will request on the relevant supernode and then the process will be like described just now now for acr has this demo version with dragonfly and if you want you can try it and this is another example in zhejiang mobile how they use dragonfly so above there that is the decast system of zhejiang mobile they have this client in charge of uploading the image and triggering the image download command and down there the light blue one that is the dragonfly component so they would upload the image to harbor and push it to harbor and this is the backend storage after the push there is this distribute command to the api gateway then the api gateway would call the corner service kernel service and then it's pushed to the dock server dock server you can understand it like docdemon the api interface and then the docdemon would push it to df client the df client then will interact with the df master which is the supernode and then there's the pdp network and there's the p2p transmission so basically then the process will be just like how i described it and this is their data comparison the blue one is the deployed time average and the red one is after the use of dragonfly clearly you can see that after using dragonfly the application deployment time is largely reduced i think the efficiency improved by three times then let me introduce to you the future planning of dragonfly so i will talk about several things for example the cnf ecosystem cncf ecosystem we would cooperate or integrate deeper with harbor and also we want to support the client d and that is already being carried out then for security we will support the private container image registry and also that's already done and then in encryption we would introduce different encryption algorithm for the customers to choose we can ensure that the transmission is safer then for efficiency of distribution we also explored a lot especially in the intelligent flow control and also the intelligent scheduling algorithm and then in openness first we used the goal line to refactor supernode now it's a better integrated with the cncf and now in the new version we used this kind of plugin based architecture so that it's easier to scale according to the customer demand and then for scalability we would simplify the complexity of scaling of supernode so that with the increase of distribution we can automatically, flexibly scale supernode is already very stable right now i assume one supernode fails well it's nothing to use because all the clients of the supernode will migrate to another normal supernode for continuous downloading so it has high availability otherwise it might not become infrastructure of alibaba of course in order to further improve its stability we are exploring a solution that is decentralization it's not an entire decentralization we just want to weaken the role of a supernode further we minimize or further we try at least our purpose to minimize impact on user when the supernode fails in terms of scenarios we will support more cloud disks the entire alibaba group will move to cloud so back end storage is via cloud disk therefore we will support more cloud disks and in the future we're going to support different repositories which include ledges, maven, git, etc so this is our roadmap okay that's all i have to say and questions what is preheating as i've mentioned when you build image you need to push for every layer you push the image registry will generate a request to supernode after getting the request supernode will sync up the image to its local to locally therefore a supernode don't need to sync up image from remote registry it will save time and further lower bandwidth cost for registry what is the lab the progress regarding integration with paver now it's at the preheating stage paver has a registry when you push the image to hover hover will notify us the request and we will download the image to local supernode so unless when you push it will automatically process yes i'd like to ask you you you refactor supernode with gold land it's based on crt or you did it yourself crt we did ourselves will use gold land in refactoring at the very beginning a supernode was reaching in java and now we are open source and become a member of a cncf so we refactor supernode with a goal and yes almost all cncf project will use a crt we are different so you say that you're going to use disk for system supernode every supernode will use its own file system to store all the files so when you deploy it you will use the master's file system yes yes for question is that that if one supernode fails a df get will go to supernode for further downloading the supernode is a local storage but images if one supernode fails how can you how can you migrate to other supernodes if one supernode fails our client knows how many blocks this file has when i request a new supernode i know how many blocks i need to request for what about other supernodes how can they sync up to the failed supernode wow i'm not sure about your question your supernode fails the entire disk let's assume the disk's file system fails how other supernodes know about this information they don't need to know about their information these are client moves to new supernode you need to read register and the supernode will test whether you have local cache otherwise you need to sync up yeah they need to rethink again but client how how many blocks they need to uh or how many blocks they have downloaded they need to report it to new supernode in this way can supernode knows how to distribute the rest of blocks to the client another question the dragonfly doesn't support k a s yes it's an image container how about persistent storage it's a file system so we use the Ali Claus storage system we use the local storage we use the local file system we are planning to use the Ali Claus os s all the network file system to do that i have a question supernode


The European Union will back Ukraine without U.S. European Union military aid to Ukraine will not depend on decisions taken by the U.S. The bloc's top diplomat Josep Borrell told. Brussels plans to continue and further increase its military assistance to the Ukrainian forces, he added. We have not waited for the U.S. decision to be taken to increase our propositions to support Ukraine. The official stated when asked about the EU's reaction to the U.S. Congress removing military aid from Kiev from its short-term spending bill passed over the weekend. Brussels still regrets the American lawmaker's decision deeply and thoroughly, Borrell acknowledged, expressing his hope that this will not be a definitive decision and Ukraine will continue having the support of the U.S. The EU Commission had earlier proposed creating a fund for Ukraine worth $52.8 billion. The bloc's top diplomat noted, adding that he also suggested setting up a similar fund amounting to $21.13 billion U.S. within the European Peace Facility at an EU Foreign Minister's meeting in August. Let's see what will be happening in the U.S. But for our side, we will continue supporting and increasing our support. The official pledged, the EU's top diplomat also maintained that the bloc's military aid for Kiev is permanent structured and does not depend on the decisions of other nations or the results of Ukraine's military efforts.


Thank you very much. So thank you for inviting us as an aligned project. We just joined and maybe you can put the PowerPoint on. So it's a four-side project to support food system transformation through agroecology. So it has three components. One is a global component which I will focus on and there are two pilot studies, one in India and one in Senegal. What about it's a FAO led project with German funding and Sihard is the scientific partner. It started in 2022 and it will go on in 2023. First thing for you who are in agroecology, you might not be all very familiar with what four-site is. So I think I would just give a little overview of that. Four-site is not about projection. You talked about projection earlier. Four-site is about envisaging several futures, possible futures. So it's not, it's imagining it, creating them so it's being proactive so that the future will not be the business as usual one or just a vision. It will be something where you will identify what are the levels that could make transitions and then transformation. So it's really anticipating one or several futures and it's doing that with a lot of people in order to have debates and to make sure that people are intellectually and emotionally involved in the process and they appropriate the process and that's that if they are, this process is appropriated stakeholders it will lead, it will lead to action. So it's really two, three things, anticipation, appropriation in order to get to action and so it's about anticipating one but also several futures as we will show. So the project, the idea is with four-site it's often there to help policymaking or strategy making. It can be done at different levels that we will show and it's make sure that policy makers make real transformative decisions and they're not presented only with the business as usual position only an alternative one. The project there had three two components as I said, the global component which was a global review of four-site processes that have taken place in the last six to eight years and that were dealt with the transformation of food system and we chose those on the transformation of food system which had an assumption about agroecology and then the other two and there are the two pilot studies, one in Andhra Pradesh with a agrobium model which is both interaction between modeling and narratives and another one in Senegal also with interactions between modeling and narratives. So let me go a bit forward. The first, our first result was to create a corpus of 16 four-site studies that took place in the past and that at least one scenario with agroecology. So these are the ones we chose. We didn't shoot, I mean there are more four-site studies we could have chosen because of the limited time we chosen these ones and we tried to have four-site studies that were done at the global level, at regional level, large regions, national level, territorial level and even farm level. So for example, long food movement, future small-scale agriculture, agrimon, agrimon-terra, these are global level with also regional components. The prospect agrimon-terra was done in Tunisia, so that was on a national level and then there was some at territorial level in Senegal with fatigue and then one at farm level in Burkina Faso on supporting better crop livestock integration on small-scale farm.  So Fergus was there, or at least online, Pablo de Donel, Molly Anderson was there, so there were quite a few Colleen Anderson, quite a few representatives of the four-site community. What were the some of the results? I won't go through all of them. First of all, that when there are in these four-site studies, some have only one scenario which is really to show like Tifa which is on agroecology for Europe which wants to show that it is possible to feed Europe and with the agroecology scenarios. Others have two scenarios, usually a business as usual and an agroecology scenario. Others have three, four, even nine scenarios. Out of these, when there are several of them, for example in agrimon-terra, we have five scenarios and four scenarios which have agroecological assumptions. So it means there is not only one scenario with agroecology but four scenarios which can, so it shows our different pathways and also only one pathway to go through agroecology and I think that's a very important message of these four-site studies that we shouldn't focus on only one pathway but really open the possibility of getting agroecology true. Because we had these people from the four-site community and agroecology community I'll try to show about a little bit the linkages. This is how the future of agri-food system is represented in the recent FAO report. So it's really the food system which is rather complex but it's a four-site report. So this is kind of how the four-site people see agri-food systems. So let's try to see how we can link it with how the agroecology people see that. The first thing is that we see, we will see that there's a need to connect the two communities. If we want the four-site community to progress in integrating agroecology and if we want to the agroecology community to progress by envisaging several futures with the agroecology not only one. When you look at drivers and principle you see that the drivers and principle that the four-site community used to look at the transformation of food system. Quite a few of them also have linkages with the HAP the 13 principles but they're not quite the same and it's different. These differences are very interesting. For example the four-site community will talk about as a driver the scarcity of natural resources and the agroecology community will talk about land and natural resources governance. The four-site community will talk about economic growth and the agroecology community talks about economic diversification. The four-site community talks about inequalities whereas the agroecology community talks about fairness. There's definitely a need for dialogue between these two communities if they are to understand each other and really progress together. Also it's interesting to see that there are some drivers for the transformation of food systems that the agroecological community doesn't look at all upon which are the ones which are surrounded by the green circle there. Second point there are some blind spots that need communities to look at. These blind spots are what's between production and consumption which is all the storing processing, retaining, disposing. This neither community looks at that or doesn't look at it very carefully. You talk about the missing middle blind spots and also in the questions which are asked the four-site community ask a lot of questions about food security, land use, but it doesn't look at all at wages and profits. It doesn't look so much at social well-being, social stability, so they're really topics that are not looked upon and that are important. Third there are questions of geographical scales which are important for the two communities but may not always looked upon in the same way. There's this missing middle and the meso level which is also often missing. The models, the four-site communities uses the same models to simulate the futures of conventional agriculture and the future of agroecology and whereas the metrics are very different, the crops are very different, so there's a real need for the society community to improve its model if it wants to model agroecology. The participation of stakeholders is important for four-site but very often policymakers are not included in the whole processes and so whereas it is the policymakers who make the decisions, so if they're not included in the four-site process, they cannot appropriate the discussions and there are different postures. So the main recommendations are really that the transformation of agri-forced food systems for agroecology is a political question and it requires important investments. The question was raised the other day is how did the green revolution came upon and why doesn't agroecology comes true and there were apparently two points that were raised. One is that with the green revolution there were massive investments and so it went through very quickly and it was that doesn't happen for agroecology which is still a niche in many of our organization and it's still a niche in research. So if we want to have to help the fact that four-site helps agroecological transition, there should be four-site should be led by representatives of the two communities and the linkages for the moment are quite insufficient. We should involve a variety of actors and policymakers, we should look at the whole food system and not only some of the components as we've seen, we should consider the rapidity and radicality of adoption of innovations in the past and we tend to forget that these may be as rapid in the future but there are also inertia, inertia in innovation but inertia in governance, inertia in different things but we tend to forget that the innovations can be very rapid also in the future. Also we should have appealing narratives, four-site people tend to think that models are enough and if you show figures to policymakers that agroecology is very efficient they will vote for agroecology but that's not enough and that came out during the workshop. Appealing narratives are very important and these narratives when they are developed they should be developed in interactions with the people and with the modeling and not separately and then we should create new models to integrate larger number of drops that are used in agroecology, new practices and principles. What are our projects for 2023? We're going to writing reports on the workshop and our results that will come out soon and that will be sent first to all the people who have attended the workshop then we'll have an article, we'll have knowledge exchange, we started already this knowledge exchange among the four-site processes at different scales because there were people from Europe, Africa, Latin America and representative of Asia at the workshop and we would propose to organize a four-site workshop with some agroecology practitioners and with some four-site practitioners so that also agroecology practitioners understand better what is four-site and four-site people better understand better agroecology. The Andra Pradesh and the Senegalese pilot projects will continue and with policy dialogues in Andra Pradesh and dissemination of results in Senegal. Thank you very much for giving us the opportunity to present this work. So for just to say that you who is involved in these processes at FAO is Anzati Pwasu Anahimena Gomez who is leading the project. For the state of the art it was St. Mara's Stone and myself and Bruno Doran for India and Anahimini Pradham from Senegal. Thank you.


Jack attack, two more years, congratulations. How's it feel? Yeah, delighted. Obviously it took its time, but it's done now and just can't wait to get going. Looking out on this pitch now, it doesn't seem too long ago we were out here at the end of the season. Looks a bit different now, but I guess looking out on to it now, it fuels your excitement a little bit more and makes you want to get out there all the more quickly now for pre-season. Yeah, I hope it's in better shape come first game of the season, but I'm delighted. Just can't wait to get this stadium full and rocking again. Talk us through your breath of city career so far and what you've taken out of it nearly two years now. You've had a fair bit of time to come in and make your mark. What's it been like from your point of view? Yeah, I've enjoyed every second of it. The fans have been classed with me. I think that's all you want when you're coming as a new player for the fans to take to you and have done that here. I'm excited for the next season and see what it brings. Where do you think that popularity comes from?  A lot of people seem to admire your endeavour and people tend to say that you typify a lot of what they expect from players. Do you feel that yourself? I think whenever you go out on the pitch, I think fans can accept if you give 110%, that's all you can really give. I think that's what I do every game, whether I'm having a good game or a bad game. If I bring that every game, they can accept it. What's next for you in terms of ambitions and goals you've got two more years initially and then the option of a further one? Is it really a chance now with the age you're at as well to really kick on in your career and be a part of something special? No, 100%. I think the first time when I came here and had this interview before, my plans were to get this team promoted into League One. But it didn't happen and now it's another chance to do that. I think with the squad and the manager, we've got more than capable. How much of an incentive was the manager? You're a full man United fan, so you're familiar with my cues. I wouldn't see my grandad when it got announced and he's trying to get me to take all my United tops into getting signed and that. It was a massive reason why I stayed. I guess as well when you talk about coming in two years ago, standing on this pitch and saying that you want to be part of a promotion wing inside, and having not done that over the course of the past two years, it makes you all the more determined. Was that a big incentive as well? You could have gone elsewhere, you had offers from elsewhere, but leaving here would mean that you've not really achieved what you saw. No, no. Leaving here with what I've done is a failure really. I thought I've done well personally, but as a project, as what I wanted to set out at the start, I didn't achieve that. So to leave was not really something that I wanted to do. Do you have areas in your game where you're looking at now and thinking next season I want to improve in this area, I want to be able to do this a little bit more? 100%. I spoke to my family in that, and I think we'll speak to the gaffer as well. I want to create more goals, I want to score more goals. I think there's a midfielder nowadays, that's what you've got to do. You've got four so far now for Bradford City. You've said whenever you've scored goals, there's been a little bit of self-deprecation about the one at Walsall being a shank, the one at Grimsby being a fluke, but you keep on scoring these goals and getting nominated for goal of the season. I've never scored one with my left foot. The dribble, everything was good, but the left foot is a swinger. I say the Grimsby goals. Walsall, yeah. Swindon, Screamer. Swindon, Screamer. So four goals away, you've not scored out here, I guess that's one thing you took off. It's disappointing because I had opportunities as well, I looked to set up other people instead of being selfish and this is one place I do want to score because I want that feeling that a lot of players have had. I have a full house, I think there's no better feeling. I guess last season more than the season before, given the fact there was no fans in it, it really gave you an appetite for that as well and you look at the way we ended the season with three back-to-back wins. There's really a platform to build on now, isn't there? I think like you say towards the end of the season when we're winning games it's a full house, it's probably not a better place to be, league one or league two. I want to score as much as anyone else wants me to score. I think I've celebrated other people's goals like they might let me own, but I'd like one myself. I guess having these crowds here that we can gives us a bit of an objective going forward as well. I think when we've looked at games such as the gaffers first game and charged the first game of the season last season, the last game of the season last season where we set the attendance record, it shows you the potential there for what can be and what we can aim to achieve and how it can look should we achieve what we obviously want. Yeah, it's no secret. This club's too big to be in league two. It's just we've got to take it to the next level. It's alright saying it year and year out, it's now up for us and us as players and us as the gaffer and the staff to take it to our next level to become the sleeping giant that it is. Can you find a message for those supporters that are looking forward to seeing you out here again and presumably all looking forward to getting back in pre-season and getting going again for two more years? Yeah, I'm just delighted. I think they've been fantastic with me so far, just that continued support and I'm sure we'll get to where we want to be.