My name is Luca Bruno the topic of today is unsurprisingly whatever is on the schedule, which is Fedora chorus and specifically the auto-updating part our focus today is more or less giving an overview of What it means doing auto updates from the point of view of Fedora chorus? what it means for an operator sees at me necessary to manage these kind of like auto-updating operating system and and how do we Integrate all this discussion into an observability larger topic, which is how do we monitor? How do we alert when something goes wrong and things like that? That's more or less just to set the scope of today My name is Luca not nothing special I'm an open source and an operate operating system. So that's why it's working fine Engineer I'm mostly developer.  I prefer and I usually work on the Rust and go I've been doing free software since many many years But it's strongly believe in it. I support it. That's also why I'm working at chorus. I'm sorry. I tried that Before that I used to work at chorus chorus the company Then read out as most of you knows acquired chorus. I'm still here I used to work from Berlin or chorus and a very small office We still have an office in Berlin. It's just that it's called I read that office now a day Before doing these I was into the security field and specifically was in academia research There was an engineer's less researcher doing security mostly reverse engineering and More than baseband firmers. That's more less the background about me More interestingly Today, we're going to cover a lot of stuff. There is like a lot of contents in here I don't I don't pretend to explain you every single details But just gives more or less like an overview and then zoom in some specific fields The first one is for those of you that don't know what is fedora chorus an overview of this especially on the Out of the things which is more or less a novelty or something that in a bit different way compared to the rest of Fedora spins And then we're going to cover like components that are part of these out updating stack Which is the server side the protocol since you know T the client side Zincati and some other helpers that are like I'll look the first one local supporter a second one that we're going to describe later And then finally there is a demo where I'm a bit cheating because I'm not gonna do it live here this morning But it's recorded and it's on YouTube already. So we're just gonna go through that So we're gonna just zoom into that action and then see it all together in the end So first How many of you know what is chorus as a company a Good bunch. I mean of you knows what is chorus as an old operating system base on gen 2 and chromium a Few I mean of you knows radar chorus a few more and I mean of you know fedora chorus That's a good bunch. I mean of you thinks that like naming things in computing is hard I would have expected more and So here we're gonna like try to clear a bit of confusion when I say chorus I usually put something in front of it and here and trying to always say Fedora chorus if I omit that it's still Fedora chorus our goals with Fedora chorus basically was to Bring some of the idea and some of the techniques that we were doing on the previous operating system called Container Linux by chorus and before that it was called just chorus Into the Fedora world one of the main feature one of the main idea that which is basically what I was working on is Having an operating system which is model after a continuous out update flows. That means that You as an administrator, you don't have to care about going into every single machine and scheduling updates doing yummy store Appete install or whatever but the operating system is taking care of that for you and one step farther from that is We do this kind of continuous updates by using a model where the packages are not anymore like the main focus of what we do But the main focus is we provide an OS image, which can be atomically updating and rollback In container Linux, we were doing it at the file system level. So we were shipping a full OS image In Fedora chorus, we are doing it at the OS tree level Which means that every operating system release that we make it's a new OS tree commit and we use our PMO history To update and switch between different commits that could be available on a single node That's That's the basic of your operating system from the point of view of how we as in like distribution engineers and release engineers We push out updates that is something more that we want to provide which is Fasero phase rollout concept on top of multiple streams Which means that we provide you several streams that are going a different basis like some are released more often Some are it is with a bit lower frequency and you decide which one is the best suited for you based on like how much stability Do I need how much new packages do I need and so on and so far? And from our side, I'm gonna describe phase rollout later But let's say that it's just another way of not pushing updates for everybody at the same time But doing it in a controlled way From the point of view of a cluster of machine that are all trying to out update We want to put a bit of like Order let's say in this mess In particular, we try to not reboot the whole cluster at the same time So that if there is a service running on top of it is going to be disrupted But we try to do it like with some kind of like locking mechanism so that updates are going through Slowly one after the other And then okay the end of all of these is like I want this process to be as reliable as possible But we are human and we make mistake So there is always one phase where we are checking what is going on and we monitor and we are alerted if something is bad Then we can react to that and On top of this like all the components that we're going to describe So we try they are mostly like new software based on like ideas that we already had before and we already Try to implement before Something that we want to push for is like making the whole Linux ecosystem The whole chorus ecosystem a bit safer from the point of view mostly of like memory safety And so we basically opt-in for like languages that are New world and like the old income rate like C C++ So most of the software that they're gonna show you are either written in go or in Rust I Thought it was a good idea to describe a bit more like what our face rolled out because They're not a new concept like in many fields like in the networking fields You have that for like out updating network devices in the like embedded war You have the same for like Android devices and so on and so far In the Linux world, that's not so common. So distribution usually don't work this way So I'm gonna describe them here a bit like quickly, but hopefully clearly The main idea behind these is There is one point where we as developers we declared that okay We just tagged a new Fedora chorus release and that happens as a specific point in time And you cannot like split that over Multiple events or whatever. So that one is an atomic point We do that and by doing that we just publish to the public web some artifacts They could be like AWS images or oyster Repositories or some other like Q emu Q cow images or whatever Those are automatically like available if you actually know where they are and you if you want to grab them But the point is we don't want every single machine that is already Installed somewhere in the world to see that there is now there is a new Release that is available and they're gonna download it all at the same time Which result basically in dosing all the servers that are on the network providing that image and also all the machine Trying to update at the same time That is like mildly annoying But the real problem is if there is actually a bug inside the release that we just made Then all the machine are gonna be it by the same bug at the same time So what we do with phase rollout instead is we publish these artifacts But then we don't announce them on the out update channel We do it gradually we define a time a T zero where the updates are gonna be Starting to be available on the update channel and then we define like what is the whole rollout window for for this stuff And over this time we gradually go from a zero percentage to one hundred percentage of nodes that are receiving these updates This is done from our side from the publisher point of view Which means that if you want to do it a bit more aggressively We can say I want to be closer to the like zero percent sides of the nodes Or if you want to do it like a bit more safely Let's say or if you are more caution you can say I want to wait for most of the machine around the world to be Already eaten by these updates so that I see that there are no bugs no like red flags that are raised so far And at that point I also want my machine to update and reboot That basically serve us very well in doing this kind of we Reach all the nodes without updates, but we do it like in a gradual way and we can also like pose this process So if we see that something is going wrong because the first machine that we out update are ours If they have some bugs or something we can actually stop this process and say okay This is this is actually broken. We don't push it further. We do a bug fixer Whatever we push the next one and then we roll out the next one And that's how we do phase roll out pretty much Another things that I want to introduce because again It's kind of like not a new concept in general, but not part of the usual Linux distribution flow Is making sure that administrator are able to observe what's going on across the cluster from a single point of view Like every single concept in what I just said it's important. It's a key point We want to provide a good flow for people to observe what's going on So they don't have to guess like my machine is rebooting now Is it rebooting because there is a kernel bug is it rebooting because there was a power outage Is it rebooting because there are out updates? You want to know about this stuff When the machine is rebooting is it because there is a new update that has been applied or not Is that been really applied or do we just like rebooted into the old? os3 commit All this kind of answer like you can get them by I don't know SSHing into a machine or collecting logs into a central Kibana or whatever you use for like Going through logs, but that's a manual process It requires a lot of like going through the stuff and searching for information that you find interesting for answering your question Another approach to these is instead of using like interactive methods and logs and grabbing through stuff We can instead opt in in another way of doing monitoring observability, which is exposing metrics at multiple levels from multiple contexts And then aggregating them some way And is some way for me personally and for most of the read that at this time Let's say means this tech of technology, which is Prometheus, which is something that gathers all these metrics in a central point Then Thanos, which is a bit of a new component, which is for history tracking over a long time the alert manager which is sitting on top of from it is for Reacting to certain condition like if those machine are all updating they are rebooting but they're not applying updates Or they are not coming back after the reboot. I want to get a non left So I don't have to proactively check for stuff I just get page whenever something is wrong and then finally what I'm showing here Which is some way of doing like cool and simple visualization to see at a glance what's going on That's Grafana sitting on top of Prometheus and that's more or less my goal. Let's say Making these all the components here easy to be monitored this way So let's focus into the technology What we're gonna talk today are basically these green boxes here the whole stock infrastructure is a bit like larger There are a few more components that are Very cool and also very complex and they can be like cover by separate topics The one that I care about is the top one Which is the server side the back ends and the protocol which is called Cincinnati and then the lower part which is What is usually running on your own Fredora corrects machine and in particular We're gonna zoom on like every single machine running one agent called Zincati and then the cluster providing some cluster service for update Management, which is our lock plus the monitoring part So let's start One thing here Does everybody know what is a DAG or a direct a single graph? No, no things actually So what we what we are gonna do here and what we what's the main idea behind this protocol in this service is Instead of just Making releases and then letting people guess what he is like from which release you can go to which other release and when can you update And so on and so far we're gonna encode this information explicitly into a graph a DAG is a specific Kind of graph which is a direct acyclic graph The two adjective years means that we start from a graph Which means like a few nodes and a few edge connecting them and then every edge is a narrow Which points in a in a direction so it is a directed graph And it is acyclic in the sense that there are no cycles in this graph You cannot you can start from some point and you start working it at some point You will stop working as you have explored all the whole graph You can never like come back to a point that you already visited and start and keep working around That means that like if you start from any point in these Graph of updates, which is where you are currently you will reach the final end Which is what you want to upgrade to and that's what you're gonna do and that's the whole idea of the protocol The protocol itself is something that open-shift architects Invented or come with the idea of and we are just reusing it for fedora chorus as well the server is Some simple containerize Web service, which is running on Fedora infrastructure It is providing this JSON based protocol which described a graph of dates And it is used for in thing about updates Which means clients can query this service to see hey Is there any update that you are recommending me to do and then they are free to either apply it right now? Or just take this information and keep it for somewhere else for some other action Or for any kind of like data tracking or visualization or whatever What the server does on its own is scraping the fedora chorus metadata That is what we publish when we do releases and then building a graph out of all these metadata One graph per stream as I said before like there are multiple stream going at different paces with different frequencies and they results in different update graph Then this graph is served to clients that are requesting for it And there are some specific mutation that we can do on this graph In order to make our life as distribution developer a bit easier and better Specifically when we make mistake or when we are not sure about some details and there are three concepts that I'm gonna explain in the follow-up slides Which are update barriers That ends and the phase rollout that I described before going a bit more into the details apply to this case So the first one is update barriers in the general case We have this graph without cycles with arrows that are directed in some direction And we can go from any point to any other point and there could be multiple path for updating from version 8 to version C Going through version B not going through version B going through some other version and then coming back to version C and so on and so far all these case they incur a lot of like Not complex it but there are many cases that you can that you can Decide to pick and there are actually machines that at different times that we go through these update graph From time to time what we need is okay from this point on we want to rely on some feature that has been introduced In the operating system, let's say C group V2 or some other kind of partitioning for a system support or things like that In the general case, it's very hard to say okay We are coming from a release that didn't have this feature and now we are great into another release that relies on this feature So we can we can easily break stuff if we don't take care of all this complexity Which for humans is kind of like a lot of context to keep in our brain So what we can introduce at the graph level is some choke points, which means If we are before this release and we want to update We are first to reach this intermediate release and if we are after this update It means that all the machines have already gone through this update which is introducing some features so we can safely use it In this case as an example We have this v0 v1 v2 v3 until v5 and in general we can go directly from let's say v0 to v5 If you actually need something that has been introduced in v3, we can say okay v3 now It's a barrier which means that if you are before you see all the edges are Able to reach v3, but if you are after v3 it means that you have gone Through v3 there is no way out of that either you install directly at v4 or you went through v3 And so we can say okay I know that when I am at v4 it means that I've gone through this edge or if I am at v5 I've gone through these two edges or this other edge But in any case I've already been through v3 or I started from a later point And that's what we base what we use for enforcing that some all the nodes have some specific feature that we need Then there are the dense The dense are things that we would like not to have but again as human we make mistakes So from time to time we end up in a situation where okay This machine is broken because we push something that is broken And we cannot update further out of these because I don't know RPMS3 is broken or the kernel is broken or something else is broken So a machine that is ending up at v4 It will try forever and ever to out update and it will never receive an update because there is no way to get out of that Which is bad already But what is especially bad is that the machine itself has no way of knowing that it can out of the date further because In the in the usual case let's say that this machine is at v5 already at some point in the future There could be a v6 so he's going to receive the update for v6 So we need some way to signal to every machine that it is at v4 a Your operating system is in some state that is working for you But it's not able to out update further and you need to take some manual intervention And that's what we do with with the dead ends We have the protocol itself the graph that is signaling to the machine a you cannot progress farther from here And the machine itself will raise some kind of flag through a server ability methods For the administrator to actually take some action And the last one is phased rollout in a bit more like technical and context specific way Which is some interesting property is we start from this graph We build it from the metadata and then we do mutation mutation could be like generic like barriers or Dead ends but it can also be specific to specific nodes and they can also vary over time specifically for the phased rollout case If we are a t0 Some nodes may be able to see that there is an edge for example if they are more aggressive in their update strategy or some other nodes They will not see this edge because they decided not to be so aggressive However over time the same exact situation So the same nodes with the same configuration that we start seeing both of them They will start seeing the edge because the phased rollout has progressed so This graph of the days that we are pushing to clients. It's something that is not set in stone It will change over time and it's also a different graph. I mean The set of information the base for the graph is the same for everybody But the resulting graph depends on each specific node identity and setting Okay, and the last part about Cincinnati and the release process is that We have been doing more or less the same stuff with container Linux one of the main differences that Container looks used to have a proprietary part for this backend because it was actually a service that we were selling to customer And all of these was based on the traditional Let's say web administration flow, which is you have a database you have a web application We have people that are going through the web panel and they are gonna set. Okay. Now. We are Publishing these release we are publishing it over a phased rollout. We take two days and things like that Which means that all this process was very opaque and it was Completely contained within a database that has that was private on our infrastructure So it was kind of like hard to audit on the first in the first place It was a bit hard to observe from the outside What was going on because if you're not actually the admin that is clicking through Buttons, then you don't know what is the state you need to communicate with the rest of your team So we switch to something which is a bit less eye-catching like it doesn't have fancy buttons and stuff But it's a bit more devos friendly, which means now we do the same things That is deciding when to make a release how to how to push it to to hold the notes Based on a github flow. We open tickets. We open pull requests. We do reviews We go through a checklist and we basically do exactly what I just described Posing resuming update bar and so and so on and so far But in a way which is easier to track via gith via reviews and so on and so far Which make it like fully public like if you want to follow how we are doing fedora koro s release We just watch the repository for tickets and for a quest And it's also easy to audit like you just go back in the githi story You see exactly who did what at what time and why? And there is no sprawling a private database like before if you wanted to set up your own infrastructure You had to basically ask us as a company to provide you access to our database so that you could sink it in your internal Infrastructure or what is actually what was actually happening. We were selling it as a service for customer And now like everything it's it's it's open source It's free and you can just basically follow our process and set up your infrastructure using our date And the result is basically this one which is On github we have a list of releases that we plan to do a list of releases that you need in the past And every single ticket as is on poor request where we go through all the steps in order and we push a release And that's basically how we do release engineering nowadays again like it's not very eye-catching Doesn't have any fancy panel to show But it's kind of like very easy to follow at every single step what's going on and it also allows for our thing Which is distributed over multiple times on multiple continents like I'm in Europe most of my colleagues in the US But we can do this all over the world because there is a single coordination point, which is explicit Which is this it base? Okay So far more or less I covered all the distribution side Let's let's let's say how do we publish release? How do we run our services? How they work? What is the theory behind all of this? So we're gonna zoom a bit more into? What are your fedora chorus machine doing the first company that I show is the client side logic Which is basically queering our service getting this graph and then doing something This company is called zincati. It's an update engine. It's an update agent We used to have more or less the same for container Linux We just had to rewrite it in order to work with our PMO s3 and Fedora chorus processes But the idea is exactly the same. It is a long-running service. It's running on every single host It's written in rust It is an architecture based on a few actors There is one actor that is continuously updating ease view of the graph Then there are some actor that are taking some decision about like when do I want to update? When am I allowed to reboot and so on and so far and then there are some other actor that are actually Talking to our PMS tree to see what is the status on this specific node? They are asking our PMS tree to fetch new updates and then they are asking our PMS tree to Finalize and reboots. That's exactly what it says here The design of this component against nothing new is just a bit more like influenced by newer technology Specifically I zoomed on a few things here Which is configuration is done in a way, which is very similar to system D It takes multiple droppings from multiple directories and then emerge all of them together The configuration format is nothing that we invented is just like tommor files Which are easy for both human to write and for other tools to produce Transpiling from some other some other source And then again this component itself it's long-running and it has some internal state which is exposed as Prometheus matrix As I said, it's an evolution of two components that we used to have before in container Linux One is called update engine and the other one is called locksmith and Traditionally the first one was written in C++ It was like a huge complex beast of C++ and the second one was a Golang binary running on the host What is interesting from my point of view regarding this piece of software is that Before we didn't have any way to observe what was going What was going on inside the components that were taking care of auto updates So it was more or less a black box and we had to guess. How was the the node reacting to an update? While right now we are exposing some metrics We are exposing these metrics in a local way that is on every single node You can check what's what's what is going on by creating a unix domain socket And given that this software is architected as a few actors and the state machine that is striking all of these We are actually exposing the progress of the state machine via metrics so you can say You can actually query these service and asking and asking are you actually progressing your state machine? Are you checking for updates on a continuous base? Are you getting errors from I don't know from our backend? Are you getting errors from your local LAPM mystery or what's going on without having to check the logs for this service? So the service itself is very quiet. Let's say it's not chatting on its log is not Spot is not putting noise in your logs. It's just like Most of this information you get them from the metrics And if there are actually hard failures or errors then you get them in the logs for retrieving all the information And then another interesting thing that I'm gonna show you later is Given the process of language, which is like static and strongly types We can encapsulate all the errors in an exhaustive way, which means if some error is happening internally I also know Specifically which kind of error I'm seeing again an HD PR or a local error some kind of like parsing or whatever And we can expose these in metrics. So the metrics are a bit more useful than This service is seeing error the metrics are actually telling me this metric is seeing Sorry, this service is seeing errors of these kinds and is seeing so many errors over this amount of time This is a bit like I'm waving so far. I know I'm gonna show you later in the in the demo what it actually means The next component is another piece That Can I describe it It's some logic that used to as X exist inside locksmith and then we decided to kind of like split it off To another component in order to the couple a bit what the single node is taking care of versus what the whole cluster is responsible of managing So the the main problem is again, let's assume that you have a cluster of three nodes But it could be like a cluster of 100 nodes or whatever Well, at least more than one or two machines and you have some service Which is running on this cluster and the service needs to be highly available. Let's say 99.9 at least Then you have a problem you want both the service to be available and you want the machine to out updates in order to cover like Security issues get new kernels new stuff So you need to manage somehow How can I update one node because I have a cluster? So any node can be down while the rest of the cluster is still up and the service is running But doing it in a coordinated way so that the service which is on top of the node is not going down because at least a few nodes are Still up and this is exactly what our luck is providing It's it's a fleet-wide reboot manager Which means that he knows about all the nodes that are in your cluster and it's keeping track of Reboot status by some kind of like locking mechanism, and it is coordinating which node can reboot at what time Specifically the Design the idea behind this is that you have a semaphore Everybody knows what is a semaphore? Yeah, not really So a semaphore is it's a primitive in computer science, which means you have some state somewhere and you have multiple Agents that are interested in observing the state or mutating the state so you enforce some kind of like precedence and order between all these consumer so that at most one or they could be more At a time can access and mutate the state and this is exactly what we need for the reboots We want some machine to be able to reboot but not all of them at the same time And we want to kind of like enforce the fact that one machine is rebooting Which means it takes a lock it goes down it applies updates It comes back and then it is reporting back a I did my reboot so I can unlock my slot It is exactly what this very Creepy and small sentence say which is it's accounting semaphore Which means it's a semaphore that keep tracks of how many people or many agent are locking and unlocking There is a max of slots that we can have in there and the support recursive locking Which means that a machine if a machine is trying to reboot and then something goes wrong and then it tries to reboot again It it already has a lock. It doesn't need to take another one And that's exactly what it does This service again It used to be part of the locksmith logic itself Which means that every single node was doing this with some help from a remote database and we kind of like split it off So that now we have Service which is containerized. It's a go service. It's a very simple one It is just acting as a middleman between a database in our case at CD3 and every single node Which means that in our case we implemented this as a go service talking to a CD But you can definitely write something else like a Ruby service which is running in a container Which is talking to a postgre because that's what you know and what you already have And this this component as well is exposing metrics in the primitive format The idea again is the coupling these from the US so that we provide an implementation, but anybody can rewrite it From a visual point of view it works this way exactly you have a remote database somewhere you have this intermediate Reboot manager and then you can define multiple groups of machine like I have a group of master node I have a group of working nodes and they can have different configuration for example in this case The master node they have one slot so one node at a time can reboot while the workers They have two slots so two nodes can be down at any time And if you want to see it as a matrix visualization from Grafana, this is exactly what you get you have Two groups the master one and the workers one you have some slots Maximum amount of slots for example one in the master and three in the workers one in this example and then at any time you have Some slots that are locked which means that some nodes are currently rebooting and the other nodes are waiting asking for a lock and waiting for The time when this lot is available again Okay, the last component in all this discussion. It's a bit more focus on the Prometheus world and in the in the matrix world Okay, I will start from this graph because it makes it a bit easier to introduce so the problem is Prometheus is something that is Reaching to services Usually web services and stuff is querying them via HTTP get requests And it's getting some kind of matrix and that's all it does and then it's recording them showing them it has some Query language and you can get whatever data you want out of it The problem in our case is we have some web services for example airlock is a container It is a web service everything is fine. And then we have some other components for example Zincati, which is not a web service. It's an agent running locally on your node And we still want to reach to these Service and get these metrics, but we don't have any HTTP service available running in this agent And we don't want to because there is no need to have it That's the case where we are and so we need a small component in the middle, which is Something that I wrote and I'm happy if other people are finding it useful Which is the local exporter the local exporter is running as a container on every single node It is just simply bridging between the Prometheus web request and the local Unix domain soccer that socket that Zincati is Exposing and that's all it does There are a few a few more cases that I think that could be interesting for other people That's why I wrote like a specific component Which is we end up in this situation for many many other services in Linux and right now We don't have a good story like some services are exposing their Statistics over debuts some other they have like their own file base protocol where they're just writing to a file the current Statistics some other they just have some other kind of like UDP base or whatever homemade protocol they want and my Either word or my goal would be Unifying all of these so that we can observe all these components from a single point of view from Prometheus Using some kind of bridging between the different protocols and a different way of exposing metrics And that's and that's the local exporter Again nothing very interesting years just another go container it is just bridging HTTP You can configure it with a tumble it can fan out to multiple service running on the same machine And it allows to define multiple selector endpoints with their own configuration and so on and so far You can go like as crazy as you want in this part. This is just like I did Just a bare minimum so that I can actually observe what's going on with Zincati And this is I don't know so much about metrics I'm not an observability guy I had some discussion with the Prometheus guys and they have something very similar Which is called the not exporter which is exporting mostly Linux kernel statistic But also some other stuff like system D or NTP or some other some other things But I think that like the main things that I was missing and the main difference is that the not exporter Expect like a single metrics Blob let's say with all the stuff inside while I don't care about like observing the whole state of my Linux machine I just care about some specific services here and there And that's the that's the main Key point the main difference keeping these metrics separates with different points and each one with its own configuration Okay, I think that they cover more or less everything that they wanted I'm gonna go into the demo and into the example and then we have questions The example that I'm gonna show basically is just all these components put together and then observe from Prometheus and Grafana Specifically, there is one piece that we need to configure which is running this local exporter and telling the local exporter Hey, this is how you reach the zincati matrix and point Given that we run everything in containers, whatever possible, and I hope that you do as well In our case we have a bind mount from the host into this container And then we tell the container aid is where we provided you the Unix domain socket as a bind mount from the host And that's it. And then we set it up as we call this zincati and Prometheus knows how to reach it over some HTTP endpoint And and that's it and that's exactly what we are gonna do more right now So from the point of view of I'm an administration administrator, and I just want to see what's going on You can do it in a few ways Let's start from the beginning and one way is okay. I am locally Locked in on a node and I want to manually see what's going on You can totally do it you just Connected to the to the Unix socket where zincati is posing this matrix and then you get the information about what's going on This example is a bit stale, but you get you get some info You get an idea as about like what was the last time stamp for refreshing the cash What was the last time stamp for trying to update the machine and so on and so far? This is what you could do in theory in practice. You don't want to log into every single machine. You want to do something like a Let me start exposing this information over the web. This is one of my canary fedora chorus machines Running with local exporter running on it and bridging to HTTP So this is exactly the same Unix socket information, but over HTTP You can see that here there are all the information that you need for monitoring What's going on for example? What is the current OS version? How many time did we check for updates? This machine doesn't have any error, which is nice But like if there is like a gateway timeout of some kind of like transient network error, you will see it here With the specific kind of it is actually an HTTP 503 error or a genetic one or more specific things And this way you can track like do I have all my machine with updates enabled or did I disable them or some machine? One was the last time that we tried to refresh the state and so on and so far And as you can do it like for every single machine now next step And these were the last demo is Assuming that you have a cluster with multiple machine. You don't want to check it manually. You want to see it like as graphs And this is where Prometheus and Grafana are quite nice because you can set up a Prometheus Scraping all your machine in this case is a cluster of five nodes So Prometheus is aggregating all this information internally and then you can query This database this real time time series tracking To see what's what was going on for example the demo here is showing a cluster which is going cluster of five machine Which is going through two different version updates at different time. You can see that There were five machines starting from one version and then one by one they reboot when they come back They are at the new version and these update proceeds These updates proceeds and rolls through the cluster without any problem in this case And then after a bit there is a new update which is available and it does the same you can track at any point There is this configuration this specific configuration on this cluster is allowing one machine to be down You can see in the graph that there are just one node at most being done down at any time Then in the same place you can monitor. What are the metrics for the? Reboot manager, so is it actually configured with enough reboot slot? Are they being locked unlocked? At what time a lock is taken at what time a lock is released and and so on and so far From the client point of view you can see like every client changing state get in different Metrics and different timestamps and so on and so far and I think that later on there is also like error matrix and and other stuff And that's more or less all of it going from how do we do updates? How do we configure stuff? How do we manage a cluster of multiple machine that cannot be all going down at the same time and how do we actually? Monitor this stuff in a same way. What I'm not showing here is you can actually Get page getting alerts based on these information Just defining like I want to get a page if more than two machines are down because this is not allowed to configure In my cluster if that happens it means that something is wrong And so on and so far and this is more or less how in the current world. Let's say We try to to organize and to Monitor and to get alerts on an out of date an out of dating fleet of machines that are behaving like a cluster That's that's all I guess I Less than five minutes for for questions. So I will just go for a couple of them. We start with Albany The question is do we use a look in OpenShift the answer the specific answer is no The general answer is no as well. So what I've shown so far is what we are doing for Fedora chorus OpenShift is using the same protocol since you're not it But it's a completely different model So in OpenShift, we don't have a cluster of machines that we need to orchestrate in OpenShift We have a cluster which is orchestrating every single component including the operating system, which means that The cluster operators are taking care of updating both the OpenShift Kubernetes components and the OS itself with some strategies So they don't use Zincati. They don't use airlock, but they are based on similar concept. Yes Next one Yep So okay, so the question is like what is the relationship between the locales port and Zincati and the relationship is on Zincati side I have internal state and metrics, but I don't have an HTTP service. I don't need an HTTP service I don't want to bind to a TCP port. I don't want to care about fire rolling These are all problems that they don't want to deal with So on the Zincati side, I can query it locally if I SSH into a machine But I don't want to SSH into a cluster of 100 machine just to get information On the other hand, Prometheus is able to query HTTP endpoints exposing this kind of information So what I need is some way which could be like a batch script or whatever which is bridging between an HTTP port getting requests from Prometheus and Zincati exposing this information on a local UNIX domain socket. That's all of what the Localesporter does. It does It could do a bit more in theory because I think that there are other cases that could be covering this way But for this specific example, that's all of it Like you can replace this if you want with like socket and bash and something else and it would totally work it That's that's fine Yes Yes, correct. So the this this machine that you see here is just HTTPS something this web service is the local exporter This is what it is replying here. The information inside this page are coming from Zincati So the local exporter is just proxying a request, which is an HTTP request Translating it into the local UNIX domain request getting this information back and providing it as an HTTP Response and that's that's all of it Yes, that's exactly why they are like different components not part of the operating system like the operating system as it says in the slides It's just It's just this one This is like the minimum things running on every single host all the other components are kind of like how to put together This vision of auto updates and monitoring them, but they are like containers You see like there are all containers and if they are containers It means that you can schedule them if you need them you can replace them then with something else if you have better solution That's totally fine. This is just like my opinion my approach to monitoring this beast. Let's say Next one So the question is like if you want to plug something else Let's say the node the network manager as a provider of information into this flow. How do we do it? Oh, we should do it my take is that Network manager will be on this side just providing Metrics and parameters format somehow like over D bus Unix or whatever it prefers No, no mandatory things here. And then you as an administrator You will have a configuration that says out of all these services that are running on my machine I'm actually care about network manager, but I don't care about zinc at you so I'm going to provide this configuration to the Local exporter container that says I want to expose Zincati and I know how to reach Zincati and that's all of it or I want to I want to know about network manager I know how to reach network manager. That's all of it. But like I don't think that it's worthy for Network manager itself to provide this information because anyway the idea is you run these in a container So you need to get this configuration to a container is not something that the host itself should take out But you could totally see like example or kind of like snippets. That's how you do it and make it like a bit easier I'm not saying no, but we're still very far from that point and I don't want to kind of I can force things on people. That's That's it Done. Okay. Thank you very much for coming


