Yeah, my name is Jihai, I'm quite happy to be invited to join this conference to share my experience on DevOps. Today, the topic is implementation of DevOps C-crops in large global banks. Okay, so here's the content for my presentation. Firstly, I will introduce myself. Next, I will give you some background about DevOps C-crops. The third one, I will talk about the DevOps C-crops current status and also the challenge to implement the DevOps C-crops. The next one, I will also show some like DevOps C-crops tools, especially for the source, DAS, and S. Finally, I will share my experience, how to implement the DevOps C-crops in HIPC Bank, and also how to establish the culture over there. Okay, here's me. So actually, I graduated from Imperial College London as a PhD, probably more than 10 years ago. Yeah, and actually my major was the mobile communications, so it's like the mobile communications. My research was 4G before, but now you know it's a 5G word, now it's all 5G. So yeah, and then when I finished my study and started working in the banks, such as like RBS, UBS, Barclays, and HIPC. I started to work on DevOps work in Barclays since 2012 and then joined HIPC in 2016 and transferred to China office from London office to China office in 2018 and started to lead the DevOps transformation in China. And in the last year, I started to join Tencent as a senior DevOps architect. So yes, here's my background. Okay, DevOps C-crops. I believe many people probably know DevOps already, but maybe not many people, very few people know what is a DevOps C-crops. In one word, you know, DevOps C-crops is the DevOps plus cybersecurity. Yeah, so why we need the cybersecurity in the DevOps? Okay, so let's start from like, what is a DevOps C-crops? Actually, this term was created quite a long time ago. Originally, it was called DevOps C-crops. I heard about that, you know, probably that two reason people change the name to DevOps C-crops. So the one reason is, you know, the short name for the DevOps C-c is DOS. You know, there's another network attack called DDoS, so it's very similar to this name. So in order to not to have duplicate names, you know, people start to change the name to DevOps C-crops. Another reason I heard about that is, you know, the DevOps C-c. It's still followed a traditional way for the cybersecurity, which means we do the DevOps first and then operations. And finally, before you release to the production, they do the cybersecurity assessment. So in order to have something new, you know, people put the security in the middle, which means the cybersecurity should cover the whole DevOps process. You know, similar to this figure on the page, you know, it's easy to see, you know, the cybersecurity should cover the whole DevOps process. And the main purpose for DevOps C-cops is to shift left the cybersecurity to the development areas. Yeah, so very similar to our DevOps, you know, we shift left the testing, we shift left the operations. So for DevOps C-cops, we shift left the cybersecurity. And it's able to, for everyone, you know, you try to get everyone to respond for the cybersecurity, not only the cybersecurity department. Okay. So now, you know, let's go back to why we need DevOps C-cops, why we need to do this, right? You know, here I use one example, you know, try to explain why we need the DevOps C-cops. So there's one figure on the top, and you know, this is just one example, you know, it's just one example. So on top, so we can see there's a traditional development process. So for, it takes like three weeks for the whole development process, like we gather the requirements, we do the design, we do the coding, we do the testing. So finally, it's ready to be related to the production. Yeah. And also, and then before we release to the production, it takes like one week for the cybersecurity assessment. Yeah. Okay, so by doing the DevOps, I will try to reduce the development process by using probably the automations or microservice or agile methodologies, you know, whatever, you know, we try to use a different way, you know, to reduce the whole development process. So for example, for the figure in the middle, you can see, I will reduce three weeks into one week. So we'll make it faster. Yeah. But the original DevOps, it didn't consider the cybersecurity. So for the cybersecurity assessment is still one week. So you can see, you know, it's easy to know it's easy to see the bottleneck, but the whole the delivery delivery process. Yeah, so it's easy to see the bottleneck. So you know the whole purpose for that will see cops now, they try to, they try to further reduce the whole process, you know, by reducing, you know, this period of cybersecurity assessment. So like the figure on the third figure. So we try to reduce the set, the cybersecurity assessment to further reduce the whole, the whole process to make the faster. Okay, so I think this, this, this example, you know, I hope you can easily understand why we need the devil C cops, you know, from this example. Okay, so next one, let's see the benefit. I think the first one, we have to talk about this already from this example, you know, by using by implement, you know, implementing the devil C cops is to make the faster, make it the whole process faster. Right. So the benefit control risk. What does it mean. Originally, you know, we, for the team, they rely on the separate security team or separate secret department to do the separate secret assessment. So they rely on the vulnerabilities. Yeah, before you release, release to the production. But by doing the several devil C cops, the developer and also the tester can also found the vulnerabilities earlier. Yeah, so, so we can see like, you know, it's under control, but under control by the developer and tester is not only rely on the separate security teams. So the third one is cost of saving. What does that mean. So it means like, you know, when you find this vulnerabilities late, late, late stage, for example, traditionally, before release to the production, if you found the vulnerability at this stage. Yeah. So you have to be feedback to developer, but developer to fix these vulnerabilities. And then you have to go through the whole process again. Yeah. And if you find what abilities again, you have to feedback, fix the problem again, and, and go through the whole process again. So you can see, like, you know, if you can, if you can find the vulnerabilities earlier at early stage, not the late stage. For example, we found the vulnerabilities at the coding stage, or at testing stage, and then, you know, for developer to fix the problem earlier. Then we don't have to go back. Right. So this means, you know, we can see the cost.  You know, I'm the only least of the three key points, you know, people benefit. We can, we can get from the devil C cops. So the next one, I will talk about some like devil C cops, current status, and also is the challenge. There's the one devil C cops community in Singapore, it published the devil C cops reports every year since 2017. So now, you know, the data and show here is many come from this report. It show shows like this devil C cops activities, mainly come from like the technology and the financial industry. Yeah, so you know, for these two area is the is covered like almost half of the devil C cops activities, which means there's a much deep, just much demand for off the devil C cops from the technology and the, and the financial industry. Okay, next one, this figure is where it's very interesting. When I did DevOps before, many people asked me one questions.  You know, so what was the, what's the most reasonable and the best number, the best ratio between the developer and the operations guy. To be honest, you know, there's no right answer for this. Yeah. And now, you know, when I'm working on the devil C cops, people still asking the same question, you know, what was the reasonable and probably better ratio between developer operation and the separate guy. Yeah, to be honest, I don't know the right answer. Yeah, and I don't also don't believe that the right answer. But in the, in the reports, I think based on research, they give, I think they give some reference. So here is a number that give to us. For example, if there are 100 developers, they're probably like 10 operations and only only one, several security guard. Yeah. So it means like, you know, normally in the company, then that there are not too many separate people, or it means it's a lack of separate great people. The first time I saw this number. I'm trying to find the same situation. And finally, I found it's even one is even worse number. So that there are like 200 developers in hibc with only one separate security guy. So like 200 to one. Yeah, so you can see like, actually hibc we are lack of separate people. So based on this, actually, I even have some some thoughts myself. You know, for like, I'm probably thinking I'm thinking like my keys grow up. I probably will ask him to learn the separate security. Yeah, probably to go to college to learn separate security, because you know, there are not many people working on this. Maybe it's easy to find a job. Yeah, just kidding. Yeah. Okay, so the next figure is also quite interesting. Actually, it's a show like many people believe separate security is important. But it's probably only half of people do something. Yeah, people, you know, it's a still, it's still only like a basic kind of work. So talking your people only talk about the separate security but not not many people working on that to be honest, I think in the real world in the practical practical work. The number probably is much even lower than this. Yeah. So this, this figure show like, you know, the most popular they will see called choose, you know, be used in the company, like a web application firewall, container and image separate tools, open source tools. I think currently it's become more and more popular. Yeah. So static application tools. This is mainly used for the source code and also dynamic application tools. So I will later I will talk about tools in details and I will share more information, you know, how we use the tools to implement that was a cop. Okay, the challenge. Similar to DevOps, you know, for that was a cops and feel it's probably even harder to implement that was a cop. Yeah, because the separate separate security is too far away from the business. It's too far away from business.   I think it's even harder for that was a cop. Yeah. Okay, I think the challenge, mainly come from two area. So one is the technical challenge. So, because the Delta C cops is very new concept. So far, they are not too many product available on the market. It's not many tools or technologies for the Delta C cops on the market. Also, it's even for the existing tools or existing products for Delta C cops is still not a metro enough. For example, for the scanning results, you know, the result is not accurate enough. So, so for this is this area, the technology or these tools are still not not too much metro. Okay. This is taking technical challenge. But, but I'm basically my experience, you know, the muscle challenge actually come from the people come from the culture. What I mean, you know, most of the people, especially for the developer. Many developers, you know, they don't believe the cyber security is their job.  It's not that, you know, for developers, they only need to focus on coding. Yeah, I think it's a, you know, it's a traditional way, you know, people only believe developer only working on on the coding. But even for the people, you know, who have this mindset already for the developer. They believe the cyber security important. Sometimes they found they probably don't have enough knowledge or skills into fix these vulnerabilities. Yeah, this is another problem. Also, another big problem, I think currently for Delta C cops is from the senior management, you know, similar to the DevOps, when we try to promote the DevOps in the company. It's the best method is from top to down. It's from top to down. Yeah, if your senior management to support the DevOps, you know, it will be easy, you know, to implement or promote the DevOps across the whole company. Yeah, similar to that will see cops, because, again, many people, many senior management, they more care about the business, the business delivery. So, again, like I mentioned already, the separate security that too far away from the business. So not not too many senior management, you know, they have the mindset, you know, regarding, you know, we need to focus on the cyber security, we need to introduce separate security into our DevOps process. So, you know, this is not a key challenge, you know, we need to convince the senior management first, you know, and then will be easy to promote and implement the service, the devil sick cops. Okay, but let's take one example from, you know, my, my, my example, you know, like I mentioned, I started to do the devil sick cops in 2018. I think probably in July or August. It's my first time to present, you know, to share this devil sick cop in the senior management board. You know, I talked to, you know, I think at the moment of the more than 20 senior management in the meeting and share is on, you know, the devil sick cops. I still remember like, you know, two years ago that the only one city manager. He supported my idea. Yeah, one out of 20, only one support my doc cops idea. Yeah. So this is our challenge. And later, after half a year, you know, during the half a year and try to, you know, do some pallets to get some pallets to do to do the doc cops. And then we get some achievement from this parallel teams. And finally, I remember in January 2019. My, this is my second time to share this devil sick cops in the senior management teams. So at the moment, because we got some achievement already. Yeah. And it's probably easy to convince the senior management. So I still remember at the moment, almost half, almost half of the senior management, you know, they support my idea. They have interesting in the devil sick cops.  So you can see, you know, gradually, you know, we, we, we try to implement doc cops. And also the senior management is very important for the whole, you know, devil sick calls implementation. Okay.  Okay, for devil sick of tools. It's a man. It's normally we classify them into four different category. So the static is applications that security testing tools, which means is the many first on the source code is kind of source code based on the rules. And I find that the code don't follow this set of security rules. Yeah, like sequel injection, something like that. The second one is a dynamic application security testing tools. For this kind of tools, they try to follow the hacker behavior.  Yeah, so this one is similar to your testing case. You need to produce some tests. So some, you'll need to produce some security testing case. Yeah, to simulate the hacker behavior. Okay, the third one is the interactive applications security testing. This one is is install some agent, your applications, or your proxy proxy. Yeah, when your application is running, they try to capture some data. And try to do some analysis to see whether or not there's a vulnerabilities or threat in your application. Okay, the last one is for the open source security tools. So you know when we do the coding or when we try to release some products, we sometimes we need to introduce some third party library, third party tools, or third party package or third party plug-in. So how we can guarantee, you know, the library or tools from third party, they are security enough. Yeah, so this is the reason why we needed to scan for this kind of work. Okay, so let's talk about this tool in details. You can see from this figure, we try to, you know, measure the different tools from different angle. For the SAS, there's a static application security testing tool, we call SAS. For the SAS, it's like the white box. Yeah, like I mentioned already, it scans the source code. Yeah. So for this kind of tool, it's easy to find, to discover the vulnerabilities. And also, it's kind of easy to track the source, like which level code resulting in just the vulnerabilities. Yeah. And also for this tool, it's easy to be accept by the developer, because it's a coding basic. Yeah, it's because it's meant about source code. However, the disadvantage for this tool is it has very high false positive rates. Yeah, so because this is a disadvantage, normally people have to spend time to review the results. To see how accurate the result it is. Yeah, and this will result in, you know, much labor cost, because people have to review this. Also, the scan speed will become slower when your coding, your line of code is increased. Yeah. And finally, this tool, it needs to support different language. Yeah, so also make it more complex. Okay, the next tool is we call does, like I mentioned already, you know, this is, this is try to simulate the high court behavior. Yeah, so it's black box. Yeah. And this tools has a large testing coverage, and also be able to do the business, the business of one bit logic, the business logical scanning. And also it has lower false positive rate. Yeah, but the disadvantage 42. It's also, it's not it's also a lot because as I mentioned already, this is similar to a testing case, you'll need to produce your security testing case to simulate the hacker behavior. So this will require, you know, the people, you know, the professional cybersecurity knowledge and skills for you to be able to produce this security testing case. Yeah, so, so this is not easy. And also, it's not easy because it's black box. This is not easy to discover the wall and beta source. So we know the problem, but we don't know why I call this problem. And finally, these two also bring a lot of dirty data. So sometimes you have to clean the data, your database. Yeah. Okay, the next one is a interactive application security testing tool, we normally call as asked. So this is, this is what we call like green box, the before is white box black box. This one called green box. So like I mentioned already to use some agent and proxy to analyze the data in a system. But these two is also easy and fast to find your vulnerabilities. Yeah, and also has a very, very, very low false positive rates, and also easy to track the one beta source. So 1342. It's not a march. For example, like when when the agent is upgrade or is updated. So the web server also need to reboot. Yeah, so this will result in like a bit higher the deployment cost. Also, for the S. So we can't do the business logical one British scanning. So, you know, I try to, you know, to share the tool, you know, try to find more, you know, what was a good 42 and what's the negative 42. So people can, you know, you can compare the different to to see, you know, which one is is good for your scenario. Okay, here is the tools for the different tools, you know, available on the market. And the first, the most popular one, you know, just based on my my experience is check marks and 45. Also, we have the IBM app scan for the dots and as this tool called HP web inspect. And also there's a one open source to call all one step. Contrast is a one as to on the market. There's a one called so not have actual server. And another one called jfrog extreme I didn't list here. There's a one called dependence check, which is the open source to from all of us. Okay, and the thought is a separate as the DLC called choose currently is a mainly first on the two stage. So, so like the sauce and the false tool. One for the coding stage. Yeah. One for the source code one for a third party, like whatever library or all this tools. And for the dust and s is mainly first on the testing stage. Yeah, like I mentioned already is a try to you produce a security testing case to simulate hacker behavior. So you use the agent and proxy, you know, to capture the data to analyze the vulnerabilities. Okay. Finally, I'm probably share, you know, how we implement the DLC cops in HSBC and also how we establish the culture over there. So before, you know, we cover more background, the challenge and also choose now let's see some, some, some example, some keys. Okay, firstly, we set up some model. You know, for the DLC cops, the one we call it is called implementation model. It's quite easy. The first phase is to implement the separate tools. So like we mentioned before, the truth we mentioned before, we introduce them to like checkmarks. So let's have several, you know, try to integrate integrated tools into our city pipeline to automate the process. Yeah, for any tool we introduce here, you know, all of them need to be automated. Yeah, and for developer and tester, you know, they only see the results only see the dashboard or the result from dashboard or the reported reports.  Yeah, so we, we use three different methods, like it's a study material in the tools. And also, we also probably some online training costs and online training games, I call security call worry, I will talk about it later. And also the separate department probably the separate like consultancy to help the team to use the tools and also try to fix the box. And finally, you know, by using the tools to discover discover the vulnerabilities and by probably training, you know, for people to have enough knowledge to fix the vulnerabilities.  So this is the implementation model and the final goal is trying to produce some, some separate champion or separate experts. Yeah, so we have a different role in this model. So the devil's secret champion. This role we try to bring the separate secret department and the development team together. And to, there's one word I try to make this happen. Yeah, to make this happen similar to the project manager doesn't make it happen. Yeah. And for the separate secret team, you know, on the right, like I mentioned before, they probably the tools, they probably the training, and they also probably consultancy, try to help the development teams, you know, to, to get this they'll seek off skills. And the, the final date, the development teams, you know, when they try to use the tools, when they try to get the training. Yeah, in their projects in the real projects. So with the time. So, you know, they tried, I think they get to use about this, the devil's secret concept. And so, you know, we try to make this happen, make the devil's secret happen in each ABC. Okay, so this is one example, like I mentioned before, we need to integrate the, the, the seven devil's secrets tools into our safety pipeline to automate the process. But here's an example, you know, we integrate the check marks, which is one starts to into a Jenkins to automate the process. And first, the first step, you need to install a check mark scheme plugin. Yeah, so once you install the plugin, there's two different methods that you can, you can automate the process one or use a traditional way, the free scale jobs. So once you install the plugin, you can find that there's one additional tab in the build section called it's cute a check mark scan. You select this, this option, and then you fill the form, you configure this form by input like the check marks server URL, the credential information, and also your source code location, something like that. So this, you feel it when you finish the configuration, you can trigger this job. Yeah, another another way you can use what they call a pipeline as a code. So you use this code, you know, to to configure the whole process. Yeah. So there's two different way you know is a thing. Finally, we will trigger this job will trigger this pipeline. It will scan the code. Yeah, it will trigger the check mark to scan the code. And finally, the producer reports, similar to the figure on the on the right, bottom right, you can see, you know, do you find the vulnerabilities from different level. Okay. So next one is a, is a tool we used before called check marks on the top, you can see that the one figure is classified vulnerabilities into three different category, like high level vulnerabilities, media level vulnerabilities and low level vulnerabilities. Normally, the rules we deal with the different vulnerabilities is if you have any, any high level vulnerabilities, you'll need to fix this before you release to the production. Yeah, so before you release the production, you have to fix all high level vulnerabilities. Yeah, no argument. Yeah, that's all of them. And also for the media level vulnerabilities, we normally give a team a certain time, for example, like a one month. Yeah, so you can release to the production, but within one month, you'll have to fix all these media level vulnerabilities. Okay. And for the low level vulnerabilities, we normally, you know, consider this as a technical debt, the technical debt. So which means, you know, when you have time, when you have free resource, then you can start to reduce this low level vulnerabilities. Yeah. Okay. And on the left of it, you can see another figure, which means, you know, from this tool, you can easily to find which line of code, which line of your code, you know, resulting in these vulnerabilities. So I think it's very good to, you know, you can track the source of these vulnerabilities. Okay, similar another tool called Sona type echo server, you know, this is for the third party, you know, open source, like the open source tool scan. So it's also similar to classify this, this vulnerabilities into three different category, and also is even scan the lessons, you know, to see whether or not it's out of date. Okay, so these are, these are two tools like a checker mouse and the Sona type echo server we introduce we use in HPC at the coding stage and also for the source code, and also for this third party, the third party library and and tools. So here are some training we probably for people. The first one is the train, the study tutorial in the tools for them in the check marks. So for this example, you know, if you click on the question mark, it will show you some information. For example, like what's the risk for this vulnerabilities, and what causes the vulnerabilities, and even give you some example, how you fix this vulnerabilities. Yeah. So this I think this is a set of material from tools. It's very useful for developer, you know, when they scan scan their code when they found their vulnerabilities, then they just just need to follow the example to easily fix the vulnerabilities. Yeah. Oh, sorry. Okay, we also probably some online training costs for the devil sick of training. As I remember, as we had, I think, more than 50 courses. Yeah, and it's for different roles that for the number for business analyst for developers for architect for tester, something like that. And also we have it had different level of the causes. Yeah, so people can learn the knowledge, not the devil sick of knowledge for this online training costs. Also, we, we probably an online training platform, a call security call warrior. This is a very, quite interesting tools. It's a try to, how to say, produce a story, produce a story and then behind the story. It's try to teach you and let you to to learn the separate knowledge. For example, in this case, it's so like, there's some hacker from do to attack the people or server in the UK. And I know this story. The hacker probably go through this from some code. And then, you know, you ask you to see, you know, what's the one baited from this code. And you know, you can see on the left. There's some options you can, you can select. So by using this, just just a platform, I think probably. It's easy. And also, it's not, it's not boring, you know, for people to learn this. Okay.  You know, just for the people to learn the skills. You know, in order to establish the culture in the company, how people to have more awareness about the cybersecurity.  Like security coding competition. Yeah. So we, we launched this in the office and also in China office last year. Yeah. So the whole purpose is for people, you know, to have strong awareness about security. Yeah. As you remember, last year, you know, as I remember, we have more than 100 developers to join this game. So, you know, to answer the questions to, to, to, to, I think the, the business is this platform. Yeah. And you try to answer more questions and to get high mark to win game. Okay. So finally, this is our majority model. What does it mean? And, you know, before, I'm not sure you still remember, you know, I'll show you one example why we need to see cops. You know, you'll remember, you know, the traditional way they will see cops, they will see cops, we know why we need to see cops. But finally, we need we need to get a benefit for the teams by further reduce this a separate assessment. Right. So how do this, you know, before we talk about we introduce tools to find the vulnerabilities, we probably training for people to have enough knowledge and the skills to fix the right at coding and testing stage, but how we can reduce the separate assessment. Yeah. If you don't reduce this, this period, you know, people don't get benefit from this. Right. So this, this, this is the reason why we need this. They'll see cops my trial model. So here's just one, one simple example and show here. Actually, the documents, the document for this my trial model, as I remember is more than 30 pages. Yeah, it's had a very much detailed information in documents to show, you know, which level for the level one, which condition you need to meet level two, which connection me here I just give you one simple example. You know, to show how you meet, how you meet the different level. Yeah.  Yeah, for people to get knowledge. Yeah. So how we define are they will seek off teams.  Then the cyber security teams will reduce the cyber security assessment, probably like, for example, from five days from one week, like file working days to two working days or three working days because they believe you have done some cyber secret job in the coding and testing area, but they can trust you, you know, that they don't have to do too much work at cyber security assessment. Yeah. So how we measure, you know, your maturity model. Normally, we have to condition for a team to be defined as a devil sick of team. So one condition is all the people in the team, you know, all the people in the team, they need to pass level one. For all the people, which means all the developers, all the testers, they need to study the fundamental, the fundamental cyber security knowledge, or they need to know how to use the separate to separate tools at fundamental level. Yeah. So, if you have a basic level, when they coding, which produce a code, I think they have to have more avenues, you know, to award just one of it is. And also, when they try to, when they use the two of the final one of it is at least they have the basic level to fix the one of it is. So it, the first condition required all the people in the team, they need to have the fundamental skills. Okay. This is a conditional one. The second condition is at least in the team in the team at least you need to have one, at least one people need to pass level three. Which means you'll need to have at least one people to be recognized as several secret champion or several secret experts in your team. So this guy, when, when the team from the one of it is, and, and other people can't fix the one of it is. So is this this guy job to help team to fix this one of it is to become it become the expert in the team. Right. So if you meet these two condition, all the people pass the level one, at least one guy pass level three, then we recognize your team is the devil sick cop team.  You know, the separate assessment I mentioned before, you know, this is in the example, this is one week separate assessment. Based on your maturity model. Yeah, it was based on your maturity level. Yeah. Okay, I hope you understand what I'm talking about. Yeah, so this is how it works. You know, in HIPC. So like I mentioned, we introduced tools to find the vulnerabilities. We probably training for people to have enough skills and knowledge to fix the vulnerabilities and also to produce experts in the team. Finally, you know, we try we use this a maturity model to measure your team. So all your people, all the people in the team, they need to pass level one, at least the one people need to pass level three.  Yeah. And also, based on your devil sick cop maturity level, the devil sick at the separate secret department will try to reduce the separate security assessment period. Even probably to zero days to make it all faster. Yeah, so I hope you understand the logical behind this, you know, this is the hallway implement devil sick calls and how to get people, you know, to benefit from this. I think that's all my my predictions.  And if you have any questions, you're free to ask me. Okay, thank you.


