Shaber 1000 here This is a Unexpected expense What a monk yeah our TV Which is right here? It's just one of those Rockoos high sense But working the other day didn't yeah Thank you. Yeah Only had it four years.  Yeah So makes me mad the backlighting went out of well a couple years ago the The ethernet car or the Wi-Fi card went out So we had to plug it into the ethernet, which is okay. I'm like all right no problem And then the backlighting went out it just made a pop sound and went all dark And you can see a little bit, but then it would go clear out But then so we're gonna use my mother's Yeah, her mom's TV, which are old she's had them for a long time and We were gonna use one of them. We put it up and everything, but it doesn't have YouTube Samsung Yeah, it had it on there and then when you updated it automatically deleted. Yeah YouTube so you couldn't get YouTube I could go on I could go online and get on Google But and then when I went to YouTube though, it wouldn't open the whole page up. So So it's like screw it. Yeah, so we had to go get another one. So we went with a bigger one What was this? 448 bucks. Yeah Walmart. So we got a fill up. So we got a good name brand and we got a 4k this time. Yeah 4k So Anywhere we're gonna open this up and I'm gonna show you how to get it ready to hang on the wall I don't know it's so much bigger. I don't know if we're gonna have enough room this way Up and down Hopefully if not, I mean at least I already know where the studs are I can just move it up Right So we're gonna open that up and bring it in here. I'm gonna lay it on the bed And we're gonna put these mounts on it Hang tight guys exciting stuff Hopefully it'll last longer. Yeah, we didn't want to buy a new tv. No, I really didn't want to spend any money I mean other ones working fine other than the wi-fi card going out and I was like, well, you know I just ran the Ethernet cable over Yeah And it worked fine and it worked fine, but they won't work on my mother's No, so we can't use youtube on it. Yeah, and there's quite a few of them Are not even accepting youtube on their well sam song is one of them. Yeah, all right So let's get this show on the road here. Okay. Let's get the show on the wall Get it Then I got work to do on the boat. I gotta finish the work on the boat. Yep All right. Okay guys, so here it is. This is what we're gonna do I'm gonna use these because I want to keep it away from the wall a little bit because We need to get in the back. I'll be using that usb port there For backshot, you know Stuff behind me This is for the surround sound This is your ethernet. So This got buttons That stuff should either be on the bottom or over here because if you get this flat up against wall You lose your remote. You can't use the buttons. Yeah, you know what I mean?  All right Let me get those on there and We'll put you on the stand And show you us lift lifting this up a waste 48 pounds Do you um want to measure it from there to there? Nope. No Nope, I'm just going to hang it if it don't work and I don't know it's got to be raised Yeah, then I'll measure it. All right Looks like it might work Um But we'll see hang tight guys. All right. You ready? Yep, got it on. Want me on that side or this side? I'll stay on this side because you don't have to plug that in there Okay, no, no, no. No, I just only want so much so that was not hanging out Lift it up Watch your fan. Okay lift it up So take your hand down there. Okay, can you plug that in? Yeah Are you holding that? Holding what? The TV. Yeah, I have the TV And that's right now a little bit. Okay I can plug The hdmi in Can you hold this TV for a second? I just gotta grab my glasses. Okay Okay, you ready? Okay, so Let's go up. Make sure your hooks are in The end. Yeah What? Are your hooks in? Mine's in Okay, why do you want ooo? Because of the box. It's sitting on the box or is it hanging on the hooks? Yeah, it's sitting on the box And hanging on the book See it's on the hook, but the box doesn't hang. There we go. Okay, that's what I was asking. It's fine Say that'll be good. I'm good. What about this? About what? Okay now Is that on there? Slide it down. I want it in the center So let's lift it up a little bit And slide it. Okay We're going like this Okay, that's good right there. Okay, but I'm not good over here I gotta split the differences what I'm saying. You know what I mean? So it's gotta go. I think it kicked on, didn't it? Yeah All right, peel your peel, mama. Nice birthday presents. Do we have devices? All right. All right, now I'm gonna set this thing up and But that's it. That's kind of it's kind of like a vlog. It's not a how-to of anything but It's just like a vlog because it's something that we didn't want to go by But we thought If we're gonna buy one we might as well go Upgrade and go a little bit bigger because the other one was 50 inch which was fine Yeah, but the 50 inches was like 380 bucks. Yeah almost 400 bucks. This was 448 So And hopefully it'll last a lot longer. Yeah, so for 75 dollars more. We got a 65 inch and it's a phillips So I haven't phillips tvs before and they seem to be okay. So Um And they wanted uh for a vizio the same size tv without 4k They wanted 468 bucks for yeah Go figure All right, so We're gonna set this up and then I'll show you what the clarity looks like you may get some kind of idea But remember the clarity really is only going to be what your tv's putting out and this camera's putting out You know But you'll get an idea somewhat. So let's get it set up. Okay guys, so There's what the clarity looks like It's just one of my videos of course looks pretty good Nice i'm on them. Yeah, you like it? Yeah, it's all matters. All right They say monk What do you say? I'm gonna say she's out for now She's eating the salad we had salad and pizza for lunch. So I gotta go do some things on the boat We're gonna do some night riding tonight. So, huh? Yeah, so we'll bring it along won't we? All right. Thanks for watching guys. Appreciate it. Saber is meant to be a legend gone for now. Thanks for watching monkey. You're out You like it? Okay. All right. Bye guys