Then move on to a question that have got 33 hits and going back to the Focus on this sustainable company, which this wave you are is Denmark a good setting for being a sustainable company Is this like the best place to be I guess we would like to start yes Nils I think it is a good place for sustainable company I think we have so we have issues society-wise on being a good place to run a company all together But I think especially on sustainability. I do think we haven't about it Let me just give an example For instance if the fact that Denmark ever since the beginning of the 70s when we had the oil crisis And none of you can remember that but when I was a kid we could not drive on motorways on Sundays Imagine in a free society. We're not allowed to drive on motorways on Sundays now that actually kick-start something that made politicians back Then I think actually pretty cleverly look way ahead. That's when we started district heating in Denmark We got really a world leading position. It created companies like Dan first like lobster like others So so today when when China looks at how they get their energy efficiency up They call it energy intensity. They look for world-class solutions. Guess where they go They go to Copenhagen to Orhus and to Sonowal Because that's where the best technology in the world is and And we asked them why they come they said that's because you have the best thing if that would change to Germany Then be sure we would go to Germany So we actually because of this connection between a society that does value sustainable solutions that does look forward and are willing To invest something in demonstration it allows for companies to build scale and competence that we can now export So I would clearly say and that's that's much more examples I think that the Danish attitude here on setting high standards of wanting to do that. I think helps Now there would be a lot of things about the general conditions of running a business that I could wish would be a lot better And that actually counts the other way But I read the question here specifically saying in terms of sustainability. Is this a good country to be in? Steve Only one thing to add to what Nils was saying and that is it's also a good place to recruit young people who has an interest who have an interest in Sustainability it's kind of permanent permeates our society So those kind of ideas are readily pursued by the scientists we have in our laboratory Laboratories they are tuned in to this kind of thinking and that adds to all the good things that Nils was Yeah, yeah, I agree in that we are well-known more or less all over the world for being a sustainable Country and it is deep rooted into to our culture as Nils also were saying What what wonders me a little bit is that even in Denmark and to my best knowledge Nowhere in the world we still have still do not have an education in sustainable economy But well who knows maybe one day it will come Yeah, that's a good point and Maybe that's something that we could actually learn from where and Educational institutions like that exist. I personally don't know but I'm sure it exists So what could Denmark learn from other countries or companies because of course we are good, but we could be better. I guess Nils Yeah, so now we are getting close to something. I think it's really interesting here And it may be difficult for me now to stay on the topic of sustainability because I think where we need to learn Is that we don't have to look that far away? We could look across the earth zone or we could look south of the of the border We need to make sure that while we do all these good things while we have a lot of competency While we are probably ahead in the way we think about sustainability It is not it cannot happen in a world where we can forget everything about Productivity and cost and all those kind of things and we are drifting and we have been drifting too far out there And I think the biggest risk on us being successful in this area is not Our ability to generate ideas or do things or recruit people that want to work in this business and has it's competent It's actually that the general conditions for running business has changed pretty dramatically over the last 10 years And I would say and I think we were together in China The Prime Minister was traveling out there We had an evening where we had a stand-in buffet and we had a lot of Chinese investors there people in China with a lot of money and a wish to do business and of course we would like to say okay come to Denmark and bring your investments to Denmark now What do you think they look at? I mean it's nice if they can tap into some of the competences that we have built But it's more important probably for their investment that they can also make a good business out of that The basic conditions are not very much different from what they could do if they go to Hamburg or they go to Malmö That's why I think we have the biggest issue right now Jan Well just to add what what Nils said it is certainly right and within the last 40 years two things very important has happened in the world first the container industry was developed which means that we can Move physical products extremely fast Extremely cheap all over the world which means that we are in competition with everybody around the world Second thing will be the internet. What are the internet doing? Well, the internet is very fast very cheap moving Brain capacity wherever in the world. You're sitting on a computer these things are available all over So also when it comes to brain work, we are in competition with everybody So it is extremely important that we are staying competitive and for the time being Denmark is unfortunately in that perspective not very competitive Just to add to this at the same time as we have these problems in Denmark many other countries around the world are kind of scrambling to Get on the sustainability Track if you look at China China has very kind of solid goals for reducing their energy intensity and With the way China is run. I'm absolutely certain that they will actually achieve those Energy intensity with auction targets if you look at Brazil Brazil has embraced the whole idea of using renewable input material to create fuel and a future chemical industry In a very clever and and very large scale manner. So other people are moving in a big way while we are I think We have the problems that that Nils and Jörn were alluding to we also have a tendency to not calculate but Jump to what I call political correct solutions rather than do the background life cycle assessments For the solutions that are proposed the Chinese and the Brazilians don't do the same mistakes And on those answers The next questions is a very good follow-up. Let me just get it up on the screen This one Because oh no, that was the one we got this is very very high-tech What could where did it go to? It was a very oh, maybe I just Pushed answered even though it was not answered So I have to really recall the question in my own mind The question was so how do you sell sustainable products in emerging market countries where sustainability is not such an hot issue But maybe that's a small prejudice in that because actually they are involved in this Yeah, yeah well seen from our perspective we have to admit that it is for us very difficult because In these countries very often it is the individual house owner who are deciding what kind of windows they want to put in and They don't care so much many of these countries do not have very high prices of energy and so on and and that We can really feel there's a significant difference in the products We are selling in in certain countries compared to others in that respect Steve I think the basic answer is that we are selling based on exactly the same parameters as we are in all the other countries It has to be cheaper and it has to be better and Compared to their local circumstances I'd like if I made just to add I think an anecdote to this we we are working very closely with the textile industry the textile industry The the mills not the the people that are suing the stuff But the mills is among the most polluting industries in the world And the way we have solved our pollution industry problems here in Europe and the United States is that we Move that industry to China now the Chinese are starting to implement the the environmental regulations that they Actually decided on five years ago, but now they're starting to implement it. So the textile industry is moving to Bangladesh And next up as I understand it is Africa Africa is the only place in the world Bangladesh and Africa seem to be the only places in the world left where you are allowed to pollute so One of the things we can do in those countries and what we do do is to work closely with the government and the industry to develop alternatives, which we think we can that are Significantly reducing the pollution from these industries so that they can allow them to stay in the country and Maintain the jobs and maintain the value generation in those countries, but if we fail We didn't make it in Europe We are a little late for China. We might make it for Bangladesh before it goes to Africa All right, and it's selling sustainable products in emerging markets I think I would just like to tell you about one example and that's in the northern part of China There's a city with three and a half million people where the way they do heating Of course, there's only heating a certain part of the year So the comfort in those apartments or houses are not that nice But when there is heating it's done by a lot of small boilers placed around each of them fired with coal or with brown coal It means that the air is so polluted that you can actually it's always foggy When you're there now we made one project that took Heat that was wasted on a steel factory in the same city Close those boilers and use the heat from the from the steel company That gives heat now to one and a half million people that's Copenhagen In a way that they have heat all year round much more comfort They can actually control the heat the cost of the heating the zero the project pays back to the steel company to the city and To the people who gets cheaper energy in less than two years and The air gets cleaner Now give me one good example why they wouldn't do that And then remember there's like 200 cities in China of the same size that could be interested in doing the same thing So I think I think to the question there is ample opportunity of selling green technology in How was that the project financed by the city by the city? That's another area we haven't talked about but that may be something we could do better than that's fine right So let's dig into the toolbox and be very concrete also about you being here in this room because now you Have asked the question what should students here from bbs learn about sustainability the most important thing to know about sustainability when leaving the room Yes, who will start That's a tough one thinking thinking thinking hmm It can be more than one thing maybe three things max right we'll go first No, all right steen you always have an answer for everything so you will have an answer for this one as well Well, I think I just have to start talking Yeah, well anyway, I I think the first Thing you should take away is that it's serious. It's real that it's something that you will have to somehow address when you go ahead because It will influence your life and that of your children when you get some and and in very profound ways unless we find good solutions to it so and and well just to When I talk about when I'm out talking about technology We very often meet technology people that Will talk about new social media and other very interesting stuff and I this is fantastic and this is good We need answers to very basic questions also It's not enough with a new social network Thank you state and now the other two have their questions and not young news actually got the raise the hand first so Yeah Now you were laughing because we were all standing here thinking about it and in my way, I think I Think the short answer is nothing. I don't think you need to have a lot of courses into Specifics about sustainability. I think that's a business opportunity along a lot of other stuff So I would hope you learn a lot about identifying opportunities and actually Understanding how to make business plans around that because it's for me. It's nothing else than that So if there was one thing I would say then instead of nothing because that's probably not the right answer But then it's then it's at least to understand some of the fundamentals around. Why is it? We would like to go there. So I would hope That you could be trained in understanding at least the impact of co2 on society if we do nothing at least some of this Society costs to not doing anything the relationship for sale against non-for sale view and and so so to think about the issue of sustainability if that's there then I'm sure the rest of it is actually down to doing business It's just a business focus trying to take advantage of something and I think that goes back to all your fundamental Courses so I would not think this is something special and and I would not be looking for a sustainability engineer or a Sustainability economist. I think that's that's not the way to just just go for the profit and the rest will follow And now Jan, please Yeah, it's difficult to add more but but I also think that that a general attitude and knowledge About the issue is important because it will be very very different from company to company. What kind of specific? Knowledge you would have so Yeah Moving from the toolbox From you guys to the toolbox of governments It's always easy just to ask for legislative regulations to help one get started But what legislative action is necessary to make it easier for companies to assume a sustainable profile? Yes Nils, you want to go first? I think the short answer is predictability. We need regulation that actually goes a little further than next year's Financial budget for the for the government because we are actually as companies making pretty heavy investments with paybacks That actually go into the future so not knowing under which conditions We need to operate the day the new product or the new solutions coming out makes it very difficult It basically means that the risk on that investment goes up And you all know that if the risk goes up then we have to discount at a higher factor Then the NPV of the investment goes down and then the risk that we will not make the investment is higher So it's very very important that predictability is there and as Dean was saying I fully agree I think there is a government role in making sure that new technologies get Into volume and get into a situation where they can survive on their own And I'll give you an example of of solar in Germany a big success in Germany of actually bringing solar into the To the society, but it's been like over time They had one regulation and then suddenly they changed for another one and the really good one is when they start saying in six months We will change the regulation Because then then I one or two things happen if they change for the better than nobody's buying for six months And then they buy a lot just after if they change for the worse Then everybody buys in those six months and nothing happens after that now try to run a business under those circumstances We go straight from not being able to deliver to lose our all our money on freight and flying things around to not making money Because we're not selling anything so they're really not helping businesses if what they are trying is to launch new things and help Giving birth to new technologies, then it needs to be predictable over time what they do So we would like high standards. We would like predictable legislation Yeah Exactly as news was saying the the predictability is extremely important on top of that Within our industry that the building codes around in the different countries that the authorities will stretch the the industry but not too much because then you come into stupid situations if you certainly have to Do enormous change in a very short time that is seen from the society point of view ridiculous because you put too much Resources into it so a good cooperation with the authorities about what is possible at what time and then stick to that Steve would you like to add something well? Maybe just by explaining how predictability created the bioethanol industry in the United States this Regulation were in place for ten years in those ten years initially there were Subsidies and it was clear from the start that these subsidies will be phased out would be phased out in ten years Now the US had created that industry it produces ten percent of the US gasoline five percent of the world's gasoline then It has created six hundred thousand jobs in rural America and and it has All of that has happened because it was predictable for ten years. What's gone? What would happen now? this predictability is Is Is gone from the US political scene because of other things that I will take a half an hour to explain but That means that essentially the deployment of a second generation cellulose in the US has stopped And this is something that happens in Brazil China and parts of Europe instead So as you can see basically the next question with 22 votes actually have been answered I guess by the panel So I will move down to to this one That also is a very important issue. I guess to talk about Also from a Danish Perspective do you see emerging market competitors and as competitors on the sustainable agenda as well? Often it seems that people assume that the West has the monopoly unsustainable solutions Yeah, definitely at least in our industry all over the world. Everybody's running after that I mean very few years ago Danish political people thought that well, we should just run the dream green Agenda and then we will survive in a good way forget about it. Everybody's on that. I think I already answered China Brazil lots of other developing countries India. They are all on that agenda and Creating great companies that Of course make good business in in this new area How close how close are they to no busines standard? Yeah, I think they are making good progress on wind turbines and a lot of other stuff We are still ahead But and your comfort that it will remain that way. No, of course not. No, we are fighting every day to maintain their position Yes, I'm sure you have the same I can only echo that I believe we're still ahead But I think we're working very very hard on staying ahead because it's it's clear I mean the days when China wanted to be to be the manufacturing side of the world has changed now It's all about technology transfer and very specific about what kind of technology they want to get access to that's the technology That's going to be worth a lot of money in the future and ten years from now There's no doubt in my mind that sustainable solutions will be real important in all parts of the world And who would like to be able to develop those? Everybody would and especially the Chinese so so I would fully agree on that And then right here I can see great because I was just about to say now you're getting close to the end So now raise your hands if you have questions and we have run here on row three Thanks, it was actually a follow-up question to the previous question About regulation So if you go back and try to remember when you decided to switch to a sustainable business paradigm Was it would you say that? Legislation pushed you to do it or was it other things that made you take the strategic decision? For us it was not legislation this was I think a very much a reflection of the fact that that the product and the opportunities for with our technology kind of presents the sustainability agenda to you so It was more like a reflection of In the future Our customers would need to make sure that they produced with less raw material input with less energy at the end of the day, they would need to sustainable input rather than than oil and And they would not be allowed to continue to pollute as much as they did in the past and and so all the projects that we embarked on were projects where we kind of anticipated that These pressures would be put on Companies not because regulations of in our case not because regulations were put in place when we started There's a few young well that decision I think in our company was taken way before I I joined we have always had An attitude of taking care of the resources in those days Of course primarily due to money not to use more material and so on than absolutely necessary It has turned out that that we have been extremely much more aggressive concerning Working with the authorities on this issue because at a certain time Those making the billing codes around in the world world has simply a wrong perception about How should windows be to minimize the yearly energy consumption in the houses so we have done a lot of work Teaching that together with a number of other Companies so so it has been an ongoing development Yeah, I would I would say the same I think I can point to two situations where legislation helped move things forward a lot faster, but typically not I think the if legislation needs to work It's either a big country or it's like EU like very specific legislation in Denmark doesn't really have much because the country is Too small so no big company can develop the totally new product line just to sell it in Denmark in these kind of you need more Volume than that. So so I often tell ministers It's much more important that we go to Brussels and we try to push up the standards for the entire EU For us to operate then we have a country like Denmark that is totally out of whack on the on what we're doing But so I think a little bit like yarn is saying I think Danfors was onto this before I was born And it was not because some some legislative force made something We have often actually been ahead of that we have we have we have made the products that would allow Authorities to be Strict on legislation because now they knew there was a solution out there And one good example is for instance in the US where 20% of all electricity goes into running air conditioning systems We had solutions that could make those much more efficient And actually the last thing George Bush did as president was he basically Regulated that and increased the level of energy efficiency air conditioning systems needed as a minimum So that really worked that brought a lot of products in play But it was not like he did that and then we went back and said gosh we need to make those products We had those products So when they made that it actually just moved some of the business over to those products So they influence but they don't drive. I don't believe I agree with my colleagues And then we're getting closer to the end as a question up there. There's no now that now you're getting out there Okay, but the time is closing and we definitely need the answer to this last questions before we end the session But let's have a question there. Please stand up Hello, I'm from China. So my question is about how do you face the Challenges from Chinese local competitors who enjoy the stronger local government relationship have with the lower Production cost and also they have the excess is a world-class tenant. Thank you young Well, our story in China is is very special We moved out there in 84 and nobody has seen Windows built into the slope roof and they claimed that was impossible And it took us around 10 years to convince them that that was possible without leaking And you have to know that the worst thing which can happen to a building is water coming in because it will destroy The construction over the years of the building So after 10 years we started to have a decent business in China And then it said boom and we had 40 local competitors who made windows Which on a distance for the untrained eyes you couldn't see the difference and They started to sell that many times at prices where we couldn't hardly buy the raw materials for the products And they sold it and they build it in But they couldn't keep the water out So that was very very tough for us because then the Chinese population came back and said there you see it can't be done so we have had a very tough time in In China in that respect and we are still struggling quite a bit with these things So China has been very special for us and and and also when we when you go into the sustainability part of that We have unfortunately seen that the local competitors They are simply unfair in the way. They are marketing their products concerning how they are performing and that's That's also a big issue for us It's a different territory Nils. I'm sure you have Chinese experiences I will say I think I'll start out saying that that I hear below the question basically an assumption that We are sitting somewhere in Denmark at Danish cost trying to compete in China. That's long gone When we're in China, we develop products for China in China We produce them in manufacturing facilities that are just as efficient and as cost effective as the Chinese companies We are competing with we have a Chinese sales organization that has a reach Comparable or bigger to many of the Chinese companies. We're competing with so we are we're actually there and we are competing head-to-head and we're not We're not from that point of view. We're not scared We are in the middle of it and we fight very hard and there's very clever Chinese competitors as there are very good you as competitors So so I think we are beyond the point of thinking we can sit remotely and do something It's it's a 5,000 people Chinese organization led by a lot of Chinese managers applying a lot of the same principles But being able to tap into some of the knowledge and some of the worldwide scale we have That's how we compete with smaller Chinese companies and steam. Novo Simon's in China Yeah, very much like Nils is saying we produce in China. We do research in China Our one of our advantages relative to Chinese companies is that we have a global kind of network of customers and partners That today they do not have but if I should add one thing to it then we try as much as possible to be part of the part of China as we do in other regions where we operate and Two years ago for example to just put an anecdote on the table here two years ago The the Chinese and the US government they meant to talk about cellulosic bio ethanol and they had Delegations from China government delegations will Support it with Chinese business people and the US also had a government and business delegation And these were the two delegations that made we had three people in the Chinese delegation three of our Chinese And we had also three of our American Colleagues in the official US delegation So we just try to be part of what's going on in the society in which we operate and that goes for China as well All right last word John a little thing to add we have had production in China since 1990 The funny thing which is taking place the last few years for us in China is that actually What what we are making the best business out of that is our products from Europe Importing into China sold at very high prices. So that's a kind of strange development that that our Chinese Produced product for the Chinese market competing with the local Chinese competitors That market is not developing as well as the high-end Market with products which they simply demand is coming here from Europe Yes, well that takes us very well into I know you have a question up there But we're running out of time, but I'm sure maybe you can grab the three gentlemen's outside and give them your question Let's take the last question. There was one thing that to hear in the end was a bit You had the Chinese business a bit different From from me looks anyway no who's I'm send and then first but do you disagree on anything? I mean you're all three focused on sustainability and Were a lot a lot of agreement so and is We probably support a different football team I think but but I Think if you wanted real disagreement, you should probably have had a utility company an oil and gas company and then one of us Because those are different mindsets So I don't think you should be very surprised that we are not here with very different mindsets, but if you had asked Us a question like where do you think the Danish subsidies should go should they go to to heat pumps and solar? So so that's probably the level of detail we need to get into to get some real disagreement So if nothing further to add to that, I would like to thank the three of you. Thank you very much for debating this discussion