Hello and welcome to another OpenShift Commons briefing. This one is on cost management and Sergio Acon Cardianis from our Red Hat Product Management Group is going to walk through and give us a preview of some new SAS capabilities that are part of Red Hat OpenShift. And I'm going to let Sergio introduce himself and his topic and we will have live Q&A at the end. And as always, I will post this on YouTube along with a link to the slides. So please, Sergio, take it away. Thank you very much, Diane. So I'm Sergio Acon Cardianis, I'm the product manager for this new SAS capability that is part of OpenShift since version four to three. And I'm going to tell you a little more about why we're doing that and I will deliver a short demo afterwards so you can see it in real life. Of course, this includes some broad map and it's a technology preview. So just bear in mind that when you're saying this. So one of the reasons for this is that understanding whether the cost of a container in the cloud is really complicated. There's a lot of things that move all the time and that's the beauty of it. When you have containers, everything is more dynamic that you are used. And so you get basically a misalignment between what you are seeing, the resources that you are using, the way you are using, and your business. When it was a VM that supported a single application, that has been fading away into a place where you're basically running thousands of containers in different machines that appear and disappear. So that's a complete paradigm shift. And that means you need new tools and you need to make sure that those tools are working. And cost management is an application that is basically helping you fix those problems. And I would say this is important not only for the operation or the IT manager that wants to know how things are working and just basically need to know more about what is going on, but also to the business side of things. So just understanding how much something in particular is costing me, it's more and more being important for the business. It's easy. We talk a lot about VM sprawl and about people creating accounts in the cloud providers and using them. But it's more than that. It's being able to accurate report your financial numbers. It's being able to set up a forecast and a budget in an easy way that makes you really happy with the result and allows you to take business decision on time. So we're creating an application service that is part of the OpenShift container platform since version 4.3 and is going to allow, first, see your cost, see your cost in the cloud, see your cost in OpenShift, understand what is going there. Number one is map your business to your infrastructure, to your OpenShift elements, to your cost, and then understanding how you're using your infrastructure, how you're using your containers properly. And the last part of this is getting the information that you really need to communicate that effectively to the people that need to know. So in order to generate your show back, charge back data, and influence how your customers, internal customers, external customers, are going to be seeing and using your infrastructure, your platform. So this is the new service, cost management for OpenShift container platform that is right now in Tech Preview and will allow you to see, to have that visibility in your cluster, both on-premise and in the cloud, and allow some mapping, some modeling of your charges, and also allows you to have an interface between your cost in the cloud and your customer are using them. There's one big thing you need to understand that's already some capabilities of this in OpenShift. So if you install operator metering, many of those things can already be done. So you can have reports, you can schedule them, you can see the basic data because OpenShift includes Prometheus out of the box, and of course you have optional integration to Amazon and you can plug that into any BI tool. So if you really just wanted to have a report, a weighted report on the usage using Prometheus data, you already have the capabilities in operator metering and it's already extendable using an SQL query language. So that's not what we want to do with cost management. We actually use that information to provide additional value at it. So the first thing is we do cost management for any OpenShift, for most of one, anything that you have, it's basically you can add it, provide that you have an OpenShift for environment. We enhance the information using the metrics, of course, but also metadata coming from both OpenShift and in the cloud. We provide a full graphical interface on API, so you can use it in a better way. It's easier to use with dedicating a lot of resources to the UX piece of this. And of course we don't just report, we just don't do reporting. We also allow you to model the cost in different ways and start using labels and tags to do some business mapping. Just to give you some example, so the first one will be, well, you're running OpenShift and you're running that in many clusters. You have your production clusters, you have your QE clusters, and they are all running in the cloud, or some of them are running in the cloud and others in on-premise. So the first thing you need, if you want to make sure that your costs are under control, it's a way of looking at all that information in a single place. So we have customers with more than 200, 300 accounts in Azure or in Azure. We have customers internally that have up to 2,000 Amazon accounts. Just being able to make sense of all of that is a challenge. But it can be the same with OZP. You have 10, 15 OZP clusters. How are you going to know the number of resources that you are using? And if really the deployment, it's being used in the way that you intended. And also, if you're really getting the TCO that you're expecting from that. There's a piece there too, that is the link between these two layers, how OZP clusters are deploying in Amazon or Azure, how that is going to affect your costs. So if you're using a database in Amazon that is not inside OpG, but outside, like many customers do, how that is affecting the cost of your service, not only that inside your cluster. And of course, that's basically going to map really quickly to how much is my project cost to me, how much is my application cost to me, and how can I generate a report that is going to allow me to see what services are running, how much is cost to me. And just do as soon as I can make the right decision, the right business decision that we have. So let me go quickly to a demo. And I'm going to show you a demo of the application. So you can see here, this is cost management. It's part of cloud.redhat.com. Coventry is in beta, but it's going to be GA soon. Our schedule is to be released as GA in Summit. So part of the cloud.redhat.com services, you will see cost management. And any OpenShift 4.0.3 customer or plus will be able to use it as part of the subscription. So it's included with your OpenShift 4.0.3 plus subscription. So what are you going to be seeing here? The first thing, it's, of course, you need to manage your infrastructure. Being Azure, being Amazon, we plan to send it in the future. But right now, this is the two clouds we offer. And the first thing you're going to be seeing, it's all the information from all your accounts. And one of the things, most of the time, what we find is that the top accounts, the top services are going to represent, well, Pareto, 80%, 90% of your cost are going to be a limited number of services, a limited number of accounts. So the first things we show you, it's those most important account services of region, those parameters that allows you to see what is going on. The way we do this, we plug into your bill. So in Amazon, it's the core files that provides information about your invoice. And in Amazon, we do something similar. And we're going to show that together and compare that with last month. Reason why one of the first things you want to see when you're seeing this is that the number of resources that you're using compared to last month, the cost of your accounts is going to have a profile that is easily identifiable. If there's something wrong, you're going to be really easy understanding why this change of slope, whether it's forced because you created a new service, you launched a new application after you generated a new cluster, or just basically because there's something wrong and you need to investigate further. So one of the things is let's make it easier to see what is going on in all your accounts. And then in order to understand this graphic that is comparing the cost on last month to the cost up to date, we're going to be showing the components. What is your charges in virtual machines, in storage, network, or databases? For Amazon, it's actually the same. And this is going to compare again this month against the previous month and it's going to show you your top three services, your top three accounts. The other thing that you can see here is that if you have one parent account and many children's accounts, we're going to ingest all that information and show it that together. So if you have like, we have three, five, 11 parent accounts and then several hundreds children account below those, you're going to see all of them here. You're going to be quickly identifying what is going on. And then as you can see, we also are adding information about accounts and regions so you can easily compare services like computer storage on network and databases. So I was using as an example before, what would you have this month? And as you can see, we decommissioned a lot of VMs a few days ago. So the charges are going really slow right now. So that's good, but that's not why this tool has been built. This is just basically something we need to do to manage your infrastructure. The important thing here is to understand how that affects OpenShift. So for that, we are doing two things. The first thing is identifying which parts of your infrastructure are being used for OpenShift. And we do that in two ways. The first way is that your OpenShift notes are running in Amazon or Azure and Prometheus operator metering knows that. This unique ID using Amazon, using it in Azure, that identify which VM is running which note. So we can basically map the notes in OpenShift to the VMs in Amazon and we can do the math. And the other thing is we use tagging. And there's a lot to say about tagging. I cannot extend myself too much on that. But if you tag appropriately things in OpenShift, you use the proper labels and you tag things in Amazon in Azure, we basically will use those labels and those tags to identify that that RDS service or that EBS is being used by your project or by your cluster. So we can show that information together. That's good, but that's not going to support every single use case because you have clusters that are not running in Amazon or are not running in Azure. And you have pieces of your software maintenance part of that that is not being reflected in your bill. There's some analysts saying that only between 25 and 50% of your real cost at that of the infrastructure, being the 50% to 70% remaining, are every single thing, software maintenance, support, backup that raises all the things that you need to be running so your application is working. So we allow you to create cost models. And what is a cost model? So a cost model is allowing you to generate a model of your cost. The way we do that is to fall. So you can add that for Amazon and for OpenShift, but you're basically going to be able to select CPU, memory, storage, or note. And then a selection of how you're going to measure that so you can put a price. So you can put a price per note per month or you can put a price per CPU usage per hour. Just put a price on it. And once you have done that, as we understand that that's not the way to model all your charges, that's going to allow you to model the charges when you know the cost of your CPU, when you know the cost of your memory, or you know the storage cost. The other thing you can do is, as I tell you, put a price on the note and shortly in your project and your cluster. The other thing is, yeah, as well, we have identified that Amazon is 50% of your charges. So you can put 100% markup on top of your Amazon charges. And that will create a full model that you can use to get closer to your real cost. And that's actually, this is not a billing tool, so we are not trying to be exactly accurate. Well, you can if you go yourself and you really have a real number for that. But that's good enough to have a better view on your costs and then take the right decision, because it helps to take the proper decision on what is going on. Let me change that. I'm not going to recall that. Let me go back to that information. So we talk about OpenShift. We talk about the clouds. And we were showing only the top three services or projects or cluster that were more important to you. But that's not enough.  So what we are doing is allowing you to go deeper into that. And that's where you see the details part of this. So you're going to be able to select Cluster, Note, and Project. And you're going to see all the information group by that information. Every single piece of that, not only the top three. So you have a list here with every single project that this cluster or any cluster that you have added to cost management has created. We're still comparing this month to last month because that's important information to take business decision. Then you're going to see how your costs are. This allows you to see a lot of information about your tasks, the limits, the capability of your cluster compared to your project. And there's always that view that we have before on time. Right now we have the same, but specifically for these projects. You can filter all the time. So you can define that you only want to see the project that has weather on it. Or you can basically identify a cluster and then find only those projects that are running in one of these clusters. So you have a better view of this actually where you are looking now for. Once you have identified that, you just select the information and you can export it daily or monthly. Or you can access that through the API, same information that you have in here. So you can basically automate all of this. You go to the cloud. It's going to be basically the same, but with the component that makes sense when we're talking about the cloud, not OpenShift itself. So you're going to be services on regions. You're going to be able to select account services on region. I was telling you before, this allows you to map business to the technical piece. So one of the ways of doing this is identifying the tasks. So we ingest the tasks. In Amazon, you basically configure what tasks are relevant. In OpenShift, we ingest all the tasks that are created. And surely, you will be able to filter them out. And you can basically get the same report we're showing based on that. So yeah, we have free apps running in our Amazon web services environment or accounts. Analytics, a catalog, and a cost management application. So you can see them. And also, we are showing you whatever is not tagged. And that's basically mean we need to make a lot of work to tag properly the information because most of the information come from accounts that are not using the tag key app. Still, you can filter as you could do before. And you can see a view inside of services account region and your historical data of your cost, specifically for this application. Let me finish this showing you where the documentation is found. So if you go to OpenShift 4.3 on docs.redhat.com, you will find all the documentation that allows you to configure and start working with cost management today. And I will go back to my presentation and show you a couple of slides more just to wrap up. OK. So just to recap how we do that, we basically get information from operator metering. We get into OpenShift, use operator metering, and put that information, the report that you store into the cloud. So we can use our SaaS offering to show you everything you have seen today. We do that for OpenShift 4. We do that for Azure. We do that for Amazon. We get that information. We put that into the cost model. So we modify the cost, our new things, ad markups. So you get closer to the real cost modeling and you can use that information to take your decision. And then we distributed the cost using tax so you can have your business level application cost or you can have your project, your node cost, and you understand this actually. What is the real cost of using your application, running your project independently or whether your application is running in one or several clusters, several projects? And then we use that information to provide you the dashboard and the API. So you can use that information further to generate your reports, to identify trends on just take your decisions. This is an open source project, has been since the beginning. So if you want to collaborate, you want to add new features, you want to support another thing, you just basically need to have information in another way. Just go to jithub.com, project Goku, and you will find all the code and all the information that we have. We on Red Hat, we offer that as a service. So you have it available with OpenShift. But if you want to go and just contribute, we will be really happy to get your input on your help with Project Goku. And I will say lastly, really quickly, of course this is roadmap. One of the things you're not seeing here is the roadmap. We are working to add new sources, ECP, IBM Cloud, and add new capabilities. In the short term, in the next months, you will see new capabilities for the business user, for casting and budgeting in most of them. Some capabilities we need that multi-currency or better integration to OpenShift clusters or your experience is better. And then the other great thing we are trying to achieve and we are working with the Center of Excellence for Artificial Intelligence in Red Hat is the infrastructure optimization. Being able to define the best way of deploying your infrastructure, how to use reserve instances, how to size appropriately your environment so you get the best for your money. And we will continue. There's a lot of things around cost management that we wanna be doing, like supporting what-if scenarios or adding 12 months to the view that you saw before. And of course, many in changes to the user interface and to the API so it's easier to use. How do you get to start it? Well, it's available today. You just go to beta in cloud.redhat.com and you will find us there. You just need to have an OpenShift SQ. So whatever, if you have an OpenShift SQ, you will be there and it will be available for you to use. You need to be an admin or admin in cloud.redhat.com to create new sources and to configure things. We don't want anybody to see everything. So we have our back and you can define what your users are really seeing. In the tool, by default, is nothing, but you need to add yourself. And you just go to getting started with cost management guide and that's gonna allow you to see how to do properly tagging and how to create cost models that allows you to distribute the cost more accurately and understand better what is going on. For any questions, cost management.redhat.com and we will receive an email. We are really happy to work with customers. So if you really want to contribute more with ideas, feedback or just code, just let us know and we will try to help you as much as we can. I will say that's the end. So perhaps I can accept now some questions. Well, thank you very much, Sergio. This has been really good. I'm sort of blown away a little bit by the visibility that you're getting for people on costs here, it's great. And I'm really looking forward to some of the AI optimization stuff and hopefully we can have you back when those features surface as well. I don't see any questions right now in the chat, but there were... I have one or two, if you have one time. Yeah. Sergio, I may have missed it, but when you talk about the cost models, can you aggregate your projects? I mean, typically when we have a multi-tenant cluster, there's a set of projects that are part of one cost center and another set of projects part of another cost center. And being able to basically aggregate all the costs up to those cost centers is often where the customer starts in not per project, but per cost center. Is that something that we can do already or is that on the roadmap? You just basically need to tag your project with your cost center tag. And then you will have a report per cost center. So when I was showing the application tag and how you choose them, you just need to go to OpenShift, go to your project and label, use a label on it saying this is cost center X. And then in the API, in the interface, you will be able to group by cost center. Perfect, thank you. That was a really, I thought I had some couple of follow-up to that, but that answers it, thank you. So Sergio, thank you for finally coming around and giving this presentation. We've been waiting for it for a while and we totally appreciate you taking the time today. So thank you very much. Thank you, Diane, that's, I was really wanting to do this and yeah, we couldn't. And now I hope you like it and I hope it's useful for any customer. Most definitely.