Thank you for an opportunity to be here and talk about Well, most of the world the blue part Our lives would not be possible, but for the existence of the ocean Well, that's true of all of life on earth All life requires water and this planet this little Spec in the universe is blessed with a lot of liquid water plenty of water elsewhere in the universe But we don't know about the existence of life anywhere else So it's water plus life that is underpinnings of everything that we've been hearing about this morning from toilets to toys the opportunities that we have at this unique point in history of course every point in history is Unique but nothing like the present time This is Sweet spot in history as engineers might call it because never before have things been Just right for us to anticipate the future in ways that we couldn't Even ten years ago let alone 50 or 500 or 5,000 This is the first time in human history that we've been able to see ourselves in Context to see this little blue speck in the universe and realize this is it Every other living creature on the planet uses the world around it. We're no exception. We consume the natural world Even when we breathe we take in oxygen. We expel carbon dioxide We we don't photosynthesize so we have to eat other things that have lives of their own For all the history of our species it has worked. It has worked really very well in our favor This little chart goes back a hundred thousand years and there have been a lot of ups and downs during the past hundred thousand years when humans have been around in one Place or another one form of society and another scattered for the most part only in the last ten thousand years have we Enjoyed a period of relative stability stability with respect to a Climate that's favorable to us With circumstances that really have enabled our societies to grow to prosper and now I have personally witnessed growth from Two billion people in the 1930s eight billion people. I mean in the 1980s There are four billion and now seven billion and climbing so I've personally witnessed and some of you may have as well a tripling plus of humankind on a planet that doesn't get any larger We have burned through assets during this time that are unprecedented for any species on the planet It's a sign of our prosperity But it also is cause for reflection to think we cannot keep Doing what we've been doing and still have the level of prosperity that we currently take for granted. I Have some friends Lots you may too who really love the idea of going to Mars to look at the red planet to set up housekeeping there at least for a few of us not seven billion or 10 But Terraforming Mars is a dream. Maybe we'll Get there in one way or another to turn the red planet more like the blue one But meanwhile, we're doing a pretty good job of Turning the blue one to be more like the red one. We're Mars a forming earth with our activities mostly in the last 200 years Mostly in the last hundred years in the last 50 years the pace is picking up We have the capacity to turn the natural world to support our growing populations But curiously Why is this the sweet spot? Because now we know there are limits to what we can Do to the natural world and still have that prosperity that we cherish Interesting this year this year alone at Davos the world economic forum Really began to focus on the blue. I gave five presentations about the ocean and others put the oceans on the balance sheet Almost for the first time at these major economic forums the economist had a forum in Singapore Really directed at the ocean the blue part of the planet With the recognition that's where most of the water is maybe you could say Going forward that's where most of the opportunities really are think of it Only in our time the last half century or so have nations claimed their Exclusive economic zones out 200 miles every nation has a coast has a blue backyard the United States has more Territory if you will underwater than above so the country Effectively is more than twice as big as what we think of this country as and it's true with Australia Australia, there's a blue Australia. There's a blue Bermuda the island nations of the Pacific are realizing they may be small Land nations, but they're big ocean nations and they're exerting their power Exerting the opportunities they have and the responsibilities that go along with it realizing hear this It's like Looking at the world with new eyes Go back a hundred years And where we were with policies for what do we do with this country with any country with the land with the water The fresh water what have we done in the last century that if we could go back to 1900 or 1800 or 1700 armed with what we now know what might we do differently about the use of The assets the natural assets the trees the water the wild creatures that share space with us. I Was challenged to think that at a conference or I gave a keynote talk in Hamburg about shipping if we just just go back 50 years what might we do about energy consumption to be more efficient in the use of it as we power our way across the ocean So many things if we just knew then what we now know But think 50 years in the future. What are the opportunities that we have now? that We will either capitalize on use to our advantage or Through ignorance or not seizing this moment wish in 50 years that we had taken this unique opportunity to look at the ocean and Think about what we now know that we didn't know Even 50 years ago or 10 years ago things such as ocean acidification the ability that we have exercised not wittingly but through the burning of fossil fuels initiated Climate change global warming sea level rise a lot of things that people are worried about but in addition a new newly recognized Phenomenon of CO2 in the atmosphere now entering the ocean in such a level that That CO2 is becoming carbonic acid changing the chemistry of the ocean and therefore the chemistry of the planet probably Think of things that if you want to have something to worry about worry about Changing the chemistry of the planet. We know it in the atmosphere, but now the waters of the world are being affected with consequences that Literally trickle down to influence everything we care about There it is a little blue speck in the universe Only in the last century has it looked like this illuminated by the consumption of Fossil fuel, you know sunlight energy fixed that millions of years ago that we're now just burning through on Our watch in a few decades to our advantage because now we know Now we understand what we couldn't see 50 years ago or in some cases even a decade ago We are the luckiest people ever to appear on the planet and I think in this company those of you who think about how do you solve the problems and Really do well by doing the right thing to use Market-based solutions to use good business brains to look at the earth as an asset base To see what the problems are but to realize their opportunities out there That are good for your bottom line, but they're also good for the planet's bottom line Now we understand Scientists around the world are teaming up with economists around the world teaming up with business leaders with leaders of Countries as well as corporations Leaders in science in conservation across the board How do we look at the world with new eyes and recognize that you know There there are tipping points and we're approaching them on a number of fronts There's an envelope of circumstances that makes our lives possible on this little blue speck in the universe I didn't think about that when I was a kid a lot of people today still don't think of this as The opportunity of all of the lifetimes that have ever been on earth because we're the first ones to understand We have a real problem We can't continue burning through the assets literally and still expect prosperity to continue as we have hoped that it would be going on infinitely there are limits Recognizing those and saying let's turn that to our advantage Let's understand that there are limits to water limits to how much fossil fuel we can burn I mean the so-called cheap energy has really given us as perhaps the most important thing it's given us knowledge Maybe even a little smidgen of wisdom to be able to take what we have To learn from the past and apply it to a prosperous future and we have that power That's the good news and it comes from knowing we couldn't know what we know They but for the burning of fossil fuels that have given us rockets that can go up in the sky And made it possible for many of you to gather here traveling from the other side of the world Given us the power to power computer technologies to feed people on a level that is unprecedented on the planet I mean we couldn't go to the moon with whale oil We have given up the idea of human slavery as a source of power of energy for the most part at least and Here we are facing new insights The problems with fossil fuels are not what we tend to think of them oil spills. It is bad news But the real bad news is the consumption of fossil fuels now We know now we have the ability to think about alternatives to turn the problems to advantage Bad news right now for the burning of fossil fuels over the past couple of centuries Getting us to this point where we can tangibly see the consequences in the Arctic in the Antarctic the bad news for polar bears The bad news for people who love beaches everywhere as sea level rises But the good news always the good news is Now we know There were not conversations when I was a kid about Grabbing carbon sequestering carbon the need to do this to have carbon markets to think about going carbon neutral or carbon negative This is all new language all born of an understanding that we live at a time of unprecedented opportunity Driven by knowledge and the ability to communicate is never before in ways Never before possible So on many beaches around the world We understand that what's under our feet is sand silicon dioxide the substance that it really makes glass possible But on other beaches around the world the tropical bands in particular its calcium carbonate Little fragments of shells are the bodies of organisms that do the heavy lifting in terms of generating oxygen and taking carbon dioxide out of the atmosphere We're just beginning to appreciate The big cycles the oceans roll in carbon cycling carbon sequestration oxygen production You know two out of three breaths you take are generated by organisms in the sea more than half the oxygen in the atmosphere Really generated by microbes that you'll never see unless you have powerful New technologies to enable you to to sneak up on them and see these minute organisms that their existence We didn't even appreciate when I was a child these small creatures these cocalithophoreids It'll appear on a t-shirt near you I'm sure cocalithophoreids these calcium carbonate grabbing microbes that generate oxygen their shells form the substance of sand seafloor around the world in the tropics at least are Filled with these the bodies of these and other calcium carbonate grabbing creatures that most of you will never see Now we're beginning to understand the role of certain trees not just trees in forests, but The mangroves that it is now thought may take as much as 50 times as much carbon out of the atmosphere and sequester it then trees that live in Terrestrial forests because they live in the water they contribute to the sediments they hold the carbon We're gaining new appreciation for little creatures again that you probably have never heard of these calcium carbonate grabbing algae Halamita Halamita chips form the basis of beaches and sediments in the tropics around the world parrotfish loved munch on halamita and on coral Seagrass meadows just beginning to appreciate the blue carbon value of the seagrass meadows around the miss especially in the tropics But even in temperate zones Generating oxygen grabbing carbon holding it in place those Great floating golden forests out in the Atlantic Ocean in the Sergassos sea newly appreciated as a way of Sustaining circumstances that we heretofore have always taken for granted You may be aware of the headlines just last week in Australia that half the coral reefs in Australia Are gone in the since the middle of the 20th century Gone because of climate change the global warming gone because of pollution gone Because of the extraction of the creatures that make coral reefs healthy the sharks The things that we like to eat that we take out of coral reefs lobsters and the like Whatever combination of reasons, but we are seeing on our watch globally a decline of coral reefs by about half For one reason or a combination of reasons or another so the Phenomenon known as coral bleaching largely driven by temperature changes a sign of bad news They lose the little algae that live in the tissues and Ultimately result in a dead reef Fish are carbon-based units all living things are carbon-based units We're now beginning to appreciate other values for fish other than just swimming with lemon slices and butter Their value swimming out there in the ocean as a part of the systems that keep us alive new ways of valuing Things we have heretofore taken for granted the diversity of life We've come to really begin to appreciate and protect for one reason or another Diversity of life on the land with national parks about 14% of the land has some form of protection For that reason to protect watersheds to protect the diversity of life But in the ocean we're just getting around to the recognition that we need to protect the ocean Need to protect the creatures that are there that may not have an obvious direct economic value But like songbirds They keep the system running We understand that tuna have a value on our plates There was a great value for one tuna last December that sold for three quarters of a million dollars at the Tokyo fish market one fish 600 pounds Not feeding a lot of starving people, but feeding the growing luxury taste for ocean wildlife Now we're beginning to understand the importance of ocean wildlife For reasons such as carbon sequestration driving the system that keeps us alive This is the first time we've been able to pull back and see these these global systems and their interactions right down to the fine points of individual choices that we make at the restaurant in markets and individual ways that we Incorporate that thinking into our lives Only in the last half century have we had access commercially to Antarctic waters Now it's kind of big business for a few countries Taking from waters that if they belong to anyone they belong to you to everyone the global commons the high seas We haven't thought about this in terms of the blue economy of the world economy that half of the world is blue High seas beyond national jurisdiction It has ownership if it has ownership by anybody it has ownership by everyone a few nations a few industries are disproportionately extracting large Quantities of carbon-based units disrupting the carbon cycle in Antarctica Something that we need to think about On a global scale, what does it mean to the Antarctic ecosystems that drive climate and weather? What does it mean to extract wildlife from the sea at an end on an industrial scale?  This is the first time in all of human history We've had access to the deep sea just last March James Cameron Solo dive to the deepest place in the ocean. What an entrepreneur. He's a filmmaker. He's an explorer He's a scientist. He's a star. He's a storyteller giving us a story of the limits of what we can get away with While making a prosperous future for ourselves to remember we have to take care of the assets and many of them are Deep in the sea if we haven't even put them on the balance sheet yet We know how to destroy them With deep sea fishing techniques But we're only now beginning to realize the carbon value Carbon sequestration in the deep sea. We really don't want to disturb it Got to stop two minutes Maybe less just to appreciate that many of you are concerned about predatory behavior perhaps of some of your colleagues and pals but our role as predators on the planet is Unprecedented but now we know we have a chance to turn the problems to Advantage to realize the real value of sharks alive of whales alive The biggest brains on the planet are not ours. They belong to certain whales We can think differently about them now that we know their value more important Alive than his pounds of meat Turn the problems that we now face With putting plastics and other trash into the sea into solutions There are opportunities to use our power of knowing to say some things We just have to stop but turn our advantage turn our wisdom into new ways of thinking Thumbs up This is the time as never before When we know what we could not know when any of us were children The technology we now have that gives us the potential for shaping a future armed with knowledge That has come about on your watch The next 10 years for sure and certainly the next 50 will be the most important time in all of human history To exercise that power that we have To make the right choices Invite you to come this afternoon at 245 over to a place called the firehouse That is on this property where Neil Duffy will chair a panel a blue panel To talk about the blue economy about the blue ocean impact fund about how whatever it is that you do whatever your Talents are whatever your hopes and dreams are for prosperity going forward There are opportunities out there in the ocean For the future the motto might well be Onward and downward. Thank you