Natural capital is the wealth of a nation and it provides a lot of services. If you were to look at it, it's the life of the people, the natural capital. We all depend on all this natural capital for livelihood and for our well-being as well. Well, this is with regards to the private sector. Like in the Philippines, we have water concessionaires and they know by their heart that if the forest is not good, then water sustainability is a challenge. So we have this partnership with them and they are very much involved in the reforestation of the watershed where they get their water. So that in itself, if we can get that cost, how much does the private sector really invest for that plus the investment that we have, then I can say that this is a pool of investments for natural capital. One thing that's very close to me is the investment that we give in conserving the resources of Laguna de Baye in the Philippines. And in my mind, this investment does not come only in monetary terms but we should also consider the investment in terms of the time devoted by, for example, volunteers in keeping the environment in their locality clean or even participating in efforts of the government to protect the environment. So the capital is really for me not just in monetary terms, it's also let's take into account the time and the energy and the effort being contributed also by different sectors.


Hi and welcome to the session. Let us discuss the following question. Question says, choose the correct answer. For all real values of x, minimum value of 1 minus x plus x square upon 1 plus x plus x square is 0, 1, 3 or 1 upon 3. We have to choose the correct answer from A, B, C and D. First of all, let us understand that if we are given a function f defined on open interval i, then let us assume that function f is continuous at a critical point C in interval i. Then if f dash x is less than 0 for x less than C and if f dash x is greater than 0 for x greater than C, then C is a point of local minima. Minimum value is given by f c. This is the key idea to solve the given question. Clearly we can see if f dash x changes its sign from negative to positive as x increases through C, then C is a point of local minima. Now let us start with the solution. Let function f is given by f x is equal to 1 minus x plus x square upon 1 plus x plus x square.  Here we have applied quotient rule to find the derivative of this term.   Here we have multiplied these two brackets and now we will multiply these two brackets.  Now this is equal to 2x cube plus x square plus x minus 1. We know 2x minus x is equal to x and 2x square minus x square is equal to x square. So we can write this bracket as 2x cube plus x square plus x minus 1. Now we can write this bracket as we know 2x minus x is equal to x and minus 2x square plus x square is equal to minus x square. So we can write 2x cube minus x square plus x plus 1 upon 1 plus x plus x square whole square.  Here we have multiplied this negative sign with all the terms of this bracket. Now we know 2x cube and 2x cube will cancel each other. And x and minus x will cancel each other. We know we get 2x square minus 2x square plus x square is equal to 2x square and minus 1 minus 1 is equal to minus 2.  Let us find out all the points at which f dash x is equal to 0. Now we will put f dash x is equal to 0. Now this implies 2x square minus 2 upon 1 plus x plus x square whole square is equal to 0. Now multiplying both sides by square of 1 plus x plus x square we get 2x square minus 2 is equal to 0. Now taking 2 common on left hand side we get 2 multiplied by x square minus 1 is equal to 0. Now dividing both sides by 2 we get x square minus 1 is equal to 0. Now this can be written as x minus 1 x plus 1 is equal to 0 below a square minus b square is equal to a plus b multiplied by a minus b. Here we can write it as x square minus 1 square and x square minus 1 square is equal to x minus 1 multiplied by x plus 1. Now this implies x is equal to 1 or x is equal to minus 1. Now let us check if x is equal to 1 is a point of local minima we know f dash x is equal to 2x square minus 2 upon 1 plus x plus x square whole square. Now this is equal to 2 multiplied by x minus 1 multiplied by x plus 1 upon 1 plus x plus x square whole square. Now clearly we can see for x less than 1 f dash x is also less than 0 and for x greater than 1 f dash x is greater than 0 using key idea we get x is equal to 1 is a point of local minima. Clearly we can see f dash x is changing with sign from negative to positive as in x increases through whole. So x is equal to 1 is a point of local minima. Now let us find out the minimum value.  Now simplifying we get 1 upon 3 so we get minimum value is equal to 1 upon 3. We can now discuss about the point x is equal to minus 1 for x less than minus 1 f dash x is greater than 0 and x greater than minus 1 f dash x is less than 0. Now clearly we can see f dash x changes its sign from positive to negative as x increases through minus 1. So x is equal to minus 1 is a point of local maxima. So our required minimum value is f1 is equal to 1 upon 3. So our required correct answer is d. This completes the session. Hope you understood the session. Take care and have a nice day.