Good morning everybody. So today's my birthday and it's a very special day for someone else too. It's not my birthday. No but it's pretty special. We're gonna go make the appointment to get my learners for my class one. Got my medical stuff right here. Right here. Passed with flying colors. Yeah I studied so hard. So hard. So she's got to pass a written test now to get her learners and then we make another appointment down the road for her to come do her pre-trip, her air brake and her road test before she can get her full on class one license. I'm nervous about the the air brakes part. That's the hardest part. Yeah the air brakes and the pre-trip. The driving well for me the driving was the easiest part. I'm pretty detail oriented so I think the pre-trip won't be as hard for me as the air brake part because I don't understand that stuff but he's supposed to teach me so get on him about that people. I think I'm going to learn a few things myself. Brush up on a few things. It's terrible. Well I've been driving for a while so this will be good for me too because it'll be a refresher course for me. Let's go make your appointment. Okay. You gotta get your learners. So you can drive a big truck. Woo! Truck or brick? Truck or brick? Yep. Oh this door doesn't want to stay open. Oh geez. So we're here at MPI. This is where we uh is there a Manitoba public insurance? This is where we do everything related to driver's licenses. The only place in Manitoba you can get insurance for vehicles or get a license. They have the monopoly on this so there is no arguing insurance prices against.  The government controls it all. Yay. Government. So we made an appointment for her to get her learners. One is it again? Friday at 145. Friday? You sure it's not Thursday? Friday. You made it Friday? For sure. I got a paper with the confirmation on it. Going for her learners. Only need my learners for two weeks and then I can go get my driver's test. Yeah apparently. I'll keep it a little longer than that. Things are very booked up because as of September 1st in Manitoba you have to take your course so things are really really booking up solid lately so I'm going to have to really get on that. Yeah after September 1st it means like you'll have to go through an official specific trucking school which costs about $9,000.  You'll have to. I mean I understand why they're doing it. It's good and bad but we just want to save that money. But now it's time to spend my birthday money and get some new work shoes. They're so comfy. These shoes that I have on right here these this is what they look like new. This is what they look like after a year. So they actually lasted pretty well on the bottom here too if I can not fall over. Still got some tread. A whole year. And they'll still last through spring yet. I'm not even going to use these new ones till all the mud goes away. I'm excited. Happy birthday. Happy birthday to me. Spend my birthday money on work stuff because I'm cool. Get out. Birthday haircut. You like that? Sure do. And a birthday hat. You're wrecking the birthday haircut. Okay birthday haircut. I'm conflicted. I don't know if I should show off my birthday haircut or my birthday hat. Birthday haircut. Okay. It's only going to be like that for so long? Yeah. Now she's going to drop me off at the gym for a little while while she comes back and does some grocery shopping.  We can go home and hopefully relax. But we got some work to do at home yet. It's not just relaxing of a birthday that I wanted because I wanted but that's life. Always stuff to do. That is a bright yellow car. Why? Why would you? Is that cool? Has no license plate. There she is. See this location is nice. That whole building is snap fitness.  Drop you off at the dumpster here. Oh appropriate. Thank you. I appreciate that. Your birthday chauffeur. Birthday dinner as requested by me. It's one of my favorite meals of all time. Do you make it the best? We just can't eat it all the time because we dive heart attacks at a very premature age. What's the official name for it? Chilche or Kilke. It depends which region you're from as a Mennonite. If you're straight from Paraguay it is called Kilke. If you're from Mexico though I believe or no pardon me other way around. If you're from Paraguay as far as I've been told it's called Chilche. If you're from Mexico though it's usually called Kilke. So I don't know. I'll let my mom and dad figure that out. Mom's from Mexico dad's from Paraguay so they can they can duke it out and come up with a new name for it I guess. Just meat somewhere in the middle. Egg noodles and shmoot pot or cream gravy as Canadians call it. Cream gravy? Cream gravy. I call it shmoot pot. I didn't know what cream gravy was when I first started working at the diner. They kept calling it cream gravy. I'm like what is this and they're like shmoot pot. Oh okay yeah yeah yeah I totally know that. It's deliciousness that's what it's called. I thought everybody knew that. Now if you're not a Mennonite or married to one. Well if you're not a Mennonite you're missing out on a lot of good food. A lot of good heart attacks. And a few heart attacks. None of the food is healthy but it's all so good. Like I said in my vlog a Mennonite's version of vegetables is fried onions, corn and coleslaw. That's it usually. Sometimes the odd Mennonite will make peas or beans but that's it. That's all. Those are vegetables right? Yeah but see I'm just saying that there's no other vegetables. And then I have the shmoot pot in there. And what's that made out of? Cream, butter, flour, pepper and meat drippings when you fry or boil it in water. So it's made out of fat yeah is what it's made of and pepper and pepper. A little bit of pepper in there for flavor. Pepper yeah. Oh and it tastes so good. So good. Britt, Britt makes it the best. Thanks babe. I make it just like my mom makes it and she learned from my dad's grandmother who was a Mexican Mennonite. Mexican. They all came from well northwestern Germany and then they went to Prussia for a while. Now Prussia doesn't exist anymore. So just Russia they went to Ukraine. We kept getting kicked out of every country we were in because we were weird. As far as I know though Mennonites I think originated um well they're Dutch. Where would that be? Northwestern Germany right along the border with Dutch with the Netherlands and Germany yeah. Yeah because our last name Giesbrecht is uh could be considered a Dutch name but uh it's officially considered if you ask Google it's considered a German name but our people we originally came from northwestern Germany and the Netherlands it's the borders have all changed uh they've all changed over the centuries but same with my that whole region there. My maiden name as well was originally I think Dutch but it's considered German. It was Ham. Yeah. HA double N. We had a very unique uh religious way of practicing religion and at the time we kept getting pushed out of every country going country to country to country to country trying to find a country that would allow us to protect uh practice our religion the way we wanted to and no one wanted to because there was no freedom like that back then and so eventually we made our way to Canada where they promised us freedom of religion and so far so far they're still messing with us a little bit they've gone back on a few promises since we got here but they've allowed us to have freedom of religion here and uh the US is the same thing big midnight population in southwest Kansas and a lot of them went to Chihuahua Mexico as well and a bunch went to near Chaco Paraguay I think that's the name of the city I don't know but too much talking time to eat dinner is served happy birthday