the eastern coast of the United States, and our matter gathers. Never before have the warships of so many nations arrived off our shores at one time. They've come to take part in an international naval review celebrating America's bicentennial. They've come to demonstrate the maritime nation's reliance on the sea for trade and on sea power, which guarantees the freedom of the sea for all peoples. They've come to profess once again the brotherhood of the sea. The commitment of the United States, a nation born of the sea, sustained by the sea, is no less ardent. In the gathering armada is the French Corvette Drogu, in her cruise a chief petty officer former paratrooper, husband and father, Fernand Gallo. When we are at sea for a long crossing between two ports of call, I think a great deal about my family, my wife, my children. I impatiently await a rival at the port we are bound for, especially to get mail. The nicest time is when you are alone in your bunk and think, before falling asleep, about your family you left in France. I have been married since 1965. I have three children, three daughters, Sylvie, age nine, Chantal, age six, and Gael, who is four. We go shopping on Saturday, that's the only day I'm around and with the children in school that morning, we take advantage of it to do our shopping. For that, we go to an open-air market in Saint-Cyrmaire. The produce is fresher than in the supermarkets, the surroundings are very nice. And on Sunday, depending on the weather, if it's a nice day, we live in the morning with a trailer and spend the day at the beach or in the woods when it's mushroom or chestnut time, we picnic there and return home at night, the children are exhausted. The Corvette Drogoo is a very recent ship, the third of a series of 1969 Corvettes. It has a crew of 85 of whom five are officers. Its main object is anti-submarine warfare. For that purpose, we carry torpedoes on board. Then there is anti-aircraft battery and a gun with rackets. Its principal mission is to guard the coast. I am the master at arms at the Corvette Drogoo. I am mainly concerned with the maintenance of law and order on board the ship. I have been in the Navy for 16 years. I have served up to now with the Navy commandos. The Navy is important for France, for its representation in every country and its overseas presence at the most important points. It is important that every ship carries very strong weaponry and has a very effective radius of action. France depends on seasoned men like Gallo to maintain the standards the French Navy has upheld for centuries. As the ships of many nations converge on a rendezvous point, radios crackle in many languages. From Great Britain, a nation whose seafaring tradition is second to none comes a flotilla led by HMS London. Her spokesman is a young man from the south coast of his native land. I'm William Lumsden. I'm a marine engineering mechanic and boarder manager for Ship London. As a mechanic, you have work either in the boiler room or the engine room, which is maintaining the main engines. Also on board the ship we have hydraulic systems which we have to deal with, ventilation systems, all the ship's boats we have to maintain. A marine engineer, you couldn't just say he does one thing, he does about 10 different jobs around the ship. If you're watch keeping, you get very little spare time. If your day work that's working like an 8 till 4, then you have an evening off every evening. In a time-honored tradition of the British Navy, Bill Lumsden grew a beard at one of his Atlantic crosses. When you get off the ship, you go to your hometown, mind being brightened, you go from one way of life to another. I'm afraid I've fallen trapped, I'm in love, I want to get married and everything. I've been all around the world and there's nothing to beat your local pub, the English pub. This is owned by my uncle and I think it's the best place you can spend your evenings. Cheers. Well what I think the English pub has got over any other pub or bar or whatever you want to call it over the world is atmosphere. It's a meeting place for every class or person. You come in here, you can discuss anything you want to, you can have a quiet drink or you can play darts or barbellies, you can do literally what you want. It's a friendly atmosphere, it's an atmosphere of English pub that you cannot find anywhere else. We go to London, not that often, we've got friends up there. We do enjoy going to London, something different you know, because I think London is the best city in the world. When we go up to London we like to go out either for a meal or to the theatre. You get there and you feel it in a complete dream world, there are lights flashing everywhere. Everybody just seems happy, it's just sort of a magic. When you're away from my fiance it's a terrible thing really. It's not as though if you've got a job where you go home in the evening and you're seeing your wife or your loved ones whenever, every night. You know you're going to be away for six months. I think you begin to appreciate them more. I really joined the Navy when I was 16. I joined it I suppose because I've always lived by the sea, I've always had a yen to go to sea. I've always had to be on it or in it. As I say I live here in Brighton and she's by the sea. I think the Navy is important to my country, I think to any country. It's a representation of that country to another country. I'd say I was a representation of England. I think to be in the Navy makes you proud of being an Englishman.  The pattern's forming, it's no mystery why men follow the sea. The reasons haven't changed for thousands of years and they're not likely to. The voices from the east belongs to a young gunner's mate, Toshiichi Miyasawa. My rank is leading seaman, my job is gunnery. And I am aboard the training vessel, Katori. On the high seas my duty is watch on the deck and on the bridge. As gunner my duty is overall maintenance and in particular the three inch gun. The life of Japan depends on trade crossing the seas. If that trade were to be interrupted Japan would definitely be in great difficulty. So Japan has tried to make its defense force absolutely strong. Japan's dependence on the sea is underlined with the fact that for decades Japan's led the world in the production of merchant shipping. It's at one of the shipyards clustered in the Tokyo area that the Katori goes for major maintenance. Presently the training ship Katori is at the Ishikawa Jima Harima Heavy Industries plant in Tokyo for yearly repairs. Usually we apply paint or take off paint for the rike. On a day like today there are also various ceremonies. For example the entire company assembled for a ceremony in honor of those whose term of service has expired. The reason why I entered the Navy is that I had a yearning for the sea. I wanted to go to places around Japan of course and to foreign countries as well. I was born and raised in Fujisawa and Fujisawa is about one hour from Tokyo. It takes about ten minutes from Fujisawa station to my house by foot. It is a medium-sized city for Japan I believe. I tell about my family. My father and elder brother work in nearby city government office. My mother does the housework. Fujisawa has a suburban district and the people of Fujisawa commute to work in Tokyo, Kawasaki or Yokohama every morning. The vicinity of Fujisawa station there are department stores, markets and many other buildings. Kamakura near Fujisawa has the world famous great Buddha. And according to what my grandmother told me nearly 100 temples. People come from countries all over the world to visit Kamakura. Gunners made me a Zawa has found meaning for his life at sea. Through him and thousands of his fellow navy men his nation will use to advantage the seas that surround them. Hello, this is Florence one of the finest one of the best cities in Italy. My name is Roberto Campaini. I was born in 1957 here in Florence and I still live here. On the ship San Giorgio my function is that of a gunner, that is to say I work with the armaments. My task on the ship is to take the guard every day and to keep the gun mechanisms in operation. Before shipping out on the San Giorgio I attended school, a school for non-commissioned officers in Taranto which lasted nine months. The Italian Navy destroyer San Giorgio on which gunner Roberto Campaini is stationed is based at La Spezia, an hour or so drive from the sailors home in Florence. He frequently makes the trip to spend the weekend with his family. I go home whenever for example I have some free time. In other words almost every week. Well, I go fishing with my father and my brother is on the banks of the Arno river. There it is all surrounded by hills and there is an old man with a boat who shuttles back and forth from one shore of the river to the other carrying people and motor vehicles. I enlisted in the Navy because I always like the sea. In other words the maritime environment. What I like was the possibility I have had to tour the world a bit. A chance I would not have had in civilian life. Roberto Campaini approaches New York on board the Italian destroyer San Giorgio. He comes to be counted. He speaks for yet another nation aware of the demands of the sea and the rewards supported by seapower. My name is Ronald Joe Nichols. I'm an aircraft machinist made first class. I'm stationed in VAW 116 aboard the USS Nimitz. I was born in Van Nuys, California. I was brought up in Van Nuys. I went to school at Recita High School. Pretty good size school. Went on dates. Went to the beach. Crews Van Nuys Boulevard. I've been enlisted in mechanics ever since. I mean I was going to junior high school. I always wanted to come into the Navy. Everybody in my family was in the Navy. My brother was in the Navy. My father was a chief in the Navy. I joined right out of high school. I went to Moffitt Field. I got sent from there to Atsugi, Japan. Coming straight from California. Didn't even want to go. After I got there, I saw how green and pretty it was. Just nothing but trees and mountains in the Atsugi area. And I got to meet the people. And I thought the people were just outstanding. The clubs over there, the military clubs were real nice. And my four years there were just great. Then I came to my present squadron. The aircraft on our squadron are E-2B Hawkeye aircraft. They're early warning aircraft. Now the mission of the aircraft is to act as eyes of the fleet. Well on the flight back you have so many people that are doing so many different jobs. And everybody on the flight back has to distinguish between one another what their job is. Myself I wear a white checkered shirt. Which means I'm a troubleshooter. On the cat, final checker for the aircraft. They have other people wear shirts like yellow shirts. They're aircraft directors. They have blue shirts for our tractor drivers. Which tow the aircraft around. Put them in their spot. They have purple shirts that fuel them. They have red shirts that are ordinance. They have green shirts for the maintenance personnel. And they have a brown shirt which is a plane captain. On its tensions on the aircraft, the yellow shirt again tell the pilot to go to military power.  Coming for an aircraft carrier, once your tail hook engages, it would be like instantly slamming on your brakes in a hundred miles an hour in your car. Now we have to stay on the starboard side of the ship. Keep an eye on the aircraft. To deck real taxi it. Put it forward of the island. Remember, I come up to the aircraft. Ask the pilot whether it's up or down. I check the engines over once they shut down. Return to the shop. When the cruise is finished, my squadron is home based in Meramar, California. My home right now is in San Diego. Its weather is beautiful. It is the sister city of Yokohama. We've got mountains around me on one side and I've got a beach on the other side. I'm twenty minutes from everything. I'm married to a very pretty girl. She's twenty-seven years old. I've got two children, one seven, one six, boy and a girl. My wife's pregnant at the time. Expect to have the baby in March. I don't mind being at sea. I enjoy the work. I just don't like the time that I've got to stay away from my family. The most interesting thing about my job is being able to get a problem with the aircraft. And use my brain to troubleshoot it and figure out what's wrong. It should work. As long as the aircraft can fly, the ship's protected and all surrounding ships with it. The United States needs a Navy to have free seaways to be strong and let everybody else know that you're strong. Aircraft mechanic Ron Nichols on board the nuclear carrier USS Nimitz. He's clearly one of the brotherhood of the sea. His ambitions, his concerns, his professionalism, mirror qualities found in Navy men the world over. But because there are thousands of Ron Nichols in the United States Navy, it's able to fulfill its mission as a leader among the world's navies. Now, from South America, ships from the Brazilian Navy join our celebration. They're based in Guanabara Bay, Rio de Janeiro. My name is José Lucio de Alzevedo. My name is José Lucio de Alzevedo. My name is José Lucio de Alzevedo. My name is José Lucio de Alzevedo. I am a ship's clerk on the city of Alagoas. I am responsible for the supply of everything. Spare parts and routine outfitting of the ship. What I like most about the Navy is the travel. Traveling in Brazil, abroad, but as long as I travel. We formed a group of six old-party officers. We get together in our spare time to study in an extension course. I got married in Natal in Rio Grande do Norte when I was in training. My training was given there in the north. It is my home. Then I met my wife, who is from Recife. I have been married for 12 years. We have four children. All born here. Two girls and two boys. With whom I live very well. I'm very happy. On weekends, when his ship's in port, Lucio spends his time with his family. They go to a club for Navy personnel to go to the park or to one of the many splendid beaches that line the bays and coasts near Rio, including the world-famous Ipanema and here at Copacabana. When Lucio was with the crew assigned to accept the Alagoas from the United States Navy, he and his friends formed a band. They regularly give shows on board and in port. When asked where he learned to play, Lucio replies, I learned without anyone teaching me. We play by listening, by hearing. It's in our blood. It's an instinct for batucada, for music. Far to the north on another continent, the sea is in the blood of another sailor. His ship, too, the Royal Netherlands Navy destroyer, Trump, hastens to join this historic assembly. There are three dykes. The first dyke who is on the sea is the watchman. The second dyke is the sleeper and the third dyke is the dreamer. So there's different names for different duties. Karnsoak is a small place just behind the dunes, only a couple of minutes from the beach. There's the name of the house is Malamok and Malamok is a special name people give to a bird, a zigo, living in the northeast of Holland.  My family is two kids, two boys and I think they're very nice boys and a very nice wife. Well, we are a happy family, I think. Shopping with you normally in Alatmar is about 25 kilometers from Kallanshof to the south. It's a very nice town, not modern, very old and it is a provincial town. My job at the ship, my work is during the daytime, the maintenance of the ship. I do this with a crew of about six people. I work the whole day on the decks and they open decks and at night I'm doing the watch on the bridge in navigation of the ship. My rank is quarter master. I'm now in ten years in the Navy. Yes, it is something, this tradition of the Dutch at sea is something which is built in the people. I think it's more or less a piece of the nature of the people of Holland, working on, in the water and building dyes of working at ships. I think it is a part of the people. Well, I think it is very important to have a Navy in Holland because we have a merchant marine all over the world, most every ocean and they have to be protected.  The sun breaking through the summer morning's fog shines down now in the ships of the Navy's of the world pouring through their varicano narrows past Fort Hamilton under the bridge of Liberty and into the Hudson River, an international naval review. Ships of the world have also gathered reminding us it hasn't been so long since sailing ships filled the Hudson River, bringing us goods, people and dreams. During safe passage over the oceans of the world is passed from wooden vessels to steel ships of the line. Thus, ships and men of the world's Navy form ranks in an international naval review. Regardless of the ports from which they hail, each ship, each sailor shares a common understanding, a common task of keeping the seas open and safe for all people. Michael Cain, radar flutter on HMCS Iroquois from Canada. Ken Rogel Fiksdahl from Trondheim, Norway. Daniel Jose Aulars, soy de Venezuela. Gia Hatbiamann, flukspor, German Navy. Elial Fata from the Israel Navy ship Jaffo. Higil Masn, Thelos Brem, Denmark. My name is Reginald Regirosao and I'm from Peru. My name is Ken Rogel, I'm from Sweden. I'm from Turkey, I'm from Turkey. Omar Bukato, Liberty Ship, Egyptian Navy. Miguel Vigilo, Republican-American. Souza Marrairos, Portugal. I'm from JJ, United States Navy.


