Welcome back to the lecture series in animal physiology. So, we are in the endocrine and reproduction section. So, we have pretty much covered all the different hormones except the digestive hormones from the pancreas, which will be coming back after just after this when we will be starting the digestive system. So, the tail piece which is left is one of the most important piece the reproduction. What really governs reproduction? Before I kind of get into the notes and how that works I have already explained you what is a diploid cell and what is a haploid cells. And we have already went through the circuit that it is a hypothalamus which is governed by the higher centers of the brain which release gonadotrophin releasing hormone. Then these gonadotrophin releasing hormone comes to the pituitary. Pituitary releases a follicle stimulating hormone and leitonizing hormone FSH and LH. This FSH and LH surge leads to the secretion of the sex hormones by the gonads of our body.  So, here before I really get in the notes let us get some concepts clear. There are some concepts which has to be cleared here in the case of males. So, we all know the fertilization takes place when there is sex between a male and a female. And at the level of cells it is basically sperm fertilizes an egg.  So, there are some very stark differences between the two apart from their structural differences. Structurally if you look at it the sperm pretty much looks like. So, sperm this is the male. So, sperm looks like something like this. It has a huge tail and here you have the nucleus and everything. And this tail is basically what it helps it to mobile. It makes it mobile. This moment is because of this tail. So, this is what we call this once again.  And as I explained you that these are all n. These are all haploid. Whereas the female one looks more like a roundish structure. It is like something like an egg. This is called the female and this is called egg. And basically reproduction is all about when a sperm like this fuses with an egg which is a huge cytoplasm. If you look at the size of the cytoplasm, the cytoplasm of the egg is much more larger as compared to. So, this is n female n and this is the male n which is the sperm. And when there is a cross between the two. So, basically that is how it works. Here is the egg. Here the sperm comes and there is a set of reaction here called come to that zonar reaction. When this n fertilize with this n and it leads to something called which has 2 n. This is called a zygote. And this zygote is the first cell which is formed in the mother's womb to n. This is a zygote and a zygote has two possibilities. So, if say for example, if it is in the case of male which is basically a zygote could be we call it an xx or an xy. If it is an xy zygote then this is a male and if it is an xx zygote then this is a female. So, this is the contribution. This is the male. So, the female contributes to x where is the male contribute either it could contribute an x or an y. If it contributes an y then it leads to a male and if it contributes to a male and if it contributes an x then it leads to a female. So, in other word it is whether it will be a male or a female is actually not determined by the women. It is actually determined by the male to if you look at from the chromosome perspective that is how it looks like. So, now what is so important about is this what we will be studying is this part and this part how these are regulated. What regulates the formation of this and the formation of this in the body as I have already mentioned the formation of this sperm and the egg this is the egg and this is the sperm and this is the sperm tail and sperm tail has lot of if you take a cross section of this tail you will see a lot of mitochondria out there which generates a lot of energy for its movement because it has to move a lot it is very motile structure. So, this formation of sperm is called as per metogenesis whereas the formation of egg is called the oogenesis. So, what will be studying essentially is the molecular players, molecular players regulating sperm metogenesis and oogenesis. So, after defining the problem what we are going to discuss here I will highlight two specific aspects. One aspect what I wish to highlight is that this the major molecular players in the game are the hormones which play a critical role, but there is a distinct pattern by which it regulates in the case of males as we hit upon the puberty at the age of 15 or 16 our reproductive organ of the testes they have the potential to produce hormones. In other words those testicular cells which are present in the testes they are initially they also are deployed they are 2 n, but they have the potential to divide to form n and n and then each n forms another two sets of n and n. So, each sperm cell could produce basically sorry each reproductive cell could produce four different sperms and this sperm production continues in the case of male for rest of the life there is no pretty much there is no limit. Of course, the quality of the sperm goes down as we hit upon the age of 50s and 60s the sperm quality goes down they are much more you know fragile they have chromosomal aberrations and everything chromosomal aberrations they are defects in the chromosomes because of the aging process take pitches in. Whereas, in the case of female the story is slightly different female have a limited reproductive age at the age of say 15 or 13 or 14 the reproductive age starts in other world what the reproductive and that continues up to 45 or 50 or may be extended up to 50 maximum most of the time, but there could be you know some exceptional situation but those are rare that does not happen every day you would not come across individual who are fairly reproductive at the age of 60. So, now what really does that mean for the males I told you we can produce a male can produce a sperm for all his all his life. So, the female every month one egg matures and that one egg is capable of fertilizing a sperm or a sperm is capable of fertilizing that egg. So, every month that that monthly cycle of a maturation of a egg is called menstrual cycle which a female undergoes from the age of say 14, 13, 14 or 15 all the way up to 45 to 50 and that is the phase when a female is reproductically or reproductically active other than that after that it seizes that whole process of menstrual cycle seizes and they do not produce any fertilize eggs after that. And what is essential here to highlight is that it is a very cyclic phenomena in the case of males across the month or across the years and across the whole life once they ate upon puberty they can produce a sperm, but in the case of females it is a very very cyclic fashion there is a regulation of say 21 to 28 days when every depending on the female it could it could may be even up to say 18 days to 28 days to 31 days depending on which where I mean it could be a Caucasian female it could be a Asian female it could be an African whatever depending on the individual race or place from where the female belongs to their menstrual cycle varies it could be 18 days to 31 days and during this phase what we will be actually highlighting is that during this phase there is a cyclic fashion of secretion of those gonadotrophin hormones specially the FSH LH follicles stimulating hormone and leitonizing hormone and that is what regulates the whole cyclic process and the tail end we will be talking about when the egg gets fertilized when a women is ready to give birth when the zygote is formed how this cycle gets stopped and till the child is not born that cycle remains stopped and how that takes place that is what we are going to discuss. So, talking about this we will talk very briefly about the male situation what happens in the male in the case of the production of this sperm as I told you in the males continuously FSH and LH is being produced LH is being produced this concentration in F of SH and LH remains fairly constant and as I have already told you that there are lytic cells in the testes. So, testes is structure is something like that and this is where these different cells are being produced. So, testes are the one which is responsible for producing of the sperms. So, there are lytic cells which support in this whole process FSH and LH helps in the maturity of these sperms everything. So, this is how the male sex production takes place where there is not much complexity it is much more simple and there is no cyclicity it is all throughout the reproductive phase it goes on and it may goes on for the whole life. But best quality of a sperm comes at the age of like in 20 to 35 or 40 when the best quality which are healthy sperms which has the ability to fertilize the female egg and lead to the production of a healthy baby remains in that age. Now, talking about the female which is I told you that this is the very cyclic phenomena. So, let us talk about what is happening in the case of females in the case of females. So, let us again get back to the circuit. So, you have hypothalamus I am repeatedly drawing this circuit to kind of you know keep the exact track of how this whole circuit is functioning anterior pituitary and then you have the ovaries where these are acting. So, these are GNRH Gunnarutrofen releasing hormones and anterior pituitary is releasing FSH and LH and this FSH LH acts on the ovaries and leads to the production of different sex hormones. So, what we will do now we will talk about two aspects here. We will talk about menstrual cycle which I have already mentioned last from for some it is 18 days to up to 31 days and what is this cycle this is here is the important part is the cyclic fashion and we will talk about the fertilization what happens after fertilization. These are the two aspects what we are going to deal in the reproduction. So, we have already talked about the production of LH and LH. So, LH and FSH. Now, let us start with what I will do I will talk about four parameters. So, assume a cycle is happening in a female. So, before I get into the cyclic thing let me explain something else here. So, how that maturity is taking place. So, initially what happens you have something called a primary oocyte is something like this. This is a primary oocyte. So, I am in the oogenesis now primary oocyte then primary oocyte leads to the formation of something called a secondary oocyte. Where the cytoplasm increases in the egg these are the secondary oocytes. Secondary oocytes leads to the formation of something called a tertiary follicle this is called a tertiary follicle. From the tertiary follicle this whole process of formation of primary to secondary to tertiary follicle is governed by this whole maturity is governed by FSH follicle stimulating hormones which is essentially is responsible for the maturity of the follicle. After this what happens and this it does so because FSH leads to the secretion of estrogen. It is the estrogen which is secreted by these cells in the ovary which leads to the maturity of this from primary secondary to tertiary. After the tertiary is are formed that it leads to the another level of maturity which is basically called formation of graphene follicle. So, continuing from previous one graphene follicle and from graphene follicle because of LH surge, luteinizing hormone. So, we have talked about the other hormone the FSH. FSH is involved in all the maturity part then comes the role of the luteinizing hormone. What luteinizing hormone does is that it leads to basically this part is released. This egg is actually releasing the eggs releasing the egg and this releasing phenomena is something like this. We have here the egg is getting released and this process is termed as ovulation. So, this whole process by which from primary to secondary to tertiary to graphene follicle to the release of egg falls under something called ovulation. This whole cycle up to ovulation and after ovulation falls under something called the menstrual cycle which we are going to discuss now. What exactly is happening and how this whole process is taking place. So, now what I will do I will just check out that now I will draw how the surge of follicles. So, this whole process if you look at it if you just think before I draw all the graphs and really show you. So, this whole process if you look at it very carefully is happening. There is an FSH which is coming which is leading to the maturity of the primary follicle to secondary follicle to tertiary follicle. Then there is a surge of the next hormone which is a luteinizing hormone that comes and that leads to the egg to be released from the follicle. That process is taken care by the LH and LH does. So, by making those cells to secrete another hormone which is called progesterone. So, in other word we are dealing with four hormones here FSH LH which are secreted by the pituitary step one. Step two there are of course, let us talk from the even top that hypothalamus secreting gonadotrophin releasing hormone gonadotrophin releasing hormone at pituitary it is secreting FSH and LH at the third level. Because of the surge of FSH and LH there are two more hormones which are secreted which is estrogen and progesterone. So, in other word we are talking. So, what we will be seeing in the case of female how the FSH level changes over a period of a cycle of a menstrual cycle how the LH level changes these two from pituitary and then at the gonads we will be talking about the change of the profile of the estrogen and the progesterone. So, in other word there will be a graph which will be showing four different lines of cyclicity by which it is changing and top of that what are the physical changes happening in the body in terms of body temperature basal metabolic rate and behavior. So, we will be talking about. So, you will be now what I will be drawing I will be drawing four graphs showing the way the FSH level shifts the way the LH level shifts the way that leads to the secretion of progesterone and the way it let leads to the secretion of estrogen. So, let us draw the graph and that will help you to appreciate this whole process and simultaneously what I will do I will draw all the concentration how that is happening. So, let us divide this say for example, let us talk about an average cycle of 28 days. So, day 1 day 7. So, underneath I have what I am drawing is the day 7 day 14 day 21 and this is day 28. So, we are taking an average female who has a cycle of 28 days this is the cycle fine. So, after every so basically what is happening is this. So, let us divide the phases this is called menstruation phase menstruation phase then the next phase is called follicular or proliferative phase follicular or proliferative phase then on day 2 into 1 this is called luteal phase luteal luteal luteal secretory phase these are the different phases. So, now what I will do I will divide the graph into 5 different parts which will help you to appreciate it in 1 go 1, 2, 3, 4, 5. Now, the first graph will be talking about from the pituitary at the level of pituitary. So, let us get the scale right. So, at the level of pituitary we are talking about like you know 1, 2, 3, 4, 5. So, highest limit is 50 and the unit is. So, here this is 0 1, 2 just assuming units per liter. So, this is the level of the anterior ap anterior pituitary FSH and LH in the blood these are all done in the blood. So, I am marking FSH with red and I will be marking LH with blue. So, let us talk about how the FSH is shifting right. So, the FSH shift is something like this it has a basal level somewhere here and then the FSH goes down like this and as we reach somewhere out here FSH level picks up and then it slowly goes down and again start for the next cycle. So, here begins the next cycle from here on the next cycle begins. So, this is how the FSH is shifting. So, if you kind of look at it at sometime out here sometime out here in the case of 20 days cycle. So, one more thing I will wish to highlight I will come back to this graph and say. So, depending on your days like if the cycle is of 18 days if the cycle is of 28 days or 31 days the date of evolution changes. So, in case of an average 40 28 day cycle the evolution generally takes place at the time of 14th day 14. So, now if you come back to the graph you will say that the major rise took place around day just before day 14 out here. So, if this is 7th day this is day 14 this is this is day 14. So, just before day 14. So, this is the evolution that is why I marked it as a red circle this is the evolution phase when it is taking place. Now, let us see how the L H is going L H simultaneously L H remains fairly low all throughout and then it is starts picking up here and it reaches somewhere like this it reaches the highest peak and then it starts falling down again and goes down like this. So, if you look at it around day 14 which is here out here L H is maximum. So, as I was telling you there is a cyclic fashion. So, the F S H just before day 14 F S H hits the peak and then followed by with a slight delay out here look at this small delay then the next peak starts. Now, simultaneously what is happening because we know F S H leads to the secretion of now let me F S H leading to the secretion of your estrogen or strudel whereas, L H leads to the secretion of progesterone. So, now we will define how these two hormones are changing their profile. So, their level is if in this graph. So, again put the amount which is essential. So, they are far more low 0.4. So, this is microgram per liter of blood. Now, this is the strudel level and compare to strudel the estrogen level is higher. So, if I have a corresponding corresponding. So, let us pick up two colors first. So, I am putting estrogen as in green and I am using a gray color for progesterone. So, the progesterone level is higher actually progesterone level if I have to draw a graph progesterone. So, that will be like you know the top thing will be 16 microgram per liter. So, progesterone level progesterone secretion is much more higher as compared to estrogen level. So, if you tally this what happens now let us talk about what is happening to the estrogen how the estrogen behaves. So, the estrogen level moves like this and as you could see where this one is picking up estrogen level exactly picks up fairly close to it and then there is a small hump and then it goes down like this. So, if you tally estrogen level estrogen is close to the same peak of as almost the same peak as the FSH because FSH stimulates the secretion of estrogen. So, that is why you see they are in close sync FSH leading to the secretion of the estradiol or estrogen. What happens next now let us talk about the progesterone level now the progesterone level this is just like your LH that remains fairly low out here and mind you the progesterone secreted a fairly high amount and as it reaches and it remains like that almost up to day 14 and then there is a rise in progesterone big time out here and that continues and then it goes down. So, the progesterone level here you see the peak of the here you see the peak of the leutanizing hormone and here you see the peak of the progesterone.  This cyclic fashion continues month after month during the reproductive phase of a women and this cycle is actually called the menstrual cycle, but in this process. So, this is what you are saying what is happening inside the body these molecular players are changing their concentration, but there is something else which is expressed every month there is a blood discharge from the women body in the form of menstrual discharge that menstrual discharge is nothing, but the process by which a female rejects the unfertilized egg from the body and this process what we are going to deal now is I will tell you I showed you this diagram just before this. This out from primary secondary to tertiary to the whole process. So, now I will explain it in terms of where exactly this thing happening. So, now we will talk about the follicular development let us come back to the follicular development with respect to this follicular development or you can call it a part of the whole game of called ugenesis the process where this. So, what essentially is happening at this part of the graph basically you have a immature follicle like this what I draw is the primary follicle immature follicle. Then during the phase 2 out here there is a maturation of follicle maturation phase and it is at this phase out here. So, I have to say if I do just put 2 days back and 2 days forward and this is called the ovulation phase this is very critical phase ovulation. And then comes after the ovulation if the egg is not being used for fertilization then this is lost it form something called corpus luteum and this is degenerating corpus luteum and it is at this phase out here if you look at it. So, it is at this phase when a new cycle starts basically this degenerated corpus luteum is being discharged out from the body. And what really this ovulation phase this is on the most critical phase this is the phase when a female is reproductively active this is in other words those during in the menstrual cycle that phase when a female sexual activity is at its highest. That particular balance of L H F S H progesterone and estrogen is a unique phase of 2 to 4 days when a female is a reproductively active. This is the time if this egg which is formed is fertilized by a sperm at this weight. If a female has a sex with a men and this is the time if it is fertilized. And this there is a possibility that this egg will become a zygote after fertilization. So, this critical window if I just I am shedding it is the most critical window in all the menstrual cycle in the complete menstrual cycle in terms of reproduction ability of the women. So, in other word you can translate it back in terms of if you look at the female cycle. So, every year a female has every month if I look every if let us start from the month every month there is a window of 2 to 4 days when a female is able to fertilize as the the egg has the ability to get fertilized by an sperm. So, every month technically there are only 4 or 5 days or 3 you can call it 3 to 4 days window when a female has potential to fertilize its egg to produce a zygote and eventually a baby. So, in other word if you look at it the actual reproductive activity of female over a period of year will be around 48 to 60 days that is it every month and other than that at any phase if a female is having a sex on any other phase other than this if I go back any of these phases most unlikely hood that could lead to a formation of a baby. But, this is the phase which is very critical for you to understand and this is a very very cyclic and very well tuned activity and if you look at the way the basal body temperature changes which I wanted to show here once I can. So, the basal body temperature remains. So, let us talk about an average temperature that is moving like this, but at this phase basal body temperature goes fairly high and then it falls down. So, this is the zone when the body temperature of a female goes fairly high because of the action of these different hormones which are there and metabolically it is very very active. This whole cyclic process is many a times disrupted, but I was I told you in one of the previous classes on endocrinology that please look for the endocrine disruptors and all those kind of drugs and many a time because of imbalance of other hormone the cyclicity of several women they suffer from lot of gynecological disorder in terms of because this whole cycle is being disrupted they do not get the proper menstrual cycle they do not get the men's in right time and it kind of leads to a lot of complications and lot of irritability lot of behavioral trait which are very asynchronous behavioral traits which happens, but if you translate it without getting emotional you translate it in terms of the hormonal you will realize it is a very tightly scheduled molecular event which is taking place within the body of a female and any disbalance or you know in a shift from that kind of tightly regulated chemical phenomena could lead to a whole array of behavioral changes which we really cannot explain straight away that needs a lot of probing. So, this is very important I expect you people to appreciate this whole thing that this is a chemical game of three or four players.


