 ac mae'n ddegwyd. Felly mae'n daewch i'r gwybod. Cymru. Felly mae'n cael ei ddweud ar gyfer Caelin. Mae'r gyfioedd Gweithbarn a'r blaen i'r mater, a mae'n gwneud a'r ddweud i'r gwnewch i chi'n fawr. Ac mae'n cael ei ddweud i gwinio vorstellen y Cyngorol. Caelin yn ymgyrchu gwyddeithasol. Felly ei ddiwethaf i gyd ymmddangos. Mae'n cael ei gwybod ar gyfer Caelin. Rwy'n gwein i'r ysgrifennu gyda'r rhaid. argyllwyddiol yn ddod i ddim y ddeudio datblygu. Rwy'n amser i gydigodd yr argyllwyddiol yn ei ddysgu, ac rwy'n eisiau yn y ddod i ddysgu yn y ddysgu'r argyllwyddiol. Oherwydd, mae'n ddod i ddysgu'r argyllwyddiol yn y ddysgu'r argyllwyddiol ar ddod i ddod, rydyn ni'n fawr amd. Rwy'n amser. Rydyn ni'n rhoi'n gweld i Llywodraeth a rydyn ni'n gweld i'r adfau cyfocredigol aws, sy'n gweithio'n gweithio'r CES team, a also yna'r bobl sy'n ei wneud gyfnod i gyfnod gyda'r cyfnod a'r cyfnod a'r cyfnod i'r argo gael gyda'r cyfnod argo cyd. Yn ysgrifennol, mae'n ddigon i'r cyfnod o'r cyflwyno'r cyflwyno. Mae'n tryn o ddysgu'r problemau sydd o gwneud o ddau sy'n ddau i'r cyflwyno arwain yn gweithio, i'r cyflwyno arwain yn gweithio. Mae'n ddau i'r cyflwyno arwain a rydyn ni'n gweithio y cynnig nid i'n mynd i chael i'r panwerthau i'r bwrdd, a ddarparu o'i ndryth i'r dda, mae'n meddwl i'r gwahanol cyntaf 삼looedd yn caelン� Gweithio. Rydyn ni'n ddefnyddio'n dod wedi cael cyfrifiadol o ddulethion o'r ffordd gyfrifiadol. Felly, rydyn ni'n gweithio'r ffordd gyaf EBS ac EFS. Rydyn ni'n gweithio'r ffordd gyfrifiadol, yllys, is that it doesn't allow you to carry out tasks for read, write, and many. However, it is really good for persistent storage, and if you want to use it as a backend solution, as a backend for solutions like Minio, and then EFS, specifically in the AWS context, does give you the read, write, and many capabilities. However, it does restrict you to that particular environment that's something you need to be aware of, and also it can be a little bit tricky to set up, so we want to focus on a simpler solution. So in the same way that Minio is kind of an on-prem self-hosted solution for S3, we're advocating the NFS server provisioner to do the same job that EFS can do. So NFS server provisioner, there's quite a few out there. We use the one that's on the really long link at the top. You know, good luck writing that down. But essentially all it does is it gives you a pod and a storage class, and you reference the storage class, you get your PBC, and magic happens basically, and it can turn an EBS disk, read, write once disk into a rewrite many disk. Even more magic, you can have no disk behind it, and it uses your ephemeral storage on your node. So it allows you to use that spare disk that you're already paying for to handle the transient data loads, basically. There are no demos in this because we're on a lightning talk. The small link at the bottom has loads of stuff that you can go and look at. So you saw Caelan's example of a full CI workflow using buckets, which is wrong. I've got the same thing when she uses disks in exactly the same way. So you can run the two side by side and see how they work in your local environment. Great. So just a quick overview of how you can actually get started with the NFS server provisioner specifically for semi-persistent data. You deploy the Helm chart, which will spin up a pod, as well as the persistent volume claims and a storage class. And then those PBCs would be used to reference the storage class. And the point here obviously is to actually make sure that you have the PBCs and the relevant volumes created beforehand, and then you'd simply mount the volumes in your specific workflow. So a pipe kit, we install NFS server provisioner twice, the way that the condo just said. And then this way, which is exactly the same, but without the disk behind it. So it's then pointing at your ephemeral storage instead. So we use this for the transient data side of things. The workflow just spins up with a volume claim template, creates a PBC on the fly, does workflow stuff, and then just drops it all at the end. So you save. Here's a really quick example just showing the difference in the setup between the two, because it probably looks awful on the giant screen. Again, you can do a diff in the GitHub repo if you want to. So don't worry too much. I just wanted to highlight that it's really easy to flip between the two. So again, don't listen to my boss. Right. So real quick cost comparison over here, and this is just based on the experiments that were run. It may vary depending on how you carry this out. So despite the fact that the particular approach that we're following would definitely work well for performance and at speed, it is not the most cost effective approach. As you can see over here, S3 definitely worked out to be the cheapest one, whereas EBS was actually using EBS as your back end, was actually the most expensive one, and we see EFS fall somewhere in between S3 and EBS. So this part of my talk is not looking great because we've just proved ourselves wrong. So then I started looking at speed. I've written a really simple workflow. Again, it's in the repo. All it does is it creates a 10 gig block of data, stores it in the artifact repository of your choice, then does a second step that runs three steps in parallel to create 10 more gig of data. So overall, we're generating 40 gig of data as fast as possible and just analysing it through. That's all we're doing. It's a really dumb test that hopefully it highlights something. And here were the times. So this slide is why Cailin's wrong. So S3 took seven minutes to handle that 40 gig of data. Most of that was tearing all the stuff up. So, okay, if you actually listen to his talk, then obviously you could just turn the tiring off and the argument might be slightly lower. So seven minutes, S3. NFSR prisoner took 20 seconds to do exactly the same thing. So if you're working at scale, this is a real key thing to be paying attention to, basically. Great, so real quick. First thing to consider with a couple of tips is the amount of storage that you'll actually need. So consider fattening or increasing the storage disks for your particular nodes. Another thing would be to actually consider if you've got a lot of read and write tasks that you're going to be carrying out is to have the data copied from your NFS disk to ephemeral storage beforehand. And then, like Tim has already pointed out, we're installing the NFS server provisioner twice. The first time is for the EBS backend for semi-persistent data. And then the second time is for ephemeral node disks for transient data. This is a screenshot of our actual CI outpocket. The content doesn't really matter too much, but you can see there's a lot of parallel stuff that we do. So we're doing container image builds. We're doing binaries from Go. We're doing Go tests. And all that happens in just over three minutes for us. So before we used all the nice disk magic behind it, it was taking about 15, 20 minutes. So that's a real-world example of how you can save your time. Yeah, and just to wrap up again, Cailin covered the three different artifact categories for persistent data, semi-persistent data, and transient data. So for persistent data approach, we definitely recommend that you follow the route that he was demonstrating with a bucket-based approach. Whereas for persistent data, for semi-persistent data and transient data, we'd recommend following this approach with the NFS server provisioner. Cheers.