Hello and welcome to MIP TV and once again I'm with Bob Cook from the Manchester Institute of Psychotherapy And I've got a question to ask you Bob. Oh Okay, what do you say after you say hello? Oh My gosh, that sounds like an Eric Byrne book. It does and that we've given the game away We're reviewing our Bob's reviewing this seminal book. It really is I mean really important book written in 1969 just before Byrne sadly died But it's it's an enduring book for both therapists and like games people play, which is of the book For the general public. So what is it about and why is it so enduring Bob? This was First book he did of course was transactional analysis of psychotherapy second book was about games third book was about Dynamics of organization the fourth was principles of organizations and then came this book What do you say after you say hello by Eric Byrne and it is about script Right now the idea of script and ta is that we decide early on in life unconsciously a life plan and then we basically follow it Yeah, and I can give you an example of that many years ago I was teaching the student and we would teach a little bit about script and And they said I'm not quite sure that I could buy into this script business And I said when you when you when you when you were because I'm not a TA Therapist, I'm a personal centre therapist, but I thought is a comparative Theory and I said when you were you know when you're younger what what did you like to watch the TV? And she said emergency ward 10 which was all about hospitals a hospital drama, and I said what do you feel living now? She said I'm a paramedic Yeah, yeah, yeah, the idea that you take your what in childhood and you build on those ideas through the arc of your life Yeah, so Why is this book? Why is this book an interesting reading Bob? It's about script But why is it important or useful to for people to understand that? Because if you can get to grips with the you know the unconscious script or unconscious life plan then you can change it Oh Okay Yeah, if it stays conscious and hidden from you, and you don't take ownership of it You'll keep on Simply reprogram you for the rest of your life if you can get hold of the script and the live plan You can actually decide to change it Yeah, and you can you can change your life by changing this kind of script the idea that we're like actors players in our own lives and We suck yeah Yeah, so every person, you know, let you know find out about your script Get a new script on the road and take charge of your own destiny Yeah, so instead of being in the same old soap opera get yourself a blockbuster leading part Is it been like Grand Hog Day? Yeah, yeah, yeah But you just keep playing over and over Your own script of course that'll happen if it's unconscious and out of your awareness You'll be driven by these early decisions in your childhood Yeah, if you can become a part of them take ownership of them You have a chance to change and put a new show on the road and being charged of your own destiny Instead of be caught up in this ever-ending loop. Yeah, and it makes it makes perfect sense Doesn't it that the lessons we learn as children We develop and take through the arc of our lives until you see the challenge in therapy or Become aware of it. Yeah, so does does does burn You know if you if I was a layperson reading this someone didn't know about psychotherapy How would this book inform me do you think? Oh?  Oh, it is, you know, and there's a there's a great poem, isn't there called a Life in five parts by patrice patrice and Nelson I'll put a link in below But it really is good and if you ever hear it narrated it makes so much sense about walking down the street and falling down the same bottle You know, yeah, and yeah If you see TA student talking about TA students, they have to read this book because as a TA therapist One of the really stand-out Features of being a TA therapist is that you help the public Be aware of their life plan and then help them actually be able to change it take charge of their own destiny and have a better sense of life Yeah, I've seen that I've seen that so often when I explained Scripts where people realize, you know, a classic a classic example is is a student who's been who's been told that You know, they're not very bright because they're dyslexic and And and and they carry that through their life. I didn't go to college. I didn't do this And and then when you say well, actually you are, you know, what what what part of not bright? Do you think you are well, you know, I can't write properly. Yeah, but neither could Einstein Yeah, yeah, yeah great Yeah, it sounds like it sounds like a good book. I'll tell you what I like a lot about this book, Bob You can pick it up quite cheaply on auction sites. Oh, 10p. Yeah 10p 10p for all that wisdom Yeah, I would say 10p, but I've seen them over two pounds. It's a paperback. It's 1969 It's quite old now, but you know, it's a gem. Yeah, it's an absolute gem. It is a bible Yeah, is it the what is the kind of book you might give to a client in ta and get them? Yeah, and look at their own scripts. Absolutely. The same as the games book You'll give those games book to clients as well. Yeah Well, Bob, as always, it's a pleasure hearing you review a book As always, this is a not a paid review. Bob does this for the love of the books And also we'll put a description a link in the description below and also I'll put a link in I think To this poem by Patricia Nelson because I think that really does sum up scripts. It really is really is good So as always, Bob Cook, thank you very much. Thank you. Bye. Bye