In an increasingly gig based economy, you take on jobs you can, even the ones that send alarm bells ringing in your head, because you can tell that something just isn't quite right. I was having that very same thought as I looked up at my Uber passenger who was waiting on a street corner. It was about 11pm and I could only just make out his profile in a dying light of a blinking street light. He was standing next to a bus stop, flanked by a field of corn stalks. That wasn't an unusual sight in the Midwest where the back roads seemed to be covered by pockets of farmland, but it just so happened to be the length of the corn stalks that helped me figure out that this dude was tall. I'm talking six and a half feet, at least. He was wearing dark clothing, almost like a dress suit, but he seemed gaunt and drawn in on himself. A wide brimmed hat helped to obscure his face so I couldn't be certain about how old he was. In his left hand, he was clutching a black bag. I was tilting my head, wondering if I still wanted to take him on as my passenger when he looked up at me. I crept up to the curb and stopped there, the engine running idly. According to my phone, he was a first time user without any reviews. Oh well, money's money, right? I'd already accepted the ride anyway, and it was only about a 15 to 20 minute ride. I parked my car and unlocked the doors. He seemed to take stock of my car, then seemingly satisfied, nodded and walked to the passenger's side door. He was extraordinarily tall, so he had to carefully duck down to fit inside of the car. When he climbed into my backseat, the strong smell of menthol flooded the cabin. I wonder if he'd been smoking while he waited, but I just smelled the strong odor of antiseptic, and not the bitter sting of smoke and tobacco. One of the big drawbacks to being an Uber driver was that your occupants tended to bring interesting odors with them into the vehicle. I'd often spray the backseat down with febries at the end of my shift, and even then there would sometimes still be smells lingering in the cabin for a few days. So in the scheme of things, I guess I didn't mind the hospital smell.  Alone, he said, with a voice coated in gravel. He moved his bag, and I heard the sound of metal on metal, like there must have been tools inside. Evening, I offered, then shifted the car into drive. I tended to follow my passengers by example, if they were interested in chatting that I'd make small talk, but otherwise I'd mostly just listen to the radio and mind my business. Tonight's entertainment was provided by one of the local jazz stations. I was looking along with a rhythm line when the passenger suddenly spoke up. Do you normally drive late at night? He asked. His voice was peculiar. It was deep. But he also spoke very deliberately, like he had found the exact words he was about to use before he said them. The word to describe it would come to me later. Calculated. Yeah, I'm somewhat of a night owl, I said. This wasn't entirely true. I was behind on bills and my day job as an office clerk just wasn't enough anymore. So, I was whoring my car out to strangers a few nights a week, and I felt guilty about it every time. At least I kept up on vacuuming the floor mats. I, uh, I saw your bag. You a doctor or something like that? I asked. I felt like I'd reached a bit too far with a prying question, but I was really curious about what the hell the guy was doing out in the middle of nowhere with that bag. He tipped his head down and said, Yeah, you could say that. Well, thanks for being candid. I thought, as there ever been something you wanted to do, but haven't. He asked me all of a sudden. Hell if that wasn't a question. There were hundreds of things I wanted to do, hundreds of places I wanted to go.  Sure. I said, who doesn't? Not something small. He said, but something that haunts your dreams makes you feel alive. The way he drew out his words as he said, alive, sent a chill through me. Well, there's been a movie I've wanted to see for a while now, but I just haven't had the time. He laughed, but it almost sounded more like a shuttering cough. It is good to not have regrets. He said, You must like games. If you don't mind amusing me, what if we play a game of heads or tails? That was a new one? Sure. I called back, not really thinking about it. What are we playing for? I heard a rattled cough and assumed it was him trying to laugh again, like his lungs wouldn't work quite right. Heads or tails? He croaked. I caught his eyes in my rearview mirror and something about his gaze terrified me. He wasn't looking at me, but almost straight through me. His pupils were wide and deep, like black pits. He was smiling so hard I could see his teeth gleaming against his gums. Wasn't that a thing your eyes did when the light was low? I thought I'd read it in a magazine once. And the pupils are black because light almost never escapes. Call it! He shouted so suddenly that I jerked the steering wheel. I could feel his breath on my neck. God, that menthol smell was so strong. He was leaning all the way up against my seat, the coin clutched between his fingers. Uh, tails! I stammered without thinking. I glanced down at the route on my phone, scanning for how much time was left on the ETA. A few minutes. The coin flipped through the air with a metallic ding sound. The stranger caught it out of the air and leaned in close as he slowly opened his hand. But then his face filled with disappointment. He leaned back in his seat and crossed his arms. Which was it? I asked, still feeling a bit shocked by his sudden outburst. I guess I'd won. But what did I win? He remained silent and the sudden silence creeped me out. I started to think again about what he was doing at the bus stop so late. I reasoned that he must have taken a bus from wherever he had been working and the bus didn't run by his place. But why would a doctor not have a car? Maybe it was in the shop, I thought. Maybe it broke down somewhere. The things we tell ourselves to calm our anxieties, write stories of their own. A few minutes later, I reached the end of the route which stopped at a two-story house in a neighborhood I sometimes traveled through, about a city over from where we'd started. I'll never forget what he said or how he said it. It is good to be home. He climbed out of the car and slowly walked up the front steps toward the dark house. I waited a moment with the engine idle and pretended I was checking my phone. He seemed to fumble at the front door for a moment, but then the door opened and he closed it shut behind him, almost imperceptibly so. I expected the lights to slowly turn on around the house, but that didn't happen. It just stayed dark. My phone beeped with the promise of another rider, so I turned up the jazz on the radio again and left. I did a few more fares that night and forgot all about Mr. Tall Man who reeked of menthol. In fact, he didn't cross my mind again until the next day when I was driving through the same neighborhood and spotted the house again. But this time, there was yellow police tape draped around the lawn. My heart sank. I slowed to a crawl in front of the house and leaning back said, Hey, sorry. I just want to take a quick look here. To my passenger, Oh my God, replied my passenger. I think I heard about this on the news this morning. Morning news. I shifted uncomfortably in my seat and felt myself breaking into a cold sweat. Would you hear? I asked. Well, a neighbor saw the front door hanging open this morning and peeked inside. The whole family was butchered like there was blood everywhere. You serious? I asked. I just dropped the dad off here last night. That's Jesus. Oh my God, really? You should probably tell the police. They probably have a lot of questions. She reached over the seat with her phone and showed me an article she pulled up from the local news. Family of five slain in grisly murder. I looked at the headline and then the accompanying image of the family, all of them smiling with no way of knowing their lives would soon be ending. The thought made me sick. Wait. I looked at the father. I mean, really looked at him. That was not the same man I dropped off last night. I was almost sure of it. For one thing, he was entowering over his family like my passenger would have been. Even though I hadn't gotten a great look at his face, the face of the father in the picture looked far less harsh and defined. The tall man, my passenger, even though his face had been mostly hidden by his hat, what I did see almost resembled a crude wood carving, a wave of nausea washed over me as my mind tried to balance an equation that seemed impossible to rectify. I kept coming to the same conclusion over and over again. The father was not the same person who had been riding in my backseat last night. I knew that for certain. I handed the phone back to her and said nothing.  I played back the memory in my head of the stranger entering through the front door. The slow, careful action I'd assumed had been him fumbling with the key must have actually been him breaking or picking the lock. Nothing I wouldn't have noticed as I flicked through my phone and casually glanced up at him. My pulse throttled against my shirt collar and my stomach began to cramp. How could I have known that he didn't actually live at that address? I just did what I was told. I just did what the route said to do. This was not my fault. But maybe if I hadn't picked that guy up, no one else would have given him a ride. Maybe something else would have stood in his way and prevented him from ever reaching his destination. Maybe that family would still be. After I dropped off my passenger, I pulled off the road and went through my phone. I had to report him to the police, even if he might have falsified all his information, even if he might be halfway across the state by now. It was then that I noticed I had a review I hadn't looked at yet. It was from the man and he'd left me a message. Thanks for the ride. You're lucky it wasn't heads.


