 Hello everyone. Hi, my name is Joe Arnold and I'm the CEO of Swiss stack and today we're going to talk about Global clusters in Swift and what global clusters is is the ability to replicate data to multiple sites multiple data centers wherever they happen to be and this morning we got to see Concur on stage talk about their use of global clusters and what they're doing is they have two data centers And in each one of those data centers, they have copies of their data going into whichever data center is Closest to where their customers are and What Swift does is it replicates the data between those two data centers, so it's it's available Now they're have a use case where they're trying to scale up to tens of billions of Images and that's what it was architected to do but more to the point It's really not about disaster recovery It's about providing a better experience for the customers because by having the content Closer to where that customer is they're able to upload faster. They're able to download that content faster and in the case of an emergency they're able to Flop over to the other data center and and keep right on going so kind of a picture of how this this works We have so let's say you have a we're going to configure this We're actually going to walk through this right now between Portland and Hong Kong if you're dragging some content over to Say you're using the application. What happens is if you incorporate something like a Global load balancing then that request would be routed to a nearby location So there's many DNS servers services that provide this and so you take advantage of that It gets written with full durability in a single location We call this affinity right and then asynchronously that data gets replicated to another location If another user comes along and say they're in a different part of the world or Different then they can load that content picture of a cat and Also using geo DNS they get routed to a nearby data center and they'll pull pull that pull that up So that's kind of roughly how it works and the technology that we provide is well one we've been part of the development of so our company is Swiss stack and what we do is we provide a a Deployment platform management platform around open stack Swift But not just that we also have people on the core Swift team who help build a lot of the features that are in Swift And global clusters is one of them and so what we have is a is a product and there's really there's two parts to it one part is This something that we call the Swiss stack nodes and the Swiss stack nodes includes open stack Swift it includes management monitoring information All that whole runtime stack needed to get that environment up and running. I've actually have a lot of authentication components in there Everything to need Then there's the Swiss stack controller and what the controller does is it allows you to manage deploy scale and Configure an environment so you can do things like rolling upgrades Configure user accounts we collect usage information things like things like that So what I'm going to do is I'm going to walk through Setting this thing up. So right now we have a we have a web client and what I'm going to do is Just demonstrate this so I actually have this infrastructure running right now and I'm uploading some of that content. This is just a web interface to that that you can use you can skin this for your for your own purposes and What I'm going to do is I'm going to take I feel like Julia child I've already done a node installation and what happens is this node will connect to The Swiss stack controller and it makes that connection it registers itself And we can go through the process of claiming that and adding that new node to a cluster So I have this URL here that it created for me when I did the installation commands and by the way this installs on a Buntu it installs on sent us it installs on on red hat as well Let's see, okay, so let's paste that guy in here and I get this cleaning claiming process And so it's going to start establishing a connection between the that node and the controller So we got a VPN session between the two Again, the new controller doesn't reach out to the node the node reaches out to whatever controller that it's using and So I'm going to go through that claiming process and add it to a cluster So I'm going to go to demo 10 already have two nodes running in this environment and I'm going to Injust this new one I'm going to say drop this into the Hong Kong node and I actually have a load balance or set up between the two and On each node. There's a health check URL, which will add it in or remove it Depending if a response to the health check or not and so I'm going to do is I'm going to configure this guy One of the neat things is you can actually specify a separate replication network for global clusters And I mean we just acknowledge that that WAN link is going to be an expensive Tube between your two sites and so if you want to do things like Throttle that network differently, then you can just set that different network network right here We're going to manage the drives and what this means is we're just going to format these that format these guys and it will go through the process of Taking each drive that's on that node We'll label it will format it Inventory it so that way when drives float around the data center, which they do when you plug that back in node back Into the system it knows what to do with it Now I'm going to add this node this capacity into the cluster And we actually have two options here one is one is called gradual Edition one's immediate addition and we also have the same concept when you're adding a new Geographic region because one thing is when you when you add a new region into your into your storage system you don't want to instantaneously replicate everything all at the same time and You will just saturate network connections users won't be able to access the storage system So what we do is we throttle that by doing things in an incremental way And we do that both when we add new devices into the cluster and also when we add replicas or add Geographies different regions into the cluster so we can do it in a smooth way So I'm just going to do now Change All right, so now I'm going to enable the node in the cluster and and Deploy changes. It's telling me to do that. I'm adding this node and I'm deploying the config to the cluster and So now what it's doing is it's building a ring and then it's going to push the ring out to all those devices And we wait I can tell you more anyway, so here's where you configure it So we have the regions so I just configured a couple in here So you have the we have our Portland region Hong Kong region We have some middleware that can be configured One of our real popular ones that we have is an an active directory an LDAP integration Oops, this one here and what this does is if you have an LDAP system already set up in your environment It will connect back into that and allow you to instead of having to create a user per On the dedicated on the storage system We just connect into the active directory LDAP system and you don't need to provision any additional user accounts So it's just a it's a nice management tool to have on there And the reason why this takes so long is because we're doing a lot of math. We're actually Building this struct data structure in the ring Which does the data placement because we have this data placement strategy called as unique as possible And what it does is if you have one node and you have a bunch of drives in that node It'll place the data Across each one of those drives if you start adding more nodes like two nodes three nodes four nodes Then it will distribute that the replicas across all of the available all that available capacity You start moving outside of the data center into regions Then or into zones and then into regions It'll also distribute those data across and and that way you get availability for the data And if catastrophe strikes in one of those locations, then you're protected from the failure. So, ah, okay, it finished so I'm going to go Open that web console again, and I have my my data here. Let me go create another one Another container right I got my fresh container and I'm going to upload more data onto my Cluster with more capacity Soon as the load balancer figures out that that new capacity is there It's been configured to pull in that that extra capacity into the environment And now I have a bigger cluster in more regions to put my data in so that's the functionality of global clusters Oh, Mari has another thing so at our booth. We have this we've been working with On a new drive format with you want to go to our booth and check it out It's it's a drive with an ethernet jack on it. It's been produced by seagate and we've written Open stack Swift code to be compatible with this new drive format It is actually an ethernet drive you plug it in Into a switch and it gets an IP address and then you communicate over it with keys and values It's it's it's a just a completely Revolutionary no pun intended way to store a device data into a device So please our booth is right over by the entrance on the on the left-hand side And I'm getting queued here. All right, so then We have a session on This afternoon where we're talking about A software defined storage with open stack and that will be over by the hotel at 340 We will have a book on Software-defined storage with open stack Swift which will be available at our booth after 2 o'clock today. We hope 3 o'clock just to be sure and then Which side? All right, then the case that then we have the workshop on deploying open stack Swift on Thursday at 4 30 where everyone show up with your laptop and we're going to go through the process of Doing the configuration doing the deployment setting things up Failing the environment and we're going to do it in a rapid fire succession We're actually going to set up raw vanilla Swift and go through that and then we're going to go through and set up Swift stack and go through that so we get our hands dirty on a bunch of different stuff On Thursday afternoon at 4 30 again, that'll be right across the street from the hotel Mario is there anything else I should add you've been prompting me and queuing me here This is a phenomenal thing like do come check it out. I'll be here for a few more minutes And happy to answer any questions we have about Swift and Swift stack and there's my new Cluster in the environment Ready to go Thanks for listening. Have a good day