Happy birthday to that and here you have your three billion dollar gift. Well, it's not three billion dollars It's two point nine billion dollar is close, but I rounded it up because you know what it looks better So what is this three billion dollar thing? We are talking about if you're not aware that had announced their financial reserves for 2017 and the fourth quarter of 2017 and they registered a revenue of Three now, okay to four eight billion dollars. That's amazing to be honest I'm kind of disappointed that it did not touch the three billion dollar mark, but it's Almost there, right? And I'm pretty sure that by next year it would be something around three point two or billion dollars at least 3.5 billion dollar and the thing is not I'm like I'm not making a huge kind of you know Professor prediction. It's obvious. So when I saw the results, I will not surprise at all Because it's not surprising it was kind of expected because redhead has been growing at an organic rate the The company and don't forget that this year companies also celebrating its 25th anniversary Linus Turbals announced Linux in 1991 Suzy was announced in 1992 and redhead was announced in 1993 So they are celebrating a 25th anniversary this year and what is really interesting that is in 25 years They had evolved from being a Linux vendor to a cloud company as you all know that Okay, Suzy might contested but redhead kind of championed the the whole you know business model around open service subscription based model And today even today Linux remains their core product, which is not surprising because if you look around Linux also remains the core technology that powers the modern idea infrastructure. I mean today's economy literally runs on Linux Even Microsoft. I mean as your has more than 50 percent Machines that run Linux in the virtual machines. They're running Linux and as your own networking switch is Powered by Linux now Microsoft is running Linux in their own infrastructure. They are powering their infrastructure With Linux so everything is running on Linux. It's no surprise that The huge chunk of this revenue comes from Subscriptions, which is real mostly so redhead registered almost 2.6 billion dollar From subscriptions that was roughly you can say in the ballpark of 14 percent year on year growth as compared to last year and the revenues from the emerging technologies was something around 628 million dollars not billion dollars million dollars But this is what is interesting this category registered Almost 42 percent year on year growth So emerging technologies is the area where redhead is experiencing Exponential growth while the traditional Linux model is growing at a at a very organic, you know great The emerging markets is massive. It's almost 50 percent increase so so What is really interesting to see here is that redhead is investing a Lot of resources in these technologies and if you look around they kind of dominate the market kind of if you look at open shift That's huge and massive and they just Acquired Ansible and they acquired Corus one of my favorite companies in the in the container world and Corus is a very Influential player in the Kubernetes space So I'm pretty sure that we are going to see much more aggression from redhead in the cloud space in 2019 or going forward IoT is a space that they work on machine learning They don't offer these technologies, but I'm pretty sure that they will be Investing resources and investing in technologies that enable players To to use redhead as a platform for those technologies These revenues and this growth is kind of okay. It's good from redhead's perspective, but It's also good from community's perspective. What what makes redhead really so successful is not that They are good at marketing I have talked to a lot of my friends in the in the tech space and in the journalism room and almost everybody Agrees as long as you're not a redhead customer that they have another best, you know still send marketing team throughout the globe But it is strength doesn't come just from sales. I mean they are also very good at engineering If you look at most of the technologies tech, you know, or open source technologies Wherever redhead is consuming those products or projects They are among the top contributors including the Linux curl in addition to that The their policy is upstream first if the code is not in upstream. It will not go in redhead products And the last but not the least is that They they value the community a lot. I mean if you look at the whole known community I mean it's pretty much, you know back by redhead developers and and they have kind of, you know focus on Technologies and and a lot of new technologies have come out of redhead whether it's system D or pulsar you You know the not put ring he works on it and he's a redhead developer So a lot of great things are happening there Kubernetes redhead is one of the you know leading contributor open stack. So so they are like kind of it's a great mix of Technology is a great mix of how to commercialize Linux and open source And it's a great mix of how to work with community and and value it It's really incredible. So There are no surprises that redhead is kind of you know, so successful because you know when you take all of this, you know a good marketing Good good technology and you know good relationship the community you get a company which is like well-rounded like redhead. I mean It's kind of designed to grow and succeed because the kind of The way they operate and it's incredible. So I won't actually be surprised that in two to three years You know redhead will cross like five billion dollar mark. I mean, yeah, it sounds big today but I think that's going to happen, but That we will see in future for today The most exciting thing is the first redhead is completing their you know celebrating their 25th anniversary and second is that they have touched the 3 billion mark So it's time to celebrate for the Linux community And this story was also beta for the new project that I'm working on which is Daily tech news in open source word I may try to just give one biggest story of the day or I'll put two or three stories together I'll I'll see maybe I'll give a weekly update. I don't know how frequently you want to be updated But it would be a mix of news and analysis of what is happening with the big stuff that is happening in a Linux and open source word Mostly in the enterprise segment. So that was the beta. Just let me know what do you think about it and please Don't forget to subscribe to this channel. The link is down below. We're also on soundcloud So you can also go and subscribe on soundcloud If you have any doubts, just go to tfhire.io Slash tv and there you'll find all those subscription links. Thanks for watching. See you next time. Bye for now