In the last lecture, I spent the whole lecture showing the proof of positive real lemma, but throughout the proof I kept talking about the definition of positive realness and the definition of the matrix situation for positive realness and so on. So, I would in this lecture initially try to spend time and give a sort of a better idea about what this definition of positive reality especially for matrices are. Now, as far as the definition for positive realness for matrices are concerned, I will be following what is given in the book by Khalil. But as I was saying earlier for the scalar case, there is no real agreement about what exactly is the definition of positive realness. So, what I would do is I would just revisit what I had said about positive realness and I would start with the scalar case and then I would give you the definition for the matrix case and motivate what are the advantages and disadvantages of the equivalent definitions which are there for positive realness. So, let me start by revisiting what the definition of positive realness is. So, given a transfer function g of s, one definition for positive realness is you look at the Nyquist plot and if the Nyquist plot lies in the first and the fourth quadrant. So, if you have a Nyquist plot which looks like that for example, then that transfer function can be called positive real. This is one particular definition of positive realness that you could use. So, if the Nyquist plot is in the first and the fourth quadrant, then you call it positive real. And sometime back I had given examples of transfer function. So, this is single input case. So, it is some polynomial divided by some other polynomial. Now, if you look at the theory of Nyquist criterion, then you know that if the relative degree, that means if p is a degree 3 polynomial and q is a degree 4 polynomial, then the relative degree is 1 or minus 1 depending upon the way you want to look at it. Basically, only if the relative degree is 1 or 0, can you expect to have the Nyquist plot restricted to this half. Now, the reason for that is because if the relative degree is more than 1, then it turns out that the angles that is so if the for example, if the denominator is 2 degrees higher than the numerator, then what would happen is finally it would I mean the Nyquist plot would enter this quadrant. So, one observation that you have for single input, single output case is a Nyquist plot is restricted to this half of the complex plane if and only if the relative degree is 1. Now, even if the relative degree is 1, we still not guaranteed what we want as far as the positive real lemma is concerned and the reason for that is several. So, let us just take this definition that G s has Nyquist plot in quadrants 1 and 4. This is the same as saying G of j omega plus G of minus j omega is greater than equal to 0. Mind you in this particular case, I am thinking of G s as a single input, single output case. So, it is some polynomial divided by some other polynomial and so this one is greater than equal to 0. So, that means when you evaluate the transfer function along the imaginary axis, that imaginary axis, the image of the imaginary axis lies in the right half of the complex plane. Now, of course, we have this map from the complex plane to the complex plane and what we are saying is that the image of the imaginary axis is something that lies in the right half of the complex plane. The image, I mean this map here is G s. So, any point s here goes to G s there. Now, there are several examples of such things. So, for example, if you use s plus 1 by s plus 2, this transfer function when you look at this map and you look at where the imaginary axis maps to, that will lie completely in the right half. If you look at minus s upon 1 minus s, this was also an example that I used earlier and if you look at the map, if you take G s to be minus s upon 1 minus s and you look at the map, then again the imaginary axis will map to something here. So, for example, in this particular case, it will map to something like that. Now, if positive realness definition is just taken to be this, then both of these will turn out to be positive real. Now, if you take the state-space representation of this and try to use the positive real lemma, the positive real lemma will be applicable to this only because the denominator has its roots in the left half plane whereas, in this case the denominator has its roots not in the left half plane, but in the right half plane and so you cannot apply the positive real lemma. Earlier, I had also talked about idea of dissipativity and idea of storage function. So, in both these cases, you will get a storage function. The only difference between these two is that in this case, because the denominator has all its roots in the left half plane, that means this is a stable transfer function. Therefore, in this particular case, the storage function that you get is positive. On the other hand, in this case also you can construct a storage function, but this storage function is not going to be positive, it is going to be negative. Now, in physical systems, if you are talking about storage function, it is some function which stores energy. Now, if you are going to look at a function that stores energy and that function is negative, that does not make sense. I mean, what does it mean to say that the amount of energy stored in the system is negative. As a result, it does not make sense in this particular case, though you can still find a storage function, whereas it makes sense in this case and you can find a storage function. So, in both cases, as soon as this equation is satisfied, you can find a storage function. But it is only when the transfer function is Hurwitz that you can find a storage function which is positive. Whereas, if it is not Hurwitz, then you can find a storage function, but that will not be positive. Now, if you look at this further, that means instead of just looking at it this way, if you put the condition that G s plus G of minus s is greater than equal to 0, for all s such that the real part of s is greater than equal to 0, that means instead of just looking at the imaginary axis, you look at where this whole half plane maps to under G s. And this whole half plane should map such that it falls in this right half. If you put this added condition, then because the imaginary part is in the boundary of this thing, that means if this condition is satisfied, then this condition is automatically satisfied. But there is something more satisfied, that means whatever is here now gets mapped to the right half plane. Then in that case, this function for this transfer function it would be alright, for this transfer function it will not be alright. So, if you take this transfer function and see where this right half maps to, what you will get is this whole area outside the curve. Of course, what that means is some of these points get mapped to points here, which is not in the right half, but in the left half. Whereas if you had taken s plus 1 by s plus 2, then the imaginary axis would have mapped to a curve and the right half would have mapped to the inside of the curve, which means every point here on the right half is going to get mapped to the right half plane. And so, this equation captures the fact that this is satisfied plus the storage function is positive. And therefore, in some sense, this should be the real definition of positive realness. But for historical reasons, this is usually given as the definition for positive realness. And there are some places where this definition for positive realness is used, but if you give this definition for positive realness, then such functions are also permissible. And to disallow these functions, the additional condition that is given is this condition holds plus g of s is stable. And as it turns out, these two conditions together is equivalent to this condition. So, the various books that you go through might have some mixture of these definitions as the definition for positive realness. And this is for the scalar single input single output case. And I mean depending upon your taste, you can adopt any one of them as what you would believe positive realness to be. But they all roughly say the same thing, but there are these subtleties that need to be handled. So, let me now give you the definition for positive realness as far as matrices are concerned. So, let us assume g of s is p cross p transfer function matrix. Now, of course, in all these cases, this matrix, the transfer function matrix has to be a square matrix because the number of inputs have to be equal to the number of outputs. So, g of s is a p cross p transfer function matrix. Then the following conditions have to be satisfied for g s to be declared as a positive real transfer function. So, g of s is positive real. And this particular definition that I am using is the definition that is given in the book by Khalil, Non-linear Systems by Khalil. So, just like what I said in the 1D case, here also in the multiple input, multiple output, there could be other opinions, but I am just sticking to this for now. So, is positive real if number 1, the first condition is poles of all elements in g of s are in the left half plane. That means every entry of g of s is a transfer function and every one of those transfer functions is stable. And the second condition is for all j omega, I mean purely imaginary value, where j omega is not a pole. So, where j omega is not a pole of any element in g s, g transpose of j omega plus g transpose of minus j omega is a positive semi-definite matrix. So, this condition is precisely like the Nyquist plot condition in the single input, single output case. So, what we are saying is for all j omega, where j omega is not a pole. If j omega was a pole for some entry in the transfer function matrix, of course, then this thing will not be very well defined and there are problems. So, you remove all those omega on the imaginary axis, which might be a pole of any one entry of g of s. And for all the others, you will have this. But of course, remember these are matrices, so the sum of these two matrices, one is claiming is a positive semi-definite matrix and there is one more condition. The third condition is that any purely imaginary root or rather pole, purely imaginary pole of g of s is a simple pole. It is a simple pole that means it does not have multiplicity greater than 1 and the residue.  So, there are these three conditions. So, the third condition is that for any purely imaginary pole of g s, any purely imaginary pole of g s is a simple pole and the residue limit as you tend towards that pole of this particular thing. That residue, of course, here it is a matrix, so it is in fact a positive semi-definite Hermitian matrix. So, the definition for positive realness is this. So, now if you just specialize, you take g s to be a one cross one transfer function. Well, the poles are all in the left half plane as we had said before and this is the Nyquist criterion condition. So, the Nyquist plot in the first and the fourth quadrant and this one is the stability. So, these two conditions are what? This is an additional condition that appears in the matrix case. In the scalar case, this is clearly true, but in the matrix case it is a bit more involved and therefore, this condition makes its appearance. So, this is the definition for positive realness as far as matrices are concerned. So, now if you take a p cross p transfer function matrix g of s and you want to talk about it, being positive real, you put these things, these criterion in and you can check whether it is positive real. And in the earlier lecture, when I talked about the positive real lemma, well, there g s could just be taken to be positive real with this definition. And as far as the realization is concerned, whether it is single input, single output or multiple input multiple output, the realization would be in terms of those matrices and so that matrix condition would remain unchanged. So, now, since we have also already done the positive real lemma, there are variations of the positive real lemma. If you remember the positive real lemma, ultimately in the statement about the matrices, there is the specific matrix P, which is a positive semi-definite matrix. Now, this positive semi-definite matrix during the proof of the positive real lemma or in fact, when I showed that the existence of those equations are equivalent to the system being passive, I had made use of the fact that this matrix P defines the storage function. Now, if P is a positive definite matrix, then the storage function is positive definite. If P is a positive semi-definite function, then the storage is positive semi-definite. Now, between the situation when the storage function is positive definite and the storage function is positive semi-definite, there is a slight problem. And this problem is very much similar to the kind of problem that you would get when you use systems with inputs, no outputs and you are using Lyapunov theory. Now, in Lyapunov theory, when you take function which is positive definite, then that actually guarantees whatever is the conclusions that you can draw from using Lyapunov theory. Whereas, if you take something which is positive semi-definite, you cannot utilize it to the full power of the Lyapunov theory. So, as a Lyapunov function candidate, you have to always take something which is positive definite and you hope that its derivative is negative definite. But if the derivative is negative semi-definite, you cannot draw that strong a conclusion. Your conclusions that you can draw is weaker and so on and so forth. So, in the same way as in exactly the same way, as far as storage functions are concerned, when you have positive definite storage functions, it is good. And when you have positive semi-definite storage function, it is not that good. And the statement of the positive real lemma only guarantees that the storage function is positive semi-definite, not positive definite. Now, in order to guarantee the positive definiteness of the storage function, one brings in this additional thing. So, there we had shown that positive semi-definite storage function, I mean positive semi-definite p and those other matrix conditions are equivalent to the transfer function being positive real. Now, one can give an additional thing which is additional definition kind of thing which guarantees that the storage function is strictly positive definite. Now, the storage function being strictly positive definite is equivalent to the transfer function being strictly proper real. So, we have already given some definition for Gs being positive real. So, there is a Nyquist condition and so on and so forth. Now, we say G of s is strictly positive real when G of s minus epsilon is positive real for epsilon greater than 0, I mean epsilon greater than 0, small for small epsilon greater than 0. What we mean by this is, you see earlier when I was talking about positive realness, I had said that of course, this is a map G of s. So, any point as goes to the corresponding point here and the imaginary axis mapping to something and then the right half mapping to the inside of course, is the good thing that can happen and that is the definition of positive real. Now, in this particular situation where which I have drawn where the imaginary axis maps to this and the right half maps to the inside, clearly if instead of G of s, we take the map G of s minus epsilon that also would map to you know some neighborhood of this and so in fact, this particular situation G of s is strictly positive real. It might happen that you have some plot which looks like that, the imaginary axis maps to something like that and then the right half plane perhaps maps to something like that and now if you look at G of s minus epsilon, then the perturbation might be such that this gets move like that and because it gets move like that G of s minus epsilon does not satisfy the positive realness condition and so this will not be strictly positive real and this touching in the imaginary axis of this area, this region, it maps to some other region here and that region how it touches the imaginary axis that in some sense defines the positive definiteness and the positive semi definiteness of the storage function and so when you do this G of s minus epsilon, that means you perturb by epsilon, in some sense what you are doing is you are moving this imaginary axis and so if there are these places where it touches the imaginary axis, this image then when you shift the imaginary axis, then those things get mapped to the left half and G of s minus epsilon does not remain positive real. So, such things which are on the boundary, they are not strictly positive real, anything else is strictly positive real. Now of course, just like the positive real lemma, there is also a famous lemma which instead of talking about the equivalence of positive semi definite P and G of s being positive real, it talks about the equivalence of strictly positive real and this particular theorem is attributed to three famous people, Kalman, Yakubovich, Popov. So, this lemma is attributed to all three of them and the lemma is exactly same as the positive real lemma, the only difference is that G s is strictly positive real. So, instead of positive real earlier, you had only positive real, now you have the additional strictly if and only if and so now you have the equations which are A transpose if and only if there exists P positive definite and other two matrices L and W such that A transpose P plus PA is equal to minus L transpose L minus epsilon times P and PB is equal to C transpose minus L L transpose W and W transpose W is equal to D plus D transpose. Of course, here just like in the earlier strictly in the positive real lemma, here also all the assumptions are that this A, B, C and D come from a minimal state representation of G s. So, as you see between the positive real lemma and this lemma, the only difference is that G s on one side, we are saying a strictly positive real and on the other side in this Lyapunov equation, instead of A transpose A P plus PA being equal to minus L transpose L, there is this additional epsilon P and this sort of guarantees the strictly positive real situation and it guarantees the positive storage function. So, let me now revisit and look at what we have been talking about earlier and why we started looking at this positive real transfer functions and so on. So, the reason why we started looking at this positive real transfer functions is, first of all there was a Isaman conjecture. And from the Isaman conjecture, a certain guess was taken that if you have a nonlinearity in some certain sector and you have a feedback connection of that nonlinearity with a linear system, then if that linear system with those particular gains gives you a stable close loop system, then the linear system with the nonlinearity in that loop will give you a stable system and then we also saw that counter examples were given. So, Isaman's conjecture is not correct. Now, after that we came into this passive systems and what these passive systems are and we have a lot of results with respect to passive systems. Now, the important thing about passive systems is that if you interconnect two passive systems, I mean if you have a feedback connection of two passive systems, then the resulting system is also passive. And this makes things very good because what one is really saying is if you start off with some system which is passive and you have another system which is passive and you interconnect the two, the new system that you get which is the interconnection of the two systems is also passive. And this I mean especially if you think about this passivity in terms of the energy that means the passive system is something where the total amount of energy supplied is either dissipated or it goes to increase the stored energy, then this seems very natural. But what we will now do is we will formally show that when you interconnect two passive systems, the resulting system turns out to be passive. As a result, it turns out that this concept of passivity is something that goes a long way in answering the question raised by Isoman and in fact providing an answer which is similar to what Isoman guessed. So let me begin by first talking about the lemma or the theorem, might as well call it a theorem, interconnection of two passive systems is passive. So what do I mean by this interconnection? So let me assume this is system one, let me call it G1, so let me call the input U1 and the output Y1 and let me have a second system G2. So input, you see when you are talking about input and output, one needs to probably draw an arrow so that it is clear what is the input and what is the output. So U1 is the input and Y1 is the output. And let us have another system G2 and this system has U2 as the input, Y2 as the output. Now G1 is passive, what does it mean to say G1 is passive? Well, one thing that from all the discussion that we had about passivity is that U1, Y1, let me say U1 transpose, so rather than think of it as single input, single output, I could think of it as multi-input, multi-output. So I am saying U1 transpose Y1 is greater than equal to V1 dot where this V1 is the storage function of the first system. So we had said that for the passive systems, the product of the input and the output is greater than equal to the rate of change of the storage function. So V1 is like the amount of energy stored in G1 roughly and so U1 transpose Y1 is like the amount of energy supplied and the energy supplied is greater than equal to the rate of change or the power supplied is greater than equal to the rate of change of the stored energy in the first system. Now this one being passive, essentially you have a similar statement U transpose Y2 must be greater than equal to V2 dot and this V2 dot is the storage function of the second transfer function. Now let us look at what we mean by interconnection. So let us interconnect it in the following way. So I put in this thing and I will assume that there is some input E1 coming into the next system and maybe I subtract this. So what this essentially tells me is that U1 equal to E1 minus Y2 and I do a same kind of thing here. There is some input here which let me call it E2. Now of this system, this is the interconnected system and in this interconnected system I can think of the vector E1 E2, the vector E1 E2 as being the set of inputs and I can continue to think of Y1 and Y2 as a set of outputs. So then input times output is essentially E1 Y1 plus E2 Y2. Now for E1 if I substitute U1 plus Y2, so I get U1 plus Y2 times Y1 plus, now I have not written the equation for this. I will continue to call it positive. So what I have is U2 is equal to E2 plus Y1. So this E1 Y1 plus E2 Y2 is equal to U1 plus Y2 times Y1 and for E2 I can substitute E2 is U2 minus Y1. So U2 minus Y1 times Y2. Of course there are these transposes but that really does not matter. Now you see you have a Y2 transpose Y1 and you have a Y1 transpose Y2 but with negative sign, so they sort of cancel. So what you are left with is U1 transpose Y1 plus U2 transpose Y2 which from these two inequalities is greater than equal to V1 dot plus V2 dot. Now what does this mean? This means that if you take this E1 and E2 as the inputs for the interconnected system and the Y1 and Y2 as the output, so for this interconnected system when you look at the inputs multiplying the outputs, this is greater than equal to the rate of change of a storage function which is in fact the sum of the storage function of the first one and the second one. So in physical systems if this was a physical system and it had some elements which stored energy and this is another system which has some elements which is storing energy then the complete storage function is the sum of this storage function plus this storage function. So now this is an extremely powerful sort of result and therefore I mean what we can say is if you have two systems which are passive and you interconnected then the interconnected system continues to be passive. Now if I mean how this theorem becomes really powerful is by the following means. You see suppose you think of this G1, this system G1 as a linear system which is passive. G2 is some system which is let us say a non-linear system but you can sort of by some means show that this is passive. Then if you interconnect these two then the interconnected system is also passive. So if this was a non-linear system and you managed to find some storage function for this non-linear system then in some sense you have found a storage function for the complete non-linear system. Now if you are talking about for example Lyapunov theory and so you do not think of these inputs earlier we had discussed how given a general non-linear equation you can split it up into a linear part and a non-linear part and now if you can show that this linear part is passive and this non-linear part is passive independently and for this non-linear part you can find some storage function. For the linear part of course we already have the positive real lemma and the Kalman Yakovych Popov lemma by which you can find storage function. Then the sum of these two storage functions act like the storage function for the net system but with zero input the sum of the two storage functions would act like the Lyapunov function and therefore this is in fact a way to construct a Lyapunov function for that particular system. Now how this connects up with Isomans idea is what I will now try to explain and for that first let me consider non-linearities which are memoryless. So what I mean by a memoryless non-linearity is the following. If you give a certain input to the non-linearity you get an output but this output is not dependent upon what happened in the system earlier in time or later in time whatever. It is an instantaneous map so what I am trying to say is that whatever is the input the output is completely determined by what the input is at this instant. The output at this instant is completely determined by the input at this instant. Such maps we would call a non-linearity. Now if you have a non-linearity I mean such a map we would call a memoryless non-linearity. So if you have a memoryless non-linearity then one way you can characterize that non-linearity is by this map where you have the input and here you draw the output. So for any given input there is a particular output for this input there is some particular output and so you can connect all those dots and you get a curve. Of course if this curve was a straight line passing to the origin then the non-linear system is not really non-linear but it is linear. But if you have this situation it is a non-linear. So this is a non-linearity. So for any given so this is like a lookup table if you want given any input you go through the graph and you know what exactly the output is.  Then as far as the non-linear system is concerned so here is a non-linear system suppose this is the input going into the non-linearity and what you get here is f of that and what you are saying is input multiplied by output is always greater than 0 then from whatever we have been discussing earlier we could call this passive and now if you call this passive this thing is memory less that means in the sense it just depends on what the instantaneous input is one could think of the storage function. So the definition of passivity is u dot y input multiplying output is greater than equal to the rate of change of the storage function. Suppose you take the storage function to be the zero storage function then you get this that means u dot y is greater than equal to 0 and so assuming that this storage function is a zero storage function is one way that this equation is satisfied and so you have a passive system this non-linear system is passive and it has a storage function which is a zero storage function. Here is the beauty of the whole thing suppose you take a matrix a linear system G of s and you take a non-linearity and this non-linearity is in the first and the third quadrant. Incidentally non-linearity which are in the first and third quadrant are often denoted by this. This is a non-linearity lying in the zero infinity sector that means they lie here or here the slope or rather if you take any u the f of u in fact I had given this kind of a definition earlier if you call the input psi f of psi by psi is less than infinity such non-linearity is zero infinity non-linearity and if you have any non-linearity like this then of course this is true psi times f of psi is greater than equal to 0 and from what I said in the last slide one could view this as passivity. So if you have a non-linearity which belongs to this class and you have a feedback structure which looks like this then if this G s I mean this linear part if G s is passive and the non-linearity is belongs to it is a non-linearity like this then G s is passive the non-linearity is passive. So from what we had talked about earlier the interconnection of these two the interconnection of these two systems is also passive. Now this is passive what we mean by that is if this input is u and the output is y then what we are saying is u transpose y is greater than equal to v dot where v is the storage function as far as this guy is concerned and the non-linearity is passive well it is the same y here and out here what you have would be the negative of this u. So let me call it minus u but this minus u and y it obeys the rules of the non-linearity therefore minus u transpose y is greater than equal to 0. This is for the non-linearity and because it is in the 0 infinity sector this must be true this G s is passive so this must be true I add these two I get 0 greater than equal to v dot. So this is an autonomous system in which I have v provided G s is passive I can find this storage function to be a positive definite function and I have therefore a positive definite function whose derivative is less than 0 therefore the resulting system is asymptotically stable. So if you remember Isoman's conjecture said that if you had some trajectory which lied in this sector something like this and his conjecture was that if you had a G of s such that on the feedback loop if you put any gain between 0 and infinity and it gives you a stable system then if you put a non-linearity then the resulting closed loop system is asymptotically stable and that was proven to be false. But what we have got is a very similar result what we are saying is if you take any non-linearity in the 0 infinity sector and out here you are not going to take any transfer function such that you know you put any gain between 0 and infinity and the resulting feedback system is asymptotically stable that is not what you are going to do what you are going to do instead is instead of that condition you are going to take a G s which is passive and if you do that then the resulting system is such that it is asymptotically stable. So if you recall earlier few lectures back I had shown that in Isoman's conjecture there is some sort of counter example I showed and if you remember in that counter example the G s that I took was s plus 1 upon s squared. Now if you look at this particular transfer function and you look at its Nyquist plot it will be clear that this is not a passive transfer function and as a result one cannot expect this interconnected system to be passive and therefore asymptotically stable. So the interconnection of passive systems being passive that result in fact is a solution to the Isoman's conjecture in the sense it is a positive reply to Isoman's conjecture in the sense that if you have a nonlinearity in the zero infinity sector then that is like interpreting the nonlinearity as a passive nonlinearity and therefore you interconnected with the passive linear system and the resulting system is passive and because the resulting system is passive what you have is asymptotic stability. So I am out of time for this lecture and so we would stop here today.