Welcome everyone to my talk. So my name is Jakub and I work for Red Hat in the messaging and IoT team, and I work mainly on something what is called Red Hat AMQ Streams, which is our distribution of Apache Kafka, and one of the versions which Red Hat AMQ Streams has is running on OpenShift. So that's why I'm going to be talking today about how to run Apache Kafka on Kubernetes as well as on OpenShift. How many of you have been yesterday on my talk, which focused more or less only on Apache Kafka? Okay, quite a lot, but not everyone. So I will try to give at least a quick introduction into what Kafka is and how it works. So Kafka was originally developed at LinkedIn and was later open sourced. It's designed from scratch to be scalable, distributed, fast, durable, available all these cool buzzwords which are important, and it does most of these things through data partitioning. So it's basically sharding the data into different partitions, which can be then distributed across a cluster of Kafka brokers and used by the clients to send or receive messages. Thanks to this sharding, it is able to achieve high throughput and low latency, and it can handle quite large amounts of consumers or producers. So few basics about how Kafka works. So the messages are always sent to or received from a Kafka topic, but the topic always consists of one or more partitions. Actually, most of the operations are done on the partition level. So the consumers and producers, they usually connect directly to the partitions and send the messages into a specific partition or consume the messages or read them from a specific partition. So the topic is just more a virtual object which groups the partitions together. And so because the partitions are shards, then each message is always written only into one of these shards and to achieve high availability, each of the partitions can have always multiple replicas where one of the replicas would be called the leader replica and that's where the clients will be connecting and the other replicas will be called follower replicas and they will be just replicating data from the leader and waiting and if the leader crashes for some reason they will take over and one of the followers will become the new leader and will continue serving the clients. When the producer is sending the messages to the partitions, it usually does so based on a message key. So the message key is basically hashed and the partitions are used as a kind of hash table. So each key always, every message with the same key always ends up in exactly the same partition and the partition is really just a commit lock. So the messages are written into the partition, always appended at the end and that way once they are written into the partition the ordering is basically guaranteed for the consumers and when there is no message key in the message, so the message is basically no key or null key, then the messages are more or less distributed round robin and all the time I'm talking about consumers and API is actually called really in Kafka consumer API but in reality they don't really consume because when the consumers are receiving the messages from the partitions then the messages always stay in the partition and are not really removed by the consumer after they are received. So the partition has always something what's called retention configuration where the user when creating the topic and the partitions can say, oh hey I want to keep the messages in this partition for some time for example for one hour, one day, one week, one year or forever if he wants or the retention can be configured based on the message size like let's keep in the partition up to one terabyte of data and when I get more data let's start dropping the data and then this can be also combined if needed and then there is kind of a special case which is called compacted topic where Kafka would always try to keep the last message for a given key in the topic and removed all the messages. So that's if you for example are writing there some updates to some users or orders and you are always interested only in the last state then this is very useful because you can then save a lot of disk space in the topics. So that's I would say a quick introduction into what Apache Kafka is and if you'd be interested in more details I can recommend you for example to look at the slides from my yesterday talk where I describe it a bit more into details but this should be enough for us to talk about how to run Kafka on OpenSheet and Kubernetes and what are the main challenges. So now when we know what is Apache Kafka maybe we should talk about why should we actually want to run Apache Kafka on something like Kubernetes or OpenSheet and one of the things is that Kafka is designed as a distributed and scalable and also the workloads using Kafka are usually distributed and scalable so that's quite a good fit with a platform like Kubernetes or OpenSheet but to be honest this alone would probably not convince me because if you would come and ask me hey I want to run my Kafka cluster in production watch how should I start it then probably one of the first things I would recommend you is to get dedicated notes instead of running the pots on the regular work notes shared by other workloads as well and so there are other reasons as well one of them is that Kubernetes provides a great abstraction so if we would try to write some tooling how to deploy and manage Kafka in all the different public clouds and on-premise environments that would be really hard for us because even through there is tooling it's always a bit complicated there's always some differences and Kubernetes gives us this great abstraction where we can just use the Kubernetes primitives and not really care so much whether we run on Amazon and we are using the EBS volumes or whether we run on OpenStack and we are using Cinder volumes as the persistent storage so we don't really need to care and Kubernetes takes care of it. There is also this notion of making everything feel like a cloud so when you use some AWS services for example you know how it works you go to the page for the service you then click something like new database select some parameters then click apply or deploy and in a few minutes you have a database available and you can just connect to it and use it and Kubernetes allows us to do pretty much exactly the same in all of these environments whether it's Kubernetes or OpenShift running in Amazon, Azure, on-premise we can everywhere give the user this kind of feeling that they just request the Kafka cluster and it just takes a few minutes and the Kafka cluster is deployed and can be used. And then last but not least I think it's one of the very important reasons for many of our users is that a lot of companies or organizations are adopting more and more OpenShift and Kubernetes to run all their other workloads and to be honest why should they learn how to operate something new somewhere else outside of OpenShift if all their operation staffs and all their people are trained to work with OpenShift and Kubernetes and all of them kind of understand it then it's probably most efficient for them to run everything on OpenShift or Kubernetes and reuse this knowledge. So that was the why and now we are getting to the way how to do it. So there was a lot of operator talks already at DevCon and I'm quite sure that there will be some more. So how many of you have been already to some talk which talked about operators? See almost half of you. So as everyone else we are using the operators as well. And deploying the software into Kubernetes or OpenShift that's quite easy and you can really do that just with a bunch of YAML files or with some Helm chart. The operator maybe can do this a bit better that you nicely configure all the stuff in some custom resource but yeah it isn't really that much different and that much difficult to do it directly with some YAML files. But keeping the stuff running that's really the hard part and if you want to run something in production you know whether you install it five minutes or whether you install it one week that's not that important. The important thing is whether after you install it whether the software will run for five minutes for one week or for three years. And that's where I see the biggest benefit of the operators because they can help you through the whole life cycle of the application. They can help you with things like upgrades. They can help you with things like certificate renewals. They can help you with things like cluster balancing. And that's why our answer to running Kafka on OpenShift and Kubernetes is a project called Strimsy which is of course an open source project and what it provides is a container images with the different components so Apache Kafka, Apache Zookeeper and so on but it also provides the operators and kind of our aim in this project is to give the users Kubernetes native experience for running Kafka on Kubernetes or OpenShift. And how many of you used some operators or worked with them or have some idea how they work? It's not that many but basically the way how it works is you install the cluster operator. It's usually just running as a deployment or as a pod in your cluster and then you create something what's called custom resource. The custom resource is basically just an extension of the Kubernetes API which allows you to configure and define new things. So in our case what you define with this custom resource will be a Kafka cluster. And once you create this resource the operator will see it and it will automatically start deploying the cluster. So Kafka has a dependency on Zookeeper so the operator first needs to deploy the Zookeeper cluster and make sure the cluster kind of bootstraps and communicates and works. Afterwards we can go and deploy the Kafka cluster which building basically the Kafka nodes will connect with each other but they also connect to the Zookeeper cluster which they use to find other nodes and store some metadata and configuration. And last but not least we deploy something what we call topic and user operators which are used later to manage topics and users in the Kafka cluster and I will talk a bit more about them in a few slides. So let's have a quick look at an actual demo which will show how this works in reality. So I have an OpenShift running locally here. It's OpenShift 3.9 because in Strimsy we support OpenShift and Kubernetes 1.9 and higher. And first what I need to do is I need to install the Strimsy operator and that's done or I will do it here using just a bunch of YAML files so it's kind of the usual stuff. There are some RBEC files which give the operator the different roles and access rights to the Kubernetes or OpenShift cluster. Then there are some custom resources that's these extensions to the Kubernetes API which allow you to define the Kafka cluster and then the operator itself it's really just a regular deployment like any other application. So all I need to do is to do OC apply and it will create all these resources and start the cluster operator. And now when I want to deploy the Kafka cluster I need to create this custom resource describing the cluster. So I hope you can all see this. Maybe I can try to do it without colors. Maybe the red one is not the best one to read. So what you can see here is that I'm creating just a regular resource. It looks like all the other Kubernetes resources but the API version is actually something called Kafka.Strimsy.io and the resource kind is called Kafka. So that's our own resource which configures the Kafka cluster. And then you can see here different options for the, which configure the Kafka cluster like here I for example, say that I want to have free Kafka brokers in the cluster. I specify how much memory and CPU it should get. I configure some authentication and authorization. I use some specific Kafka configuration options. I configure the storage because we have the zookeeper I have to configure the zookeeper as well. And I pretty much summarize the configuration nicely in this custom resource. And then all I need to do is to do again OC or CUBE CTL apply. And the user operator, the Streamsy operator will see it. And as you can see, it is already deploying the zookeeper cluster. So we have three pods which are already starting. And after the cluster, so the pods have a built-in health checks. And once they are ready and once the cluster works, the operator will move on to start deploying the Kafka cluster. Now it's deploying the Kafka cluster and so on. So it will work exactly as in the animation on the slides one after one it will deploy the clusters and the pods. Now once the cluster is running, you can also decide to change some of these configurations. So when you change the configuration, you basically just edit the Kafka custom resource. You change there whatever you want to change. And then the cluster operator will see the change and will automatically apply the change to the cluster. So for example, for many of the changes, a restart of the different clusters will be needed. And in that case, kind of the operator will take down the pods kind of one by one to make sure that the Kafka cluster is still running, is still available, that your applications can use it while the update is going on. And only when the pod which was terminated is started again and is part of the cluster, then it will kind of move on and shut down the next pod and start it again and so on. So this way you can update the configuration and if you use topics which have these replications so which have multiple copies, then your clients should pretty much have no problems to work during this update because when one of the brokers is shut down, then one of the follower replicas should take over and should be able to serve the clients while it's shutting down and starting and so on. So we can have a look again at how it works. So with these custom resources, I can really do just something like OC edit Kafka and now name of my Kafka cluster and it gives me a text editor where I can really just edit the YAML stuff. So I will do some simple change. So I will, this auto create topics enable option defines whether when a client connects to the Kafka broker and tries to produce messages or consume messages from some topic, whether this topic will be automatically created or whether you actually have to first create it with the Kafka API. So what I will do, I will change this to fall so that it doesn't create these topics automatically. And now what happens is that the stream the operator sees that there was some change to the configuration and we're basically start rolling down the first pot of the cluster. So you can see that the my cluster Kafka zero is already terminating and once it terminates which takes some time, then it will start a new version of this pot. It will wait until this new version becomes ready and then it will basically move to the next one. So then it will continue with my cluster Kafka one. So you can see that it's still terminating in the moment we should see that it starts starting the new pot. Yeah? Does this operator support the setup that there are two Kafka nodes and the additional zookeeper witness node, like the dedicated zookeeper master node. It's the recommended setup because if you overload zookeeper, then the whole thing goes down. So I run Kafka like having two nodes, so keep on each of them and the third node which is just the additional zookeeper. Is the operator able to work in this setup? So the question was, whether the operator is able to run two Kafka nodes with collocated zookeeper and then one additional node with separate zookeeper. And yes, we are able to do this. So when you are editing, so I intentionally try to keep this custom resource a bit simple, but you can add there the affinity and tolerations rules. So you can really configure in detail in together with how Kubernetes works. You can set up dedicated nodes for both Kafka and zookeeper and you can basically configure it itself yourself, whether the Kafka and zookeeper nodes should run on the same nodes or whether they should run on a separate nodes and so on. So you can really do this. And in documentation, we have some kind of procedures and guidance, how exactly you should configure this, but we are pretty much using the kind of Kubernetes and OpenShift primitives to do this. Yep. So in the Strimsy project, we have a Helm charts, which are basically for deploying the operator itself and we don't really want to support deploying Kafka without the Helm charts, but you can deploy the operator with the Helm charts. Yeah. Yeah. Sorry, I didn't repeat the question for the video. So the question was that we are supporting Helm. So you can see that the rolling update is going on. So the first broker with index zero is already running. Now it's terminating the second broker. It's quite boring to just watch the pots terminate and start, right? So let's get back to the slides. And let's talk a bit more about the other operators which we have. So it's a bit like inception, right? So it's operators deploying operators which deploy operators, but right now it seems that that's really the future, at least on OpenShift. So in the StreamZ project, we wanted to do a bit more than just manage the Kafka clusters. Because if you run the Kafka cluster on OpenSheet, then if you use all these YAMLs and custom resources to deploy the cluster, why should you then go and learn all the different Kafka commands for creating users or creating topics and kind of run them the old school way from some command line. And that's why we created the user and topic operators which basically give you the Kubernetes native way for managing the topics and the users as well. So again, it works in the same principle as the cluster operator, you configure some custom resource which defines the user or the topic and the user and the topic operator which are always deployed kind of for each Kafka cluster will then watch for them and when you create them, they will automatically create the user or create the topic. And one of the advantages of this is that when you have some application which is using some topics or connecting to Kafka, you have basically everything in YAMLs, right? So you have YAML with the application deployment if it runs inside Kubernetes, you will have a YAML with the user definition and you will have a YAML with definition of the topics which it is using. And you can easily store all of these somewhere in GitHub and then just do OC apply on the whole directory, for example, or you can have it in one big file and everything will be created and deployed for you and you don't really need to do anything else. You don't need to run any commands to install your application, anything like that. The topic operator is a bit special because there's a lot of Kafka applications which will connect to the Kafka brokers and they will create their topics kind of on demand so they will use the Kafka APIs to do that. And that means that we cannot always see the custom resources as the single source of truth for the topics because if the application connects to the broker creates the topic with name mytopic and the operator would see, oh, hey, there's no custom resource with a topic named mytopic, then the usual operator approach would be, okay, there is no custom resource so this topic should not exist and it will go and delete the topic in Kafka and then the application using this topic will not really like it, right? Maybe they will just play a ping pong and they will be creating and deleting the topic. Maybe the application will start crashing or something so that's why the topic operator is a bit special and what we do there is we try to do this kind of bidirectional synchronization between the Kafka topics and the custom resources. We don't see the custom resources as a single source of truth and then for example, the application creates the topic directly in Kafka then what the topic operator does is it will create the custom resource of the Kafka topic type inside your Kubernetes cluster so that you can kind of use that then to manage the topics as well and so it does this bidirectional synchronization and there's a different mechanism that it can reconcile if different things are changed in the different places around the same time. So to again show a bit more about this. So I have here a simple application. It's an address book application. Those who were on my talk yesterday saw something similar. This is a bit different so this version is not using a database but it's basically an address book which is using Kafka as the only state store which it has so all the contacts in this address book application they will be basically stored inside the Kafka as a messages and thanks to that we don't really need any database or anything like that but what's more important for this talk is how the YAML looks like for deploying this application. So you can see that I start with this API version kafkastrimzi.io and kind Kafka topic and the topic is named address book here because the topic operator and the user operator are running specifically for the given Kafka cluster. I always have to use the label to say kind of okay this topic should be created on the cluster which is called my cluster and then I just specify the details about the topic configuration. So in this case I want to have three partitions and three replicas. I want to have the commit lock segments for the topic 10 megabytes big and I want to use the compacting cleanup policies so that it tries to keep always only the latest state for the contacts. And then in a similar way I'm defining the user. So that's this kind Kafka user. The user is again named address book and I can here specify that I want to use the authentication type TLS which means the authentication will be done using the TLS client certificates and then I can specify a bunch of ACLs which say okay this user should be able to write to a topic called address book. It should be able to create this topic. It should be able to read from this topic as well. And then these resources deployed the user operator will see it and because we are using the TLS client authentication it will automatically create a secret where it will generate the user certificate for this user. And inside the application I don't really need to do when the application is running inside the same Kubernetes cluster. I don't really need to do any exporting of this certificate and loading it somewhere else. I basically just map the certificate created by the user operator from the secret which was created into environment variable and use it to connect to the broker. So with this YAML file prepared all I need to do is OC apply and it creates everything for me and I didn't really need it to log into Kafka. I didn't need it to know any Kafka specific commands. Everything is described inside this single YAML. And when I go now back to the console you can see that the application is running and you can see that I can add some contacts. So add and now it takes some time but because it's starting but it will eventually be there. So this is kind of the marketing part of the presentation which shows how easy it is to run Kafka and the applications. There's a lot more features which we support. I don't really want to spend all the time going through them. Just the main ones apart from deploying Kafka clusters we can also manage Kafka Mirror Maker and Kafka Connect as well. So it's not just the brokers it's also the other Kafka components. And we can do all the different stuff scale down, scale up, authorization, authentication, affinity, monitoring using Prometheus, everything. So there's really a lot of features. If you are interested specifically in them might be best to have a look at the documentation. And if you would have some questions talk with us on Slack, Twitter, email or everything because we will anyway not manage to get through this all in 20 minutes. So instead I want to talk a bit more about the challenges of running something like Kafka on Kubernetes and OpenShift. And to be honest running stateful applications is still quite hard on Kubernetes and OpenShift. And I know some people might say why is it hard? We have the stateful sets. They are called stateful sets. So they should make every stateful applications very simple to run. So it's not really the case that's that wrong. The stateful sets basically provide just the Prometheus just the building blocks. The main thing which they give you is that when you use the stateful set your pods won't have this random address with some generated characters but they will have a stable name which is always the same. And that's important for many stateful applications which are using some custom clustering because that makes it easier for these applications to find the other nodes of the cluster and connect with each other. But in general most of the applications which have some clustering have a different way how the clustering is configured, how the different cluster nodes discover each other, how they elect the leaders and so on. So to be honest it's quite hard for Kubernetes to offer something more. In our case Kafka is using the ZooKeeper to do pretty much all of these things. So that's why we first need to deploy the ZooKeeper cluster before we deploy the Kafka cluster. And when we are deploying the ZooKeeper cluster we basically need on the beginning, ZooKeeper creates the cluster in the way that in the configuration file you actually have to list the addresses and ports of all the other ZooKeeper servers which should be part of that cluster. So this is something that the operator helps to generate that helps to bring the ZooKeeper together. And then with Kafka it's then a bit easier because Kafka just use ZooKeeper to do all these things like elect the leaders and discover the other nodes. So once the ZooKeeper is running, deploying Kafka is fairly simply you just point it to the ZooKeeper and it use ZooKeeper to find all the other nodes. ZooKeeper is really quite challenging. In some configurations it's basically impossible to scale it up or down without losing a quorum. And when you lose the quorum it's a problem because it means you will have some disruption, some outage of the Kafka cluster. So that was one of the challenges which we had to overcome to make ZooKeeper work. Then the other one is more philosophical. So operator like Strimsy needs to be able to handle a lot of different use cases and it's really wide range, right? So you want to be able that the developers just start their mini shift and deploy the Kafka cluster using Strimsy on mini shift with just a few gigabytes of RAM which they have on their laptops and so on, right? So that's kind of one end of the spectrum. The other end is we actually want enterprises to be able to deploy huge clusters with tens of nodes and dedicated Kubernetes or OpenShift hosts and a lot of memory, a lot of disks and so on. So that's the other end of the spectrum. We're waiting for this to happen. Then another kind of side of this is you want this to be super easy for the developers to deploy and just run the Kafka cluster so that they really just do single OC apply and they get all the features. But then for the production, every customer has slightly different requirements, slightly different setup of their data center. So you need to also give there a lot of flexibility for the expert users so that they can set up Kafka in the best way for their particular use case. And then when you add all these options for the flexibility, that's super great but that of course sometimes makes the configuration a bit hard and complicated because then you have all these options which I listed on one of the previous slides in the CRD. The CRD is actually quite huge and it's really hard to read. So that makes it kind of less user friendly. So these are all the things that you can write in the operator. You need to kind of try to balance and sometimes you need to decide a bit better. You want to make it super easy for the users who just want to get it run somehow and don't care how and make it also interesting for the experts who want to do some very specific setup. Another challenge is which versions of Kubernetes and OpenShift are you going to support? Right, it's still very much work in progress in some areas and every single release has a lot of new cool features and it's always very tempting to sit down and start playing with these new features in the latest Kubernetes release and get your operator to use them somehow but at the same time a lot of the users they are not really running Kubernetes 1.13. When you have OpenShift users there's no OpenShift version based on Kubernetes 1.13 for example, right? So most of the users will be running some older versions and you need to make, either you need to really put the effort into the code to make the operator use the new features on the new versions but use only the old features on the old versions which can be quite a lot of effort because it's not always easy to do that or you need to kind of say like, oh hey, we decided to do compatibility with this version higher and the new features maybe over the time as more users move to the newer versions we will start using them and that's pretty much what we did as the decision with the StreamZ project very basically said that Kubernetes 1.9 and OpenShift 3.9 are our baseline and we want to support that and everything newer and that's why we don't always use the latest features from the latest releases. The good thing about Kubernetes is that in general they have a very good compatibility so if you have something that's running and working on 1.9 there's only very little problems with using that on 1.13 for example so that's the very good aspect how the APIs are handled. And then one of the things which we had a lot of discussions about is this question, custom resources or config maps and that a bit ties to another problem which is the RBEC right so the access control which is part of the OpenShift so using the custom resources that we have really the Kafka type resource and you have the nice structure of the features that makes it easy to use for the users when they have it installed but to install the custom resources for example the user needs to have usually cluster admin rights which a lot of the users who are using some shared enterprise clusters they don't really have these rights right so that was another decision which we had to make we decided to support the custom resources I think it's worth it but we had a lot of discussions about it because it makes it really harder for some of the users to use. And now one of the big challenges for Kafka was accessing Kafka from the clients now if you are running something like a web servers that's usually quite easy so you have some service or some load balancer the requests are coming to the service and they are just routed randomly to one of the web servers so sometimes it's a bit more complicated because you want sticky sessions and so on but in general you often don't care so much which of the web servers for example serve some static files with some images and so on with Kafka this is a lot more complicated because if you remember what I talked about in the beginning the producers or the consumers they need to connect to a specific partition to produce or consume the messages and the partition is always running on a specific note of the cluster so for example imagine I have a topic called my topic which has three partitions so the message is sent to or received from the partition zero maybe they would be always on this pot whereas the partition two will be maybe on this pot so when the producer wants to send the messages to different partitions it will need to maintain the connections to all the pots but also it needs to know okay now I'm connecting to the broker zero now I'm connecting to the broker one so the way this works is that when you are trying to access it from inside your Kubernetes cluster we have two services one is kind of the headless service which pretty much just gives the pots a stable host names and then other one is the bootstrap service and the bootstrap service that's just a regular cluster IP service and when the client tries to connect to Kafka it first opens a connection to the bootstrap service and the bootstrap service basically roads the connection to one of the Kafka pots and this is pretty much random I made the arrow here to the bottom one but it can go to the one on the top it doesn't really matter because this connection is used by the client only to request the metadata about the Kafka cluster so whichever node it connects to it will send it the metadata for the whole cluster and the metadata say something like oh hey the my topic partition zero that's hosted on the broker zero which has this particular address the partition one is hosted on another broker which has this address and the client gets this metadata and use these addresses to connect directly to these different pots and opens these kind of subsequent connections which are then used to send and receive the messages now if I have a quick look into the console and open one of the Kafka brokers then on the beginning of the lock we have actually the configuration file and here you can for example see I hope you can see it I will zoom it a bit so here you can for example see the configuration of the advertised listeners these are the addresses which the Kafka brokers are telling to the client that they should connect to so you can see that this broker tells the clients to connect to the address my cluster Kafka zero dot my cluster Kafka brokers dot my project dot service dot cluster local and so on so this is what the broker will send to the clients and this is what the clients will use to open these subsequent connections now outside Kubernetes it's a bit harder because if your application is running outside Kubernetes or OpenShift it cannot really use the internal Kubernetes DNS host names to connect to the pots so unfortunately a lot of the users don't have all the applications running inside Kubernetes or OpenShift, right? They have a lot of legacies to our new stuff which is simply running outside so how do we do it from outside? We have still these headless and bootstrap services but we have also these per pot services and these per pot services always wrote the user to the specific pot and these can be for example load balancer type so that they create load balancers and so on and when the client is connecting it then connects first through the bootstrap service again randomly to one of the Kafka brokers gets the metadata but now for the access from the outside the address which it would get in the metadata would be not actually the host name of the pot but it will be for example the IP address of the load balancer which was created for the service and in general in streams we can do this in three different ways so on OpenShift we can use OpenShift roads to access the Kafka cluster it's a bit heck because Kafka traffic is TCP and the roads are designed for HTTP but if you kind of pretend that it's HTTPS connection which is passed through the router into the Kafka pot then the router actually doesn't know that it's TCP inside so it works fine and then we can use load balancers or node ports the load balancers it depends on your cost for the load balancer is because if you have 10 brokers in your cluster you will always need 10 plus one load balancers to use the load balancers and then we support node ports which are kind of the fastest from the performance but you actually have to expose the nodes directly to the clients which are connecting so that's a bit unsecure or at least considered a bit unsecure and that's pretty much it one more thing most operators are written in Go but streams is written in Java so you can do operators in Java as well and the demos and the link to the slides you can find it on this URL if you want to have a look at it later and that's it from me and if you have any questions I think we still have five minutes yeah so the question was whether we plan or whether we do support or plan support access from outside through Ingress and yes it is on our to-do list we haven't gotten to it yet there are also I know there were some issues with this TLS pass-through with the Ingress controllers I think they have been fixed in the latest versions but that's what stopped us in the beginning but it's on our to-do list I hope sooner or later we support it as well yeah so the question was about other components like the schema registry yeah to be honest it's on our to-do list as well we have to see and think a bit about licensing because we want to use really open source components which everyone can use for whatever purpose and the schema registry license I think it changed recently to this Confluent license which is not as easy as the Apache license 2.0 or something like that but we have plans to support them basically once it's implemented it would either specify this part of the Kafka custom resource or it will have its own custom resource to get deployed and we will get to it as well yeah so the question was why basically why did we do this in Java and why put the effort instead of using something like the operator SDK so to be honest when we started with this there was no operator SDK so it's not something that we are working on for a month or two but it's really a long time effort and we have chosen Java because Java has a good API support for Kafka which Go doesn't have such a nice admin API client for managing the different Kafka aspects and so on so that was one of the reasons and to be honest the other reason was that most of the team members working on this were more familiar with Java than with Go maybe now with the operator SDK it would be a lot easier to write the operators in Go but when we were starting I'm not sure whether writing it in Java really meant bigger effort than writing it from scratch in Go yeah Do you plan to extend this operation in Java to include for example operation method? So the question was whether we plan to extend it to include operator metering and to be honest I need to learn a bit more about operator metering we were looking into it I think sooner or later we will get there we for example are already part in OpenShift 3.11 we were included in this operator hub which was tech preview there so we are it's easy to integrate it with the operator lifecycle manager and I think we will in the future integrate with the metering as well but we don't have any integration today yep the cluster we don't have sorry once again can the operator yeah the question was whether the operator can upgrade Kafka and yes the latest so that's not in the 0.9 version which I was using in the demo but we have it implemented now in master and we will release the 0.10 version of Strimsy with support for Kafka upgrades probably next week and it's kind of semi-autobated, semi-manual process so we don't really want to upgrade if you know how Kafka upgrades it's a bit more complicated because ideally you should upgrade the clients as well and you should make sure that the kind of protocol version is the same between the clients and broker and so on so basically the way it's implemented is you can use the custom resource to basically tell the operator which versions it should be using for these different parts so you can say okay now move the broker from Kafka 2.0 to Kafka 2.1 first use the old version of the protocol for storing the messages and communicating with the clients and then in next steps you can kind of upgrade the protocol as well so the operator does most of the things for you but you basically still have to tell the operator oh hey please do the upgrade because at the end you will be the one upgrading the clients the operator cannot do it for you yeah So the AMQ product from Red Hat contains many different components and one of them is this AMQ streams components which is basically the stream Z product project offered by Red Hat and then there is for example the AMQ broker which is the more traditional and it really depends on the use case which one is better so it's I would say a bit longer discussion and I think we just run out of the time so if you want I will be outside after the talk and we can continue with this as well as with all the other questions you might have thanks for coming