Hello, and welcome to this screencast on section 10.3, second-order partial derivatives. As we saw last section, a function f of two independent variables x and y has two first-order partial derivatives, the first-order partial derivative with respect to x, and the first-order partial derivative with respect to y. We can again take partial derivatives of these two first-order partial derivatives to give us a total of four second-order partial derivatives. Taking the partial derivative with respect to x twice gives us this second-order partial derivative. The equal signs here are showing the four different notations you might see for this second-order partial derivative. Taking the partial derivative with respect to y twice gives us this second-order partial derivative. Taking the partial derivative with respect to x first then y gives us this second order partial derivative and lastly taking the partial derivative with respect to y first then x gives us this second order partial derivative. The first two second order partial derivatives are called unmixed while the second two are called mixed referring to that they contain a mix of x and y partial derivatives. Recall from single variable calculus that the second derivative measures the instantaneous rate of change of the derivative. This observation is key to understanding the meaning of the second order partial derivative. Consider this second order partial derivative with respect to x. Since this derivative requires us to hold y constant and differentiate twice with respect to x we may view this derivative as the second derivative of the trace of f where y is fixed. So this second order partial will measure the concavity of this trace. As an example consider this function f. The figure shows the graph of this function along with the trace when y is held constant at negative 1.5. Also shown are three tangent lines to this trace in blue with increasing x values from left to right among the three plots. As you can see from left to right the slopes of the tangent lines are decreasing as x increases. This tells us that the first order partial derivative with respect to x is decreasing which in turn tells us that the unmixed second order partial derivative with respect to x is negative. These observations go along with the fact that we can see that the trace is concave down. We can further verify that the unmixed second order partial derivative with respect to x along this trace is negative for all x values pictured by examining the function. In your work in section 10-3 you'll investigate the behavior of the remaining second order partial derivatives.