We actually were looking for about a year in the Logan, Williamson, Pikeville area, and Dr. Beckett, actually we contacted him and he agreed to be our medical director. So that made it a very easy transition to move here to this facility and to choose Williamson, which is kind of a center hub. Men were driving 121 miles to come for care twice a week because they saw a change and they saw a difference. We have one patient in particular who's been with us two and a half years and he's driven that distance for two and a half years and we ask him all the time, you know, do you ever get tired of it? And he said no, it's changing my life. How could I get tired of this?


Abstract, the evolution of antibiotic resistance in bacteria is of global health concern. This paper examines the role of within-host diversity in the emergence of resistance in Pseudomonas originosa, a common opportunistic pathogen. It was found that mixed strain populations are more likely to develop resistance than single strain populations, which suggests that within-host diversity can play a significant role in the evolution of resistance. Furthermore, it was observed that when multiple strains were present, there was a trade-off between resistance and growth rate, while this trade-off did not exist in single strain populations. These findings suggest that within-host diversity can influence the evolution of resistance in the absence of antibiotics. This article was authored by Julio Diaz Caballero, Rachel M. Wheatley, Natalia Capell, and others.


The COVID-19 vaccine and flu vaccine are different, and it's safe to get both vaccines at the same time, so don't hesitate. Vaccinate! The Pike County Health Department reminds you that the strongest defense is vaccination against flu and COVID. The artist's collaborative theater will be bringing magic to the Gearhart Auditorium with their upcoming performance of Puffs. I've been advocating for this show for about three years now. I saw the filmed production from off-Broadway about three years ago and thought there were some things in the script that would do well in our region and with our teens at ACT. Puffs is described as seven increasingly eventful years at a certain school of magic and magic. I felt as though the messaging of the show and the beauty of the show is that it centers around the struggles that normal teenagers have, the feelings that normal teenagers feel like, you know, you don't fit in or that you're unimportant next to the jock who seems to have everything handed to him. While the show is a parody, the characters of the show reflect the performer's real-life stories and struggles. I get to play myself on stage. Wayne wants to be important, he wants to be a leader because leadership has friends. A leader has friends and people that he's good people he surrounds him with. I relate to her in the way that she wants to be able to connect with people and be friends with them and be there for them and laugh and cry and smile just with like having people around her that she knows loves her and that she loves back as well. Oliver is an incredibly smart guy. He got a chance to go to Oxford at the age of 11 years old, but instead he decided to go to a wizarding school in England and he got to meet all these friends. I'm obviously not as smart as Oliver, but I feel like it kind of ties in with my theater stuff. I could have stayed on the basketball team and, you know, I might have been pretty good at basketball, but instead I chose to go to ACT where I made this core group of strong, faithful, trustworthy friends. The cast is comprised almost entirely of teenagers with about four adults in the play. It is a parody, so a lot of it is far fetched, but there is a lot of truth in the play and if you come see it, you'll have these teenagers, they'll make you laugh until you cry and then you'll just cry regular tears too because they also break your heart a little at the end. The show will be at the Breaks Park Convention Center March 11th and 12th and at the Gearheart Convention Center March 18th, 19th, 25th and 26th. Tickets are $12 and can be bought at BreaksPark.com or MacArts.com. For Mountain Top News, I'm Breanna Robinson.