Okay, morning My name is Miguel soon again. I'm gonna go over and talk about the this talk is gonna be how we're basically gonna Use the opens that components as microservices Inside of containers. I'm gonna try to go a little bit slow. It's too early and probably everybody's kind of like hangover or something This is the agenda that I'm gonna go through it First of all, we're gonna just pray of definition microservices. Why open stack? How we're basically move opens that into microservice itself and we're just gonna see the standard architecture of open stack after that We're gonna go through why it's better to go over and do this on microservices instead of using dev stack for development You'll see in a minute after that. I'm gonna go and show you how pretty much you build your code Using the latest container. I mean build your containers using the latest code So you can actually test from pretty much source and master or any release that you want Then I'll show you a real quick into how docker file is written What kind of a templates do we use because we're basically using OpenShift and Kubernetes underneath? And then I'm gonna just give a really quick Display on how pretty much keystone shows up later After that, we're just gonna go through some basic stuff recommendations of how to run the open stack controllers And how do you pretty much? Roll updates and at the end just have a general picture on how this stuff works So let's start With the beginning after that we're gonna have Q&A if you guys want in there So first of all, what is the microservices? This is pretty much from Wikipedia and you can and you've been hearing this a lot and pretty much the only thing That is saying is that I'm you architect your application in a way that you go over and decouple it and Every single piece or every single group becomes a service group that they talked with each other within it So you can have your application if it is a billing or whatever Type of application you can have like your billing system becomes one microservice Then your account management becomes another microservices. Then you pretty much just split it apart You grab those pieces that are really tight-coupled and those becomes just like a unit So this time you are not looking into going over and figuring out like where is X, Y or C piecing to the code or if you have a monolithic application You usually start spreading apart not as saying, okay, I have my application server and my web server pretty much just from function so the whole idea of microservices is Design the software in a way that will basically Imitate or pretty much try to look how your business work the same way that you when your business is you have Different departments doing different things. That's the whole idea of kind like a microservice So after that and they are hold the other point of doing the microservices that I'm they're pretty much Independent of each other and they talk through APIs They don't have to go and say you know what I need to do something with this other piece of code That is sitting on some other place because you can just request it So if the whole other piece of the code changes as long as you have the API you can still go over and use it That's the whole point of using the microservices So now why are we doing it with OpenStack? Well, first of all OpenStack is a huge ecosystem multiple components, right? You have base core and then you have a lot of different other components Then the second one everyone and every every of these components. It's already called service So it's just like okay. I mean you have your compute service You have your storage service you have keystone you have horizon each of them is actually doing a specific function And they already talk each other using the APIs. It's not like you're gonna go over and Use some crazy RPC call in the back even though some part of OpenStack They actually rely on RPC calls, but it's not as in you're having keystone answering RPC calls from NOVA Usually it's just RPC calls within the same service itself and And last and for all it's pretty much the components are independent from each other except for the keystone dependency that you basically use for authentication Every other component doesn't matter if you have it or not. So that's the reason why we picked it up in OpenStack now how you put it in Why move it as microservices first of all like I said Each component requires its own database. So it's not sharing anything You can have your own separated database for each of the components that basically allows it I mean it might indicate that you have to manage multiple databases instead of having just one huge server But it also allows you to just a couple everything from okay Now this is the section for open for NOVA itself So you can go around deploy your own database inside of the NOVA microservice without having to affect anybody else Like I mentioned before they interact with APIs So it doesn't matter what exactly happens in the OpenStack code in the back as long as you're using the API It will basically go over and still work That's one of the reasons why OpenStack pretty much allows some type of upgrades without much of a problem Usually when you try to upgrade OpenStack Aside of going over and saying I need to modify the schema in the database every other things pretty much straightforward Second one is pretty much to the architecture of share nothing Like it's pretty much completely independent And it's not going to be going over and relying on something that you have to be seen by multiple servers at the same time Then it's the sign from scratch since day one Even when it was some what I said cactus They already start looking to microservices themselves. So it's already built in and the last for it Is if once you create your microservice inside of your container You can easily go over and deploy it right away and give the developers the ability to deploy. Yes, you say it's just like one click deployments so Moving forward here. This is the standard architecture of OpenStack That's how pretty much everybody sees it and that's from like open stock Docs of opensack.org, but as you can see it's already telling you right there It's pretty much different services connecting through the API So our so the whole reason was I mean if it is already sitting in that point Why not use something that is already built for microservices? That's the reason we decided to go and start Doing Kubernetes an open shift Kubernetes pretty much designed for doing microservices gives you everything that you require like a load balancer replication Scalability at the microservice level now I'm not saying about the Kubernetes cluster or anything like that pretty much is at the microservice so when you go over and have your Pretty much deployment Inside of Kubernetes you pretty much you can go around define services each service becomes like the network service or the compute service or The image service within those image services. They are running your containers of those open stock components only So you can pretty much decouple everything now having containers is really easy to go over and say, okay We need to start testing something else or you need to go over and give it a new Environment to somebody so he can actually test something So it's really way much simpler than going over and doing a whole open stack deployment Into okay with this our dev environment then this our test environment and this our production environment So moving forward that's the reason why we started with Dev stack and moving this stuff into it Problem with one of the problems with Dev stack that everybody knows and everybody goes over and code It's that it's a mess.  What exactly is doing here? If you're coding some specific section, just like a Python module or something like that That's fine, but if you're actually trying to go something a little bit bigger It's a it's way much more than difficult to go in there I have no idea how like developers actually deal with it right now because you go and try to figure it out that I'm gonna I don't know put a Nova a Nova API version 3 and how do you test against everything else? It's like you have to know like what exactly Keystone is doing what exactly Nova is doing In novice if Nova is gonna talk to Neutron So the problem with Dev stack from from the point of view is that you don't see the actual thing Running you just see a bunch of things that are happening and you have no idea what it is However, once once we decided to go and start moving to microservices That thing changes because now you have every single of those components even calling it from master Which basically is what Dev stack does starts downloading everything from master and then set it up for you But this time you're pretty much separating in small docker containers And you can actually see the whole system working without any without having to go and do some craziness into it or or nothing like that It's just like really straightforward You create the docker container build it and then you go and deploy it in pretty much just pushing the Jason template tool Open she fought to or to Kubernetes pretty much the same thing And now when you are actually coding you can see the difference because you can go and see okay I have the rabbit MQ service here I have the database service here, and I have the other microservices sitting around You can actually see what is going to be the relationship between each other and we'll give you a better idea on what exactly you need to go And figure it out when you're trying to develop something so Once we have it once we actually move through this Is how you build open stack containers using the latest code well Pretty much that's one of the benefits of docker And that's the reason why we decided to containerize this stuff because you can go over and you don't have to be running any specific RPM distribution you can go over and install the RPM distribution if you want But you can also go over and just create grab a docker container Log in there and pull down the source code and do just the pip install Requirements and then pip set up build and that's pretty much it will go over and deploy everything for you Now how you go over and pass over The like parameters and all that kind of stuff. I'll go through it in a minute but in doing this stuff in in microservices is way easier because You will be able to put it on the CI pipeline straightforward. So every single time somebody makes a new commit they rebuild Right now. That's pretty much what they are doing in semantic the on the open stack team basically pushes something in there and some of the actual Scribes on the CI pipeline will build the docker container or will build RPMs Depending on what we're basically want to want to go and put in there Then it's easy to deploy through the CD pipeline The thing with Kubernetes is that once you create your template for Kubernetes for each of these open stack components It's just a matter of handing over that template to another developer and that's it He doesn't have to write it again. He doesn't have to modify it. It's straightforward. Just pass it over He'll initiate at the the the pretty much OpenShift Kubernetes deployment and Probably in a few seconds you'll have his own version or his own environment for the open stack components Second one is the pretty much you can use the same container over and over and over once you jump into container side Some people will go over and say well, it's pretty much the same way as doing packages Kinda The only thing is that it's way easier than doing over a devian file or doing over an RPM file Here is just like the same instructions that you have in open stack on how to download and contribute Just go into the container build it up and there you go after you build a container You just pretty much tag it into which environment do you want so you can tag it as development you can Tag it as my version one my testing version two or whatever it is Once you test it over you just pretty much change the tag or tag the container again Or actually the image of the container and we'll go over and say okay. It's now. It's ready for production at that point Kubernetes can and OpenShift can go over and say okay. I have a new tag that is ready for production I'm gonna start rolling it out So it pretty much moves the same way and you can actually align it to the releases for open stack and last for all Once you have it inside or you only see I pipeline pretty much is really straightforward to build a container So I'm gonna give some examples here Okay, so have time some examples of what is it that is happening here. So to build the Docker files There's something that you have to go through here sometimes you go and say okay I'm just gonna go into Docker hub download what is what is up there the fact that is in Docker hub And it is actually a container doesn't mean that will run on Kubernetes That's one of my problems that we went through because Kubernetes has a different way of using Docker Which is pretty much the it's similar But realizing some smaller components like using environmental variables to pass something into a container So if you go over and just pull down whatever you have from like open stacking Docker hub might run on your VM But that doesn't mean that will be able to go in putting there Same reason why we tried to go over and build it ourselves that way we build the containers ourselves We basically move it over to fit to fit the actual Kubernetes cluster And we can go ahead and move forward with it the other section The other thing is that um now that you're basically inside of the inside of this stuff Docker allows you to pass over multiple environmental variables multiple scripts and everything But how it is an easy way to go and set it up is that you create three scripts The installation script Then the configuration script and then the startup script pretty much are only wrappers around the act the the actual instructions So on the configuration script you just put it on that okay I'm gonna download git clone from OpenStack everything is in there once you have all your dependencies You call the order the installation script do Python set up that pie there you go And on the run script which is the actual script that runs Docker is where you start the actual service for OpenStack Passing all the environmental variables. So with that in mind, this is a small example. Can you guys see it? Increase it or not, let me just put it here Okay, there we go there we go So this is just one of the examples Like you see we're basically going over and saying from sent us we're using sent oh seven as the base container Then we just put the maintainer and then we started finding the environmental variables that we're gonna pass over to the configuration script Why we do this is because when you drop this stuff into Kubernetes The only way of setting it up your container or actually telling it you have to do this stuff is either you can grab Something from outside let's say to the tell the container download first the configuration file from somewhere or pretty much here All the environmental variables that I'm passing you configure your configuration file automatically before it actually runs So that's the reason why we have so many environmental variables But like I said, there's multiple ways of doing this then we pretty much just grab the installation the installation script for horizon that's the one that actually contains all the git clone and Pretty much pulling every single thing from from our git repository Then we have the configuration script and the startup script So as you can see When we build the image itself the one that we're running and the this section that is going down here That says running the install horizon all that kind of stuff That's what it gets executed when you're building the image and when you're doing the Docker build So by the end of that one you already have a container image with horizon install when we actually pass over the startup that is H is really more into okay Just call this stuff is going to start a patchy for us passing all the environmental variables at that point So these are really some of the just one of the examples, but all of the others is pretty much straightforward You just define all the environmental variables that you're having there You can put up your installation script your configuration script and then the one that actually calls this service I'm gonna go over through the next one Which is let me just put it up here Oh Here it is So okay before we move into that one Another of the things here is that I'm another the benefits is that for instance How do you do with services that pretty much are running multiple things like Nova? You have Nova proxy you have Nova API you have Nova conductor and you have the Scater and pretty much the scheduler what we did in that case is that we basically install Nova and on the startup script We just pass over the environmental variable of the service itself So the star script reads for instance when we do a docker run manually We do docker run Open stack Nova and then we pass over API and then all the other environmental variables that pretty much allows you to have Only one image that can spin up all the services from Nova itself Depending on which environmental variable you pass over you can actually go over and start this time I'm gonna put out Nova proxy or this time I'm gonna start up conductor or this time I'm gonna just put up Nova itself a Nova API So that's one of the other benefits that you can have everything in there And you don't have to rework your stuff in order to be able to spin up multiple services within the same within The docker in the container ecosystem. So once we have our containers itself We're gonna go and I'm gonna show you a little bit of a File there we go. So this is the actual OpenShift Kubernetes This is the actual Kubernetes OpenShift template that we use for Keystone So you can see here we have the deployment configuration which basically goes over and tells okay you know what we're gonna have a trigger every single time an image change and We basically just pass the URL of the image in there So our automatically gets in there we specify the number of replicas of Keystone that we're gonna be running So since it's inside of the Kubernetes world Each container becomes pot itself So you can go around have your container actually a pot that is sitting with the MySQL database and a separate pot That is going over and sitting with the actual Keystone service the thing that allows you this stuff this time is that The MySQL might not be able to scale because you have to do some magic tricks in there, right? But the in Keystone API you can pretty much just go around tell it instead of one replica here and 130 and Kubernetes automatically goes over and scales Keystone on the fly Since it's already a microservice itself, and it's only running as a Docker container it's pretty much just going over and grabbing the Docker containers and there you go Started so here is pretty much where we go and tell it We're basically running one keystone the keystone container itself We're putting the product and the ports that we're basically using for the admin and the standard port Well, not standard port But anyway, and then we pass over all these environmental variables that I was mentioned at the beginning that at the moment that the Keystone container starts and Kubernetes passes over these environmental variables. It will go over and automatically configure the Keystone.com and let it actually run with whatever settings that you want. So the developers can actually go and Change the stuff on the fly without having to like where is running or in which server I have to jump into it They basically just go into the actual Kubernetes cluster itself and just redeploy really straightforward with whatever they want to go and put So this is just one another example The file is kind of long because we pass a lot of the things in there But we're passing every single piece that requires in order to authenticate I mean in order to start the thing then after that we go over and tell it okay, let's we're gonna create the routes Pretty much a route allows the external services that are not within the the Kubernetes OpenShift cluster to access it So for instance if you have Client if you want to try it out with the Keystone client you create the route Automatically Kubernetes goes over and says okay this route that is gonna hit this a specific service they have here We'll go over and tell it send it over directly to the container. They don't have to worry about anything else It's just like going through the actual load balancer Hitting the actual system they have in the back then we have another separated There's a second route because since we have two ports. We're basically load balancing the We're load balancing the traffic between the each of the like replicas for those specific boards And it's pretty much the same way. It's just like we're gonna create another external access To go over and hit this service once you define that one you pretty much define here exactly what it's gonna be the service itself So you just go over and call it Keystone a or Keystone b or Keystone whatever Specify which is gonna be the port that you're gonna be going over and using at that point And then you can tell it over with the selector to which actual container are gonna be running. So Moving forward Here's the other example of the second Keystone stuff and then we have the parameter sections where we basically is just input field that Openshift creates where the developers go over and just like start typing down the parameters that you want and everything that you Have here will basically be passed over to the actual container when it starts So like I said, it's a little bit bigger long because it has a lot of different things that were basically passing over but The whole point of this that I wanted to show is that once you have it this one You just pass over the file and that's it or you just pretty much enable Openshift to go over and say I'm gonna share this template with somebody else And you just share the template across all your or all your users or to a specific user They don't have to go and do the rework or anything else So anybody that wants to go and deploy Keystone, it's just either UI One click and go over and put it or just grab this file and upload it to your to his own account in Kubernetes And that's pretty much straightforward So that being said We just go back to the presentation here real quick. This is how pretty much looks once we deploy it so as you can see there's Already in there. That's one of the services that we're basically specifying in there The other one is the second service each of them are basically going over and have their specific ports and The coolest thing here is that within the Kubernetes cluster itself if you want to go over and hit Keystone from another container Let's say that no is going to hit Keystone You don't have to learn the actual URL that you're using you just pretty much tell it the name of the service that you specify So if I'm inside of another container and I want to hit the Keystone API I just have to go over and like ping open stack Keystone dash a and that basically Kubernetes results automatically to the node that you're actually running that that specific container and passes over all the traffic into it So you don't have to worry about like oh, what's the URL now? What's the IP now? It doesn't matter at all doesn't matter if you just pretty much scale it down to zero and bring it back Pretty much the whole deal is that Kubernetes knows where it's like every single or microservice So he's able to route everything through it, which allows us to pretty much do like really quick deployments so And this is just like I said, this is pretty much just the kind of like the UI part of that we have in there Once if the like another another the developers wants to go and add for instance Nova Or he wants to go and do something with no or test something with Nova She has a matter of clicking on the other project They select the Nova template and pretty much goes over and gets deployed So now that we have that one in there, how I mean, I'm gonna go through really quick into how we basically got there So we created like I said one image per service We have one image for keystone one Docker image for keystone one for Nova one for glance one for horizon and one for cinder Then we push the images into our registry that we have internally We basically create the template only once and Once we have the template we can basically start sharing it up Then Kubernetes takes the template and starts deploying the microservices Anywhere where you want doesn't matter if like if you want to go and have your own Dev test and prop the user just gets in there Creates a dev project deploys the things into it gets again gets a creates another project in Kubernetes And goes over and deploy the things again And then creates another project and deploy the things again, but it's pretty much its own environment So you don't have to be fighting around resources or like who brought and who broke something or something like that You know it's pretty much really straightforward Then after that we have test test test and try to test and then you just promote it to the next environment how the promotion gets done Like I said with Docker tags We can go over and say I'll show you pretty much the pipeline how it runs in a minute Or actually the diagram at the end, but you'll be able to see That it's pretty much up to whether you want to use the releases of open stack and every single time you commit Something gets a new image built or you pretty much go over and run every single time you run a Jenkins job For instance, or every single time you create a new Docker image straightforward pretty much open shift and Kubernetes there They can go and execute the redeployment on any of those three or six scenarios So now that we have everything they're up and running Okay, so have time Now that we have everything up and running Allows us to pretty much simplify not only that section, but also part of the operations Because deploying an application within Kubernetes like I mentioned before it's just matter of creating a new image Kubernetes has multiple ways of deploying you can go over and recreate everything or you can do rolling updates where basically it's gonna go over and start replacing each of the Containers that he has so each of the pods until he gets to the actual version that you require on that a specific Docker image So moving forward on the rolling updates Like I said the way that pretty much set up said a new image gets created You deploy on the test project you tested it out Then you tag it as production or any other flag that you want to put it in place And then pretty much automatically Kubernetes gets redeployed There's a little bit of sometimes there's a little bit of a downtime But it really depends on like how fast Kubernetes actually spinning up the container which to be honest is really fast because usually Kubernetes goes over and tries to Prefetch the image and then it'll go over and actually start the container itself before killing the previous one So one of the thing is that I'm the two nodes that I put in there The upgrades means that you're actually upgrading the application SQL schema and that's something that we pretty much at cement that we went through it when we were moving from what was it Ice house to kilo. I think it was from ice ice ice house to kilo We had to pretty much go over and build a separate open stack Control pane to be able to move all the beams first through the load balancer and pretty much Built a separate control pane because we were basically moving forward from ice house to kilo, right? So we upgraded everything and On a new pretty much control plane and then the previous one We just moved all the eyepiece or all the pretty much all the beeps to point to that one And then we destroy the second one, but doing the actual schema upgrade. That's a whole different story So this is pretty much allows you to move forward And really fast but as long as like I said, you don't have to do much of a database schema You can still go over and tell it You know what coordinates when you're actually going to go over and deploy something execute a job Kubernetes also trying to hit me and hit the same way that um, it's kind of pretty much It's kind of like trying to hit the job scheduler part Messages really good at this stuff, but we're in it's just started to add those specific sections So for those only instances where you have to upgrade a schema or pretty much fail over something or all that Kind of stuff that is only once you can define a specific update job where you actually pass over the command that you're going to be executing I guess some some of the containers or a specific part and I will basically get in there Executed I mean using Docker exec and everything it will execute it itself and then we'll tell you okay I'm done then you can actually move forward with the actual deployment and the other thing is that I'm Depending on how you have it set it up Like I mentioned it you can go over and out of deploy or you can pretty much wait until okay I'm gonna sit down here and Go over and click the bottom myself. So it's pretty much depending on how you set up the deployment configuration It's you will basically go and do one or the other So at the end this is pretty much the open star architecture that we have The pretty much developer goes over and starts coding something That one pretty much we have three options.  It's actually merge It will go until openshift Kubernetes. There's a new version of the code Openshift has Thing called source to image that pretty much takes care of grabbing the code directly from it Building the image for you and then having it stored locally in there So you can actually go over and redeploy it So if you really want something that is completely automated you put out the git rip on the git webhook As soon as the they literally as soon as they put merge works like a github webhook webhook pretty much the same deal git tells Openshift new commit is in there in place and openshift basically pulls down the latest code Actually pulls down that specific commit up to the up to that commit and starts building the image for you And then it will allow you to say, okay I'm gonna deploy it or not you already deploy it depending on how you have the configuration triggers in your application The second one is that we can go over and deploy things using the CI pipeline The same way that you'd have on the git webhook works There's a JSON webhook that you can pass over to anything as long as you just do a curl to hit the specific application that Kubernetes is giving you it will basically go over and do the same thing. I'm pulling down the new image I'm pulling down the new source build the image itself and there we go Or you can pretty much move it over until you your docker image after the CI pipeline is done You can build the image itself there and you can go over and push it over into your jet on registry at that moment same way OpenShift Kubernetes is basically querying your registry for all the images that you're using inside of the Kubernetes cluster So pretty much it will go and say, okay I have a new tag on this specific image that I just came out and I don't have that and that Mdi5 hash, so I'm just gonna pull it over into the actual into my Internal registry and then I'm gonna go ahead and deploy it automatically Like I said the triggers depends on when you're building and where you're gonna go over and deploy If you go around tell it as soon as a new image is seen there go over and deploy it New image gets in place and hit it seen there and then after that you will see that this is pretty much a small diagram of The architecture that is how it's pretty much running The service that we have here is like I mentioned at the piece of the load balancer that takes care of it that is managed by Kubernetes and then you have the pod which is the actual database inside of that database is a small container for the specific It's a small container having the The mySQL instance where pretty much keystone and all the other components drop their pieces in there So for if for some reason keystone goes down it takes its own database and it's not gonna affect anybody else It's not something that you have to worry about okay I mean you still have to worry like if you want to put a Galera cluster in the back or something in there But it's not something that will basically impact everything and that's one of the key What that's one of the purpose of microservices if you lose that specific microservice You won't impact the others because it's pretty much not you are not sharing any of the components And the whole piece in the middle is pretty much just the Kubernetes Network that they basically go out and allow the other components to just go and say I need to talk to Nova I'm just gonna go over and use the name of the service of Nova to talk to it directly I don't have to worry about IPS or anything else and Pretty much that's the whole reason why we decided to go over and start testing this out moving forward into it and Right now like I mentioned and we already have the pieces for Nova Keystone horizon Celerometer glance Congress and I don't remember which one is working right now Which are on their building but anyway, but pretty much they allow them to go over and say right And they're doing right now on the testing of what is better using keystone with Apache or a keystone with event lit So in order to test it out simple just go and deploy the actual Jason template from keystone Apache The other one of Jason of event lit and just pretty much benchmark it straightforward You don't have to go over and tell okay I'm gonna reconfure everything in there or put up an RBM or something like that because it doesn't even matter for from the infrastructure point anymore and with that said I'm not even sure if I'm still half less five minutes. Okay. I'm gonna leave pieces to Questions and answers any questions No, there are questions Since you put Open shift along with communities do we need both or No, I'm open shapes basically Coverned is with an extra extension that red hat bill for it, which provides like user management Security context the deployment section, but pretty much as Kubernetes So to start using this you need first open shift to be installed right before we can do anything. Yeah, based on what you have given Yeah, so the thing is that I'm Pretty much. This is almost like this is pretty much running an open stack on top of Kubernetes or on top of open Whichever way you want to call it, but and that's the and that's the whole thing a lot of the times here You go over and say, okay I'm gonna deploy my control plane and I have to go over and build BMS and I have to go and provision the BMS and just like a View or everything and replication and the load balancer and all that kind of stuff We're pretty much letting Kubernetes take care of that for us Since when you create the Kubernetes cluster, you pretty much allocate nodes at the beginning and just install Kubernetes Doesn't matter what you're actually deploying inside of it It will basically just load balance across all the all those nodes move them around and pretty much take care of All the other like infrastructure pieces for you Thank you Any of our questions? No, awesome. Well, thank you very much. I really appreciate your time and getting up early