Simple strategies for teachers to increase their confidence in the classroom. Coming into any unfamiliar classroom situation, for newer and experienced teachers alike, can instill a level of apprehension. There are many circumstances where a teacher could easily feel overwhelmed, whether it is butterflies in the stomach on the first day, a sudden syllabus change, malfunctioning equipment, an extremely large class, unmotivated or disruptive students, or unfriendly co-workers. Fortunately, there is a multitude of simple strategies that can help equip a teacher to face even the most nightmarish classroom situations. Pay attention to teaching itself. One essential technique for teachers to increase their confidence is to keep the focus on the teachings. In cultivating an attitude of service and interest in helping students, teachers are less likely to think about themselves or fret over their own shortcomings. Self-assurance increases spontaneously when thinking of others. It can be very rewarding to think about how much learning and knowledge has so freely been given as a student and to actively give back in an offering of gratitude as a teacher. The passing down of knowledge is a vast and sacred tradition, and maintaining a perspective of playing a small but significant part in this ancient heritage lessons the tendency to magnify one's role. Give student-centered lessons. Centering the lesson on the students also greatly boosts a teacher's self-assurance. Students are the defining element of a relationship of learning, as the teacher is only called a teacher because of the students. It is necessary to establish a rapport with students, through a positive and encouraging, yet firm approach, with effective use of eye contact, body language, and tone. Teachers can transform their own insecurities into an advantage by using them as a medium to relate to their students, who are most likely also experiencing fear and doubt in learning a foreign language, alongside the many challenges of student life. Don't expect too much. Another helpful practice is to have realistic expectations. Teachers can assess their own strengths, weaknesses, needs, and ambitions, and should start from where they are. They can develop practical goals of being a successful and effective teacher, keeping in mind that it is an ongoing process that takes considerable time and experience. Upholding the perspective as a perpetual learner will reduce anxiety, as well as a means to connect with the students. Get prepared. It is fundamental for a teacher to be well prepared, with an adaptable and flexible plan that accounts for last-minute changes. The teacher should be clear and set ground rules from the start to introduce a secure, disciplined, and encouraging learning atmosphere. The teacher should expect that some error is bound to happen and to accept mistakes with grace. Be mindful. Modeling confidence will increase assurance for a teacher who may be feeling uncertain. While teaching, a very simple and effective technique to overcome tension and apprehension is to simply breathe, focusing on inhalation and exhalation of the breath. The teacher can pause, stand tall, and remember to smile. Are you ready to teach English abroad? These small but powerful actions will set the tone for the classroom, and the students will feel more at ease, which will lead to increased productivity and happiness. In addition, teachers will naturally feel more confident if they make efforts to practice authenticity, presence, sincerity, and honesty in all areas of their lives. A confident person makes a confident teacher, who will, in turn, inspire confidence in their students. Speak with an ITTT advisor today to put together your personal plan for teaching English abroad. Send us an email or call us toll-free at 1-800-490-0531 to speak with an ITTT advisor today.