Devreal

Scale By The Bay 2021 : Annie Talvasto, Top new CNCF projects to look out for

Scale By The Bay 2021 : Annie Talvasto, Top new CNCF projects to look out for

Recording: Scale By The Bay 2021 : Annie Talvasto, Top new CNCF projects to look out for

so top new cncf projects to look out for is the topic for today very excited to be talking about this to you cloud native tech as well as kubernetes is super close to my heart so very nice to be here talking to you about this so i like to start every one of my sessions with a little bit of kind of what value do you get by attending this talk um essentially as well as okay what are the learning goals for this session as well so there's two goals or two kind of value that i hope that people get out of this talk obviously you can get other things as well but these are the main ones in my opinion is to get inspired and to get to know cool cnc of projects so um this session is not a deep dive into any of the projects or any open source purchase per se it's more of a gonna introduce you to multiple different cncf projects that you can then then do a deep dive on to yourself when you have the time and you can follow the step up step by step guides and everything but today my aim is to introduce really cool projects in a very short amount of time um so i hope we're gonna meet that goal as well so really nice introduction in the beginning as well but just then briefly again uh who am i and why am i speaking about these kind of topics here well um i am as mentioned a product marketing manager at cast ai which is a kubernetes cost optimization company but i am also a cncf ambassador as well as an azure mvp which means that i do quite a lot of talking and it's my passion to talk about these cloud native topics so i'm super happy to do it i've also been organizing the kubernetes and cncf meetup i'm from finland for over four years now i'm a startup coach i coach early stage startups as well as i host and produce the cloud gossip podcast as well so very much kubernetes cloud native tech all of these are very close to my heart in general um then i think if people are now wondering what is cncf what is cloud native computing foundation um well i'm here to answer that question so um cncf mission is to build of sustainable ecosystems for cloud native software so cncf is part of the linux foundation and it hosts critical components to the global technology infrastructure as well as organizes large open source events like kubecon for example and it's the home to kubernetes prometheus a lot of these cool interesting things and actually home to a lot of other projects as well which are a lot less known uh hence why i am here today introducing to a few to a few of them as well um but then i think the impact of cloud-native technologies containers kubernetes and these kind of things is relatively widely known um everyone has kind of seen the impact around the tech world but i think i think it stands to reason to mention these things and just as a kind of recap so these uh sense of data on that data per se but like stats are from cncf 2020 survey which is the most recent one that's been published which is a survey that cncf does every year that looks into the adoption of cloud native tech around the world how are people using it what are the pain points what they're experiencing and what's the adoption level at that moment and the use of containers in production has increased to 92 percent up from 84 from last year during the survey and up 300 from the first survey in 2016 and kubernetes used in production has increased to 83 up from 78 last year so it's definitely a big household name and um it's here to stay as well it seems so cloud native tech landscape is big and then you might be wondering how does the landscape then look like what is the cscf world what does dissolve this look like well this is how the cloud native landscape look like and it is quite a lot uh if you're seeing it for the first time it's way too much info if you're even if you're seeing it for the x amount of time it is quite a lot of info in this short uh space um but no worries um just understanding this thing it's gonna take days one could talk about this for days weeks and whatnot the whole thing so we're gonna take a bit of a simplified view today so no need to worry about all the little mini details in this very scary looking graphic so for a bit of a more simplified look um there are three stages to all uh cncf projects so there's the sandbox face there's the intubating phase and there's the curadurated space so if an open source project joins the cncf so it becomes a cncf supported um open source project they start usually in the sandbox phase which is you know they are early on they're not there's not too many maintainers yet contributors and whatnot but when they mature and they get more and more of everything essentially more maintainers more contributions more features they move on to the incubating phase and from there they move on to the graduated phase as they mature even more and just to give you an idea sandbox face has around 50 40-ish projects within it incubating phase has around 20-30 and the graduated phase 15 16 17-ish um the space is moving constantly projects are moving forward quite a lot quite often uh which means that it's really nice because the the industry is maturing as well another view into this um would be that you know you see here in the sandbox phase if innovators techies are adopting the tech and then you move on to the incubating phase where the early adopters the visionaries are adopting it and then you move on to the graduated phase where the late majority or um you know conservatives are adopting the check as well and i think a good example of how um the the space is moving as well is the fact that a few years ago when i started talking about these things um there was only one or two projects in the graduated phase so there's constant kind of movement within the projects there and then uh moving on to the project in this session as well as a bit of expectation management so this session uh and the projects within it um i would love to know the future exactly like it would be amazing if i knew uh exactly what's going to happen i do not know nor am i a fortune teller so i cannot predict exactly what will be the top new ones per se but the selection that i've used here is um projects that i'm excited about and what people around me are excited about and projects that are really garnering a lot of attention as well as good communities around the projects because i think particularly for open source projects to be really truly successful having all of those components in is very crucial so that's why it's kind of the method that i've used here to select this project here as an expectation management usually cncf does intro to project talks are around 30 to 45 minutes in length and this is a shorter talk covering many much more projects than one so as i said before not a deep dive into any of these more of uh you know brief look into a lot of different projects um i will be covering linkedin cada flax scooter and measure today so i update the the session frequently as well so if you've seen the session before this might be new ones i will update it for the next sessions that i do it the next time as well and these are all different levels so liberty is graduated cada fox our incubating project and kudo and measure our sandbox projects so there's a bit of everything or something for everyone so even if you are you know you need something that's very late states very production ready you can go ahead with some of the tips that i give you or if you are more in an experimental phase you can get started with some of the sandbox projects that i'm talking about here today but let's dive right into it so linker d um is the topic for now the first project that i will be talking about so it is the first service mess actually and um it's a service message mentioned before so it's ultralight ultra fast uh and security for service message for kubernetes and the overall goal of linkedin is to really reduce the mental overhead of having a service mesh to begin with um it's a very community-minded project a really great community there um and it's a really good project as mentioned before it is graduated project very recently though a couple months ago or so um and what does linkedin or service mesh do it provides observability so it provides those service level important metrics such as success rates rate latencies um as far as in addition to that it provides reliability so retries timeouts and everything as well as security as well so then what are the the benefits of linkerdies and carna so or or what is it how is it built so there it is as mentioned they have a very thriving open source community that's very very welcoming it has a simple and minimized design so no complex apis or configuration so for most applications linkerd would just kind of work out of the box that's that's the design here and it has deep runtime diagnostics so you can get a comprehensive suit of diagnostic tools including automatic service dependency maps and live traffic samples as well and you can also it's ultralight and ultra fast so it's built in rust and the data lane proxies are small and very fast and it installs in seconds with zero configuration um and it also has actionable service metrics so as mentioned you know it has those we can monitor call the metrics such as success rate request volume and latency and so forth um so what are the principles then um it's just kind of as mentioned it just kind of works that's the main goal here it's ultralight and ultra simple so as mentioned it's kind of the bare minimum of service mesh um in a way but it's that's why it's also super light and simple and easy to use um it's security first so it's not a default or an extra uh it's not it's a default not an extra lingerie has its own proxy it's not using envoy which is another cncr project but it's using linger d2 proxy but this makes the foundation more secure and then kind of custom as well so comparing to for example istio it has a heavy focus on kubernetes as well as just you know being the bare minimum but then just being very simple and easy and light to use um yeah and then how do you use link rd how does it work you just inject this and that's it so when i mentioned easy and simple and light it really is so that's that's very nice then now that we've got their covered one project we're going to hop right on to the next one i said this is going to be very fast so here we are we are now going to talk about cada which is kubernetes event german auto scaling so if you're wondering what is cada um so what the problem the cater is solving is so kubernetes um default community scaling is not really well suited for event driven applications and kubernetes is more for resource-based scaling so cpu and memory and so forth um but at the same time you do need that uh you know even driven auto scaling at some point as well and it's really great so this is where keta comes in so cada is imaginary scale scale controlling that can run inside any kubernetes cluster um and then also what this means that it can monitor the rate of the events to preemptively act before the cpu is affected so this is where the kind of magic is as well and you can install it to new and existing clusters it's extensible and pluggable scalers to wrap metrics from multiple sources as well which is super nice um so the cater principles are essentially not to rebuild anything that kubernetes offers out of the box so it's different from the uh keyboard in this auto scaler um and it's single purpose simple non-interest even works with any container and any workload and today i'm going to be doing a quick data demo which is scaling.net core worker with azure service bus and you can here see the architecture of this very simple but you can kind of imagine that that very abstract architecture here it's essentially just a web shop so for example halloween is coming up people are going to be ordering a lot of halloween masks so you need if your website is running a web shop you might have a bunch of orders at the same time and you need to manage all of those orders and get them or processed so it's as you can see here there's an order processor there's orders to you and whatnot so it's a fast and and really cool nice demo in my opinion at least so let's get to it we're gonna open up oh now terminals here so we're gonna go and get my notes because i will make gazillion typos if i were to not use notes it would be absolute horror show um so then we're going to do keep see tailgate services um name spacecave.net sample to here um and this is where we get this there we go that's better so in here we get the external ip that i've already actually inputted to here you see on the right again so in here you see the order portal so you see the order queue length you see the number of messages the order queue so when we're gonna start getting all of the halloween masks orders coming up and one bunch we will then see the orders spiking here and then to get a bit more visibility because we want to actually know what's happening the demo is very fast so we want to have full visibility while we're doing it so we're gonna do the skip ctl get deployments here so you can there we can see okay how many order processors we have ready to process all of the orders and then to get a bit of a look into what's happening in the history here we're going to do keepsake get thoughts in space kate up to here so there we see that um well 14 days ago i've done this demo on and whatnot but then we're going to see here when the order processors are being created and all this stuff is happening so um if we do then here dotnet run project coupon demo because i did this in cubecon as well um then we're gonna see let's queue some orders how many do you want so this is this situation where all of the orders are gonna come in bunch so a lot of people want halloween masks out of the sun and we need to have a solution that's scaling up and down when we needed to so we have 100 charter skewing coming up we see a lot of them happening uh it's a bit too maybe zoomed in but we see that you know there's a chicken hat uh pants all of these orders are coming in and then we see here the orders are spiking they are going up and then we see here that how many processors we have already not that many yet but in here we see that it's pending it's starting container creating as well so we are getting there and now it's container creating quite a lot so we can now see four out of four order processors ready uh this isn't anymore creating the orders but this is going with this one to keep that 100 but then it's now going actually down because we are doing a wonderful job of managing all of those orders that we're coming in superfast and now after we're done creating now it's just running to to process the orders and we are at eight out of eight in this side so now as the orders are going down we're still running and we're still managing these things okay is still making sure that we can get through this orders but then eventually um after all of this has finished then the peak has gone kata will start terminating all of the the order processors so then we get to the part where actually it's down scaling all of these things so why is this super important and wonderful well it's because for example if you are managing cost within your clusters um in this situation if you are you know peaking when it's meeting or scaling up and down you are not wasting any resources so you are um actually doing very well as far as cost management goes as well as natural resources so you're cutting down on cloud waste so you're being environmentally friendly as well which is i think always a bonus as good as well so that's how it works um it's gonna take about five minutes for it to start terminating so we're not gonna wait until then um if we have the time we might check up on it later but let's continue with that presentation while while keita is working on terminating um all of order processors so then uh moving on to the next one the next project so that's fox which is the git ops family of projects so what is fox and what is git ops if someone's wondering right now so it is one of the most mature developing technologies in the cloud native ecosystem so according to the cncf technology radar which is a great resource for finding out what kind of text should you be utilizing in this space as well and then the project has a lot of good end users and it really goes to the question of what is kitops so you have all of these commands so cli tools keep ctl apply keeps your tail set image helm upgrade keeps detail upgrade you can actually replace all of these with one cli tool which is git push so it's really good because um well it is very widely used and widely known and then instead of changing the state of your cluster with multiple things you can use one command to modify something and push it to the gate with facility and therefore it ends up in the cluster as well so this can be anything from namespace and so forth so another reason why you might be want to use this is that if you have used git you have a nice history of what has happened to the cluster as well and git ops really provides one model for making infrastructure apps and kubernetes add-on changes and you have consistent end-to-end workflow across your entire organization as well so what this really means in a nutshell is that you have an easy snapshot of your cluster that you can restore to so if anything happens so if you lose your cluster you just plug your new cluster to clocks and you restore everything so now no stable sets for databases and so forth obviously but everything that was in the kubernetes memory essentially will be stored so you have a desired state that's saved in kit and not the actual thing but the desired state so you kind of go back to that save point in a way so why is flux then great for github so plexus has an aim to be to provide a complete continuous delivery platform on top of kubernetes and um supporting all the common practices and tooling for example customized health metrics and from youtube's and so forth and as i said it is recommended by the cscf technology radar as well um yeah so what are the practices and benefits continued it helps you describe your system decoratively it can keep configuration under source control and use software agents to reconcile and ensure correctness as well an alert for drift um so the benefits there are then collaboration on infra access control auditable history drift correction and their boundaries between dev team and juveniles popping on to the next project second to last so no worries we've gone through a lot already but we are nearing the end um so as fox and keita are incubating projects um then kudo is a japanese universal declarative operator which is a sandbox project so it's very early on project and cuda really goes into this stateless versus stateful app um so if all apps were stateless everything would be really simple in the kubernetes world but not all apps are so stateful ad needs logic specific knowledge to run a certain application so kafka might differ from cassandra and so forth and kubernetes has been very focused on stateless and stateful apps do not really play together with it um all the time so nicely so for this the solution was staple sets but it doesn't really solve the fundamental issue there so operators were introduced as a new solution so operators are really great but they are they they manage and monitor the life cycle but it takes a lot of custom knowledge to build one so you need extension um like a lot of um deep expertise you need thousands of lines of code so substantial engineering resources really needed to do them which means that it's not really an option for a lot of people so this is where cuda the kubernetes universal decorative operator comes in so rather than using a custom operator and using operator framework or cube builder to build it cuda provides a universal operator with the concept of the plans built in so the benefits then are that you can create operators without needing deep knowledge of kubernetes or coding by just defining the lifestyle stages and just use kubernetes apis it's a lot easier to learn and it has kubernetes native management aka you can use cubectl to manage it as well which is really great then do the last project that we're going to cover very fast it's a sandbox project as well so it's early on so it's the service mess management plane so we talked about linker d in the beginning we talked about what is a service mesh so then uh now we get to like if you end up in a situation where you have a bunch of service meshes that you have to manage because if you have a for let's say legacy reasons personal preference of team members you have to have multiple service meshes like you have istio or linkerdy and whatnot working in the same cluster it might not work as well as you would want so then when a normal service messes control plane and data plane then measure introduces management plane to the service mesh management um yeah so then it really provides federation integrates with back-end systems and may help perform chaos engineering deeper insight into the performance and honestly a long list of things to do so honestly uh at the same time even though measure is actually a very new sandbox project it entered the cncf just few months ago um one or two months even um it's actually very doing very well so it has already 15 maintainers over 300 contributors and it's the most popular project the linux foundation mentorship program um and then measure also supports over 10 different service meshes it has multi mesh management life cycle workflow performance configuration patterns and practices chaos and filters and it's not uh fully it's not at the complete architectural level so it's about halfway to complete to version one so still very early on now that we have done a few projects run through them i know this session is very intensive at the same time but i hope that everyone can get a few projects that they can then do a deeper dive into themselves so we have gone through a cncf overview we have gone through linker d kudo flux cada and measuring as well i always love to give a lot of learn more resources so you can check out the cntf survey you can check out all the project sites for more info on them they usually have step by step get getting started guides you can support your favorite project in github always recommending that always if you want to learn more about the business side you can check out cncf case studies for example the babylon and the elf check one have these projects that are mentioned today included in the case studies you want to learn how people are using them in production and then i mentioned the cncf end-user technology radar and if you want to dive deeper into what will the future of cloud native landscape look like um the technical oversight committee chair liz rice usually does a cubecon session called predictions from the technical oversight committee always wonderful to learn more about this and if you want to more beginner resources tech role with nana has a lot of good ones um in youtube and then cncf youtube has usually a deep dive into all of these project sessions like kind of 45 minutes 30 minute session into all of these projects so i highly recommend checking them out if this was too many links to memorize or take pictures or take notes in one go i totally understand hence why i always add the link and slides to my github so you can find them from there if you want to listen learn more about open source project management you can check out the podcast that i did with tomkerkov the maintainer of keda he went very candidly into how does he feel what does it mean to be an open source project maintainer with cncf very interesting stuff i was very happy to talk with him on these and then last but definitely not the least i hope that one thing that everyone can take away is that everyone gets a bit of inspiration um and to as mentioned in my description either to be the coolest kid in the blog and knowing the coolest and the greatest new projects or actually getting something to use in your next tech project i'm always happy to answer any questions in twitter or linkedin as well so happy to see people reaching out there as well but thanks you