Welcome all to the session by Matt Turner on the Cloud Native Progressive Delivery. Matt is an engineer and he would like to share his tech talks with everyone. So once again, welcome Matt to the session. Over to you Matt. Welcome you all once again. Thank you. Thanks a lot. Welcome everyone. I can't see you but I hope you can see me. Good morning or evening or afternoon wherever it is where you are. I'm in Alabama at the moment in America so the sun's just starting to come up. Well I hope you're enjoying Agile India. There's a bunch of great talks out there so thank you very much for everyone who's come along to this one. Yeah I'm going to talk about Cloud Native Progressive Delivery. So what I'm what this is going to be maybe a little more technical than some of the talks at an Agile conference but it's not going to require too much you know sort of technical understanding. You don't need to be an engineer. I'm just going to focus on technical stuff rather than people stuff I guess in this. So I'm going to talk about Progressive Delivery which is a way to I guess more easily and safely and ultimately quickly deliver value to customers right. It's the whole I think it plays into what we're looking for it with with Agile and Lean in the technologies it's our ability to you know to run experiments quickly to not hold inventory all of that kind of stuff. I think a lot of people get the the people side the software engineering you know the sort of team structures right but then they get held up by the practical details of getting the releases to get the new features into the hands of users you know safely maybe they'll run some some fast sprints do some some real innovation and then just release the software and there's a bug and they have to they have to roll everything back or vice versa you know a team will deliver very quickly very incrementally but then things will not actually reach users for several months because it's it's held up you know getting deployed ultimately to the sort of final production environment because people are worried about those changes or something. So anyway I'll take you through that the cloud native part is talking about the fact that I'm going to be looking at these new cloud native technologies so if you're running your software in a cloud if you're using a Kubernetes system and some other technology that I'll show you that's a real enabler for what we're trying to do. So I'm a software engineer I work at Tetrate I just need to mention that quickly we make software that helps you with your journey from on-premise into the cloud or helps you run a hybrid environment with on-premise and cloud it helps you with app modernization you know all together if you're if you've got containers but struggling to run them if you're going from VMs to containers as I say if you've got a hybrid on cloud on-premise kind of environment then we we make a bunch of software that can help with that and that's based on cloud native technologies as well it's based on the same technology that I'm going to be talking about today. So I can't see you because this is online I would normally start by asking you know who's uh will the software release process looks like this you know who's this is a nice simple um fun enjoyable you know walking a straight line I guess it I don't gonna guess it's not too many too many people's right you know whether you're uh I guess not too many people are now making printing software on the disk and putting it in a box and shipping and you know I guess most of us are delivering an app or a website or an API or something like that I'm guessing not many people sort of path to you know from from feature inception to to having users you know use our software and getting feedback looks too much like this it maybe looks like this I googled for this I'll be honest but it's quite similar to release processes I've had to work with before uh or maybe it looks like this um some people can maybe tell me you know what the name for this particular approach is but it looks very complicated to me uh maybe it looks like this I think this is something we need a consultant to help us understand this this diagram doesn't seem to have a lot of meaning but either way it's likely to be you know quite complicated quite involved in taking a lot of steps like more realistically maybe we have something that looks like this you know this is this is safe uh scaled agile everybody here is very familiar I'm sure we have a release train and we have all these departments with testing and quality and operations and everything just takes a lot of paperwork and it takes a lot of time so how can we do something better how can we get closer to that first picture well I'm going to tell you that cloud native technology can help us with this um for those who aren't familiar I'm just going to give an overview of some of the tech that I'm talking about this will be quite a whistle stop tour if you haven't heard of any of this stuff before you might just want to take some notes and go and google it I guess like I said there won't be any code but there's a few different things I will I do need to introduce so we have a piece of software if you're making an app or whatever then then that's great like all of this I think applies but I'm going to be talking about a sort of a more modern application I guess right a business that's running a SaaS product so I'm going to assume that we're writing you know code that runs on the server side and either either gives a website or an API or some other kind of SaaS offering you know a web app some kind of SaaS offering to the user so we have our code you know it has to run somewhere maybe it runs on a server or something at the moment and there's this idea in tech called the 12 factor app so this is a set of guidelines that tell us a good way to go about writing modern applications so I'm going to assume that we're writing microservices or that we're you know we're on a journey there and the 12 factor out tells us a lot about how to write a good microservice so I'll come to a few of its recommendations so I think the first thing we should do is use Docker you know we should run our code in a container if you're not familiar with that it's definitely worth looking up it's a nice way to isolate your running code so that we can sort of safely make changes to it so one of the things that the 12 factor it's 12 factor by the way is a list of 12 you know 12 recommendations for our software so it's number five as it happens but one of the things the 12 factor says is that the building of our code and the running of our code should be kept separate so what I'm showing here on the right is our code you know built and packaged up and ready to run so we're building these container images if you've ever worked with java and built a jar or a war or if you've ever packaged anything into a you know a pip for python or or a vm machine image anything like that containers have the same kind of idea so we can do a build of our software we don't build it on the server that we run it on I guess it's the point and we do a build the software we package it up into some format for a container that would be a container image and then that sits in this registry ready to run and then when it actually runs it runs in docker with that isolation that I was talking about so we separated the building and the running as I say I'm going to assume we're doing microservices you know there's there's been books written on this the the stuff that Sam Newman writes and Martin Fowler is all very good but you know our software isn't going to be one I'm watching this blob it's going to be several different pieces of software several different services working together and you can start when you understand microservices you can start to sort of see patterns in and there might be different types of service doing different things but importantly we've got different pieces of software that can be all running these containers to isolate them and importantly they can all be deployed separately this is this was the original sort of point of microservices is I take the code base and I split it up and that means that if I add a feature in one place I can deploy just that part of the code without having to wait for that agile release train or whatever a mechanism without having to deploy everything at once because that's a much bigger job it's more risky and it's the kind of you know thing that will introduce delays the other thing about these microservices if you've you know not seen this pattern before is that they can all scale separately so maybe one part of the code has to do a lot of work one part of the code you know does does less work you know one deals with account creation right doesn't happen very often and one deals with orders which happens all the time we can add more replicas it's just like adding more servers we can add more replicas of one of them without the other which we we scale out just part of our code and that it just is very that's very efficient it saves us duplicating running multiple copies of all of this code when we don't need it you should then I said this is going to be a whistle stop tool through the tech I can't see anybody nodding so I don't know how familiar people are with this stuff but when we have our our software in containers in these in these docker images we then need to actually you know run it on on many servers you know we want to write even if we don't have very many users we're going to want to run three copies of all of these services just for redundancy in case one of those servers crashes and when we've got lots of users you know the scaling that I showed of the services then we're going to need lots of servers to make you know all those all those duplicates of our software you run we're going to just need a lot of service space to to run all of that code so you I'm sure you've heard of Kubernetes everyone even if you're not too familiar with it Kubernetes is a platform it's an orchestrator it's a it's a piece of software that will organize running our containers for us right so I just give it a lot I installed it on a load of servers and I give it a load of these container images and I say hey run 10 copies of that and 100 copies of that and it'll just go and do it and it'll spread them out across the different servers it'll restart them if they crash it's got it's got all kinds of features that then you can look up but taking taking that step to write microservices and you know build them into docker containers is it's great it's great for devs but if you're still you know manually using SSH or RDP or whatever to connect to a server and then that's how you run a new service and that's how you upgrade a service then we're not going to get the agility we're not going to get that speed that we need because that's still going to be a whole load of manual work you know we have the first step but we don't have all of the steps so Kubernetes which is kind of like an automated sys admin is going to be a very important part of that when we're running Kubernetes we can add an add-on called Istio which is a I think called a service mesh what that can do is make the network much more clever much more sophisticated so that when each of these services talks to another one you know when each of our software when our orders software talks to our users software talks to our basket software all of that goes through this this Istio network so these these purple boxes here show a network proxy that Istio is going to inject into all of our containers so when one container talks to another when one service talks to another all of this order the you know those requests go through these these purple boxes and you can see up at the top that little sailboat is a piece of software that's that's controlling and configuring all of those boxes again so that so that we don't have to what this means is that we get a whole bunch of insights into the network we get a whole bunch of insights into what's going on so for example we can run some kind of metric system and we can get graphs of how much CPU software is running or how much memory it's using or importantly we can get graphs of how many errors right so when we're talking about about being agile and you know delivering incrementally and progressively and as fast as we can if I go and deploy a new version of one of these services of some of my software I need to know what its error rate is right it's great if it adds a new feature but if it makes 10 times as many errors as the previous one then I need to see that on a graph and I need to be able to roll it back so by using Kubernetes we get the statistics about whether this software just crashes in its containers and those containers isolate that so it doesn't crash all the other software but we can know whether each part crashes and then by using this Istio this service mesh because all of the requests are going through these purple boxes you know they can observe what's going on and if one piece of software returns an error to another then again we can see the the sort of response error rate on a graph like this so the normal way we look at these metrics because we'll talk about this a little later is what's called red red metrics so that stands for rate error and duration so basically for every service for every part of my software I want to know how many requests it's getting you know that's the rate are 10 users using it or a thousand errors is well okay so there's a thousand users using it how many of them what percentage get an error so if a hundred get an error you know that's a 10 error rate and my software should probably be rolled back right that's that's not going to give a good experience to a lot of users if it's one error in a thousand then maybe that's okay because that's a 0.1 error rate and you can decide that in your business you know what kind of experience you want to give to your users how you balance potentially having users see an error with getting features out there quickly right if you're a sort of early stage in your startup if this is a beta feature you might accept some errors it might be okay for some users to have a bad experience if you're getting features out there really quickly and testing hypotheses really quickly but the you need to be able to see right you need to be able to know what that error rate is so that you can make an informed decision about whether 1% or 5% is okay or is not and then the last one is D for duration and this is how long a response takes because you know say I'm on my on your I'm on your store and I'm trying to order something that you sell you know even if there's no errors even if every page you know the the browse page and then the basket page and then the orders page if all of those pages load okay but each one takes 10 seconds then I'm probably going to go to a different store right I'm probably going to get bored and move away so even if something is technically okay a response is you know response is good I need to know how long it takes because they need to be really quickly to sort of keep customer engagement and when when we have those statistics we can start talking about them we can start writing contracts contract in the technical sense right now not not a big deal but I can start writing something like a service level agreement which says okay I make the orders part of this software and my agreement with everybody because all the other services have to interact with orders right the basket has to interact with it and the shipping component has to interact with it my service level agreement is okay I will I will write a service that lets you place new orders and list all the orders and cancel orders you know I will be the order service that validates those and stores those in the database and and all that kind of stuff that's probably what I'm offering you and you know this is the API to interact with that we can then talk about a service level objective which is saying right I'm going to offer you that orders API and 99% of queries to it are going to are going to succeed you know what there may be 1% errors but we're moving quickly we're adding features quickly you know there are going to be some errors we don't have the time to test everything but my objective is that it's only 1% and my objective is that every API call gets a response in one second right that's the kind of thing we have with a service level objective and this is I think this is just really really useful when you when you start doing microservices and you have multiple teams working on different services like separately that have to interact with each other being explicit about what you're going to get and what it's going to look like from from the other services writing that down it's very useful and the service level indicator is basically just saying well how do we measure that so for you know 99% success rate it's it's quite obvious you know we just look at the responses and we see whether it's a 200 or a 500 but for we can write contracts about other aspects of what these services do and some of those can be a little bit more difficult to measure so sometimes you have to write that down I'll actually just say that so this is what these purple boxes do right this is what this this service mesh technology does within Kubernetes or within ECS or something is it's it's going to gather those metrics for you those service level objectives right it's fine to have an SLO that says 99% of my responses will be will be good but that's usually if I can't measure them so because every request between the services goes through these purple boxes the purple boxes the proxies they get to inspect that traffic and and produce those metrics right that's that's why we're using their technology we're using it so we can we can enable sort of business level designed by contract like this but just another couple of things I'll very quickly mention I don't want to spend forever on the tech I say I don't know whether people are super familiar with this or whether this is completely new there's another couple of ways you probably want to build these platforms one is with what's called infrastructure as code tooling so we don't set our servers up we don't set our Kubernetes software up by going and you know clicking through an options dialogue all these manual processes we you know we have we do them once and then if there's if we need to rebuild the system we have to do them again and we forget the settings we chose last time right um we write everything down as as configuration as code we can store it in git and then we can do we can just rebuild the environment or make a change to the environment really quickly by changing that code in git and then rerunning it and it will go and configure our production environment for us um and okay very quickly I mentioned yeah git ops which is the idea of you you have all of that all that code describing what your your server environment your production environment is going to be like you have all of that sat in a git repository and then you have an automated piece of software you have an agent that watches what is in that git repository and makes it and it goes and builds it in the cloud right so um if if I'm on the platform team and I want to make a change to to how this production environment is is functioning I don't actually I don't I don't go into the aws console and click something I'll go into this code in the git repository and I'll make a change in that piece of code and then as soon as I commit it to git uh you know no human has to do anything a piece of software will will notice that you commit to git and it will go and run that code and then aws will will look like what I wanted so with with all of these pieces we've automated all of the way right so if I yeah if I want to change something in aws I want to add a domain name or whatever I want to do you know I don't log in and click um I write one of these configuration files I committed to the git repo and then everything just automatically happens you know a few seconds later aws is going to go the way I want and this um just this just gives us this speed and this reproducibility and this is what lets us be agile right this is what is lets us respond to to users um requirements very quickly it's what lets us do do the lean manufacturing thing because as soon as I've had that idea and you know got got PR approval got that change motion to git that you know that stock isn't held back that hypothesis is out there being tested because it's automatically you know deployed all the way into aws so let's actually look at the deployment of our own software hopefully that gave you a you know an overview of the kind of technology that we can use to enable this um but how how are we actually going to use it so just another couple more terms um people say ci cd a lot right I'm sure you've heard ci cd a lot the ci in ci cd stands for continuous integration this used to have a different meaning but now it basically just means continuous build it should really be cbcd I guess so the same kind of deal if I'm working on my piece of software you know we're using git as soon as I make a commit uh an agent Jenkins or something like that will go off and circle ci or whatever will go off and uh build my software tell me whether the build succeeds or fails you know make that that package that that pip or that jar or in our case that container image and put it somewhere ready to be deployed potentially so when people say the ci in ci cd what they just really mean is continuously going in and building every commit of the software and that's fine I just wanted to to clarify it so okay if we're defining terms if we're saying what words mean what is a deployment right because we talk about cd we talk about I've said a lot about deploying software so far right but I I haven't actually explained what I mean so is deployment you know taking one of those software packages that we built the the jar or the container image and running it well I think it is so continuous deployment the the cd part of ci cd that means continuously doing this deployment right so every time there's been a new build every time you know a new jar a new container image has been made we we deploy it we take that software and we run it okay great so what is progressive delivery then well that actually depends on what we mean by release so when I said deployment right I said take a piece of software and run it and we might assume that if we you know we're running that piece of software in production in the aws in the kubernetes cluster that users will start interacting with it right I I take the build piece of software I go and run it in production then any user that comes to my site is going to see that software right well I think not necessarily because this you know strictly defined deployment means take the code and run it in production release my definition for release is exposing that software to users having users use that software so what would continuous release be what continuous release would be for every new deployment for every new running piece of software automatically exposing users to it right automatically putting it on the the main path that users take so exposing users to every new build so if we do continuous integration continuous building build ci and we do cd and we do continuous release that means every commit makes a container image every container image starts running and every running container image is exposed to the user right so as soon as they do a commit the user starts using it if that commit is bad the user has a bad time so I think ci cd is good and I think we can keep doing ci cd but when most people say ci cd they include this continuous release step right they they assume that the deployment means releasing they assume that running the software means that that's the software the users interact with but what if we say that deployment and release are not the same thing that I can deploy software without releasing it to users I'm going to try to hopefully persuade you in in 20 minutes that that's a good idea and I'm going to show you that we have the technology to do that that we can use those cloud native technologies that I just explained to enable this so one last thing that that the 12 factor guide says point 10 is that you know development and production environment should should be the same so keeping develop staging production pre-production whatever you call it similar as possible so actually you know I've been assuming so far that we that we don't have staging environment even right that we only have one because I when I said ci cd I said oh yes you deploy to to production right and I think you should do that I think you should always do I think you should deploy straight to production but if deployment isn't equal to release then that's not dangerous because the user doesn't start using the software that we've deployed anyway let me let me show a diagram maybe it's a little easier to explain it so using all of this cloud native technology what do I think the the perfect build any and deployment and release system should look like okay so what's that build stage I write some code the little green scroll here is is code that's the best like I can find and I commit to get right some some agents you know the gears are as a piece of software some piece of software comes along and it builds what's in git and it puts a little artifact in you know the the database symbol is you know some kind of store right so it's an abstract diagram but if you think about how your software probably works this is probably what you have at the moment right you write some code in java you commit it to to git Jenkins builds a jar and puts that in artifactory say or you write some code in python you commit it to git and circle ci builds that python packages that python and puts a a pip in pypy right and this would this applies to to sort of any language any ecosystem you're in so the contract from this is that every any you know any new commit to main any merged pr produces well in our case a container image because we're using cloud native technologies and it pushes it into that image registry so what is deploy then so I've got this this line here because I build and deploy should always be very separate I think a lot of people are halfway down this path maybe they haven't thought about it too clearly but a lot of people have ended up building systems where they're like they're quite separate anyway so I've got you know the build that we just talked about that's on the left that happens completely independently of anything everything else so what I then have is this git repo here a different git repo with files in that say what version of my software should be deployed right because for every commit to this to this software on the left every version in git we build it and we make a you know a jar or a a pip or a container image and this has a version on right so we're going to have a big registry about I've got you know the version one of the software version two version three they're all there we could we could take them all and run them all so I have a git repo with a file in this is a right version two should be running and then there's a there's a piece of software here this this cycle symbol that's constantly watching so there's this piece of software that's going to say okay the file in in git says we should be running version two I'm going to go and run two containers of version two right you see these are all these are all the green the green version so yeah a bit of an abstract diagram but this this is using that technology we talked about if people are familiar with this right so this software is running in a docker container so it's going to be kubernetes that that goes and starts this you know I haven't drawn any servers any vms any vmware anything like that because it kind of isn't relevant when we use all of this automation technology we just rely on on kubernetes to make it happen so what happens normally if if I do if I set this this system up right this continuous it's because this is a continuous deployment system at the end of the day it's just a little bit different from the Jenkins or the um the spinnaker or whatever you might have used of them you know at the moment um because it's continuously you know deploying the software every time I make a commit to this git repo on the right to say oh I want to run version three a piece of software will notice that straight away and it will come and run you know version it'll come and run version three in production so we are continuously deploying stuff now what happens by default I've got a you know a user down here trying to access my my stuff they send their request their request hits this this gray boxes you know sort of the low balancer or the the cloud edge or whatever you want to call it it hits the sort of network ingress point and then all the requests go uh you know to the version that we're running right so at the moment we're in a happy state we've got you know this green version version two that's what's described in the git repository that's what's running and every user request is going to go to version two what happens if I do another commit in git right of new code of my new feature I'm super excited about this feature but it's it's brand new and it hasn't had a lot of you know I've done all the testing I can or the unit testing the bottom of the agile testing pyramid right but we haven't gone all the way up yet we haven't been able to test it in the real world well because everything's automated because we're being really agile and really fast my new commit gets built results in a you know version three a red image in the container image repository and then the continuous deployment system kicks in right and we suddenly get version three running in in the cluster as well and what's going to happen by default is that for all those user requests coming in half are going to go to version two and half to version three because this is this is a dumb low balancer right it balances low so it sees that there's now four containers it doesn't really understand that they're different versions so it just spreads the traffic between them so now instantly because we've got continuous integration and we've got continuous deployment this brand new code that might not be very good is you know exposed to half of the users half of the users are going to see that new feature which is great start testing our hypothesis but half of the users are also going to hit this code that maybe crashes quite a lot right or maybe gives them the bad results so what can we do about it and this I think is the sort of the crux of this progressive delivery we had another agent another piece of software but it's all good right this is all automation we had another piece of software that controls that low balancer for us so this is going to be an ELB or an ALB if you're on Amazon something like that or it's going to be part of that service mesh I won't go into the technical details but there's another piece of software here that can control that low balancer for you right because if this happens if continuous deployment deploys our new version and we see that half of the traffic is going to it we might come along and change those low balancers settings really quickly right you know as the person who owns this app I'm like oh version three is maybe not ready yet let me just go and change the ELB setting to send all of the traffic to version two just just for a while just to be careful so we can have a software agent that comes and does that for us and that's just you know safer and quicker and easier I'll I'll move on a little bit because I realize I'm getting towards the end of the time so that little that little agent it's forcing all of the users to get to go to the green version to go to version two but we've done continuous deployment I think continuous deployment is a good thing so this new untested version is running and it's running in prod but it's not being released right it's not exposed to users so the users are not seeing it but we we can do that by using this low balancer by controlling this low balancer right because otherwise if we wanted to test this new piece of software we deployed into into dev or into staging or into whatever you want to call it into a completely separate environment but it's expensive to run that environment it's expensive to maintain that environment that environment is never going to look exactly like prod right they they just never do as as hard as we try so that testing is never going to be as good as it could be so I think we should continuously deploy and deploy into prod but with these new this new cloud-mated tech with things like this this agent and this smart low balancer coming from the service mesh we can control what the users see so the users are when they send their request they're getting version two but version three is that they're running so what can we do well we can start testing it you know our our tester can also access exactly the same thing so that the tester is now not using a like a staging environment or something the tester is using the production environment and maybe accessing exactly the same DNS name that that the users do but if they set an HTTP header to say hey I want to opt in to the testing version they can send a request they can send their the postman request or whatever that they use for testing they can send to exactly the same ingress point of exactly the same production environment get a very representative test but they just said there's one header and the load balancer is smart enough to send their request to version three where the users are still getting the safe version two we can also have you know other kinds of testing can can go on to this agent that's controlling the load balancer for us you know it's it sees version two is deployed it sees version three is deployed and it goes ah yes version three is still under testing so I'm going to send all the user traffic to version two but I'm going to spin up an automated testing system you know an automated test script and I'm gonna tell I'm gonna tell it where version three is so that it so you know if this is sort of a manual tester we can go even further and we can have you know the agent that's that's managing all these deployments we can have it start up automated testing scripts even you know even load testing so this is you know sending a lot of traffic in I'll skip this because I'm running a little short on time um yes basically the point is that it's this is fiddly you know there's a lot of moving parts here this is hard to do we need a lot of automation we need a lot of technology but when we do I think we're in a really really good place so just quickly you know what else can this agent do well it can let version three sit there for a while you know with no traffic except um our testers who access it by by sending a header it can but it can it can test this stuff in multiple ways so the other thing it can do excuse me all these user requests that come in it can mirror them to version three so you see here you know version two gets the user requests and the replies that version two gives the what goes back to the user we can send the same request duplicates off them to version three but you see the the arrow doesn't come back this is not the response the user sees but version three is getting these requests and giving responses and because we're using this service mesh right all of these things have a little proxy alongside them we can see the responses come out of version three and they just get thrown away they don't get returned to the user we just we just throw them away but before we do that we can see whether they're good or bad we can see whether they were an error or not we can see how long they took so we can get the metrics for version three and we can compare to version two and say right it's got this new feature in but it's got one percent more errors and it takes 50 milliseconds longer and we can then say to the product owner to the business is this acceptable how keen are you to get version three out there so yeah this is I skipped ahead of it this is saying that we can inspect you know well we can inspect that service I guess we can see if it just crashes maybe it gets the same request as v2 v2 handles them okay v3 crashes very useful to know that and because we're testing this in production we're going to get a much better idea right you're thinking staging the only request the software gets is is something we've come up with some some request that we have we have designed nothing is ever going to be as crazy as a user request right so so by letting it get a copy of all the user requests although crazy crazy input that the user center app we can see whether it crashes we can see whether the response is any good we can even compare the two right so if we have a an api um if we you know if we're a if we're a SaaS solution then we can send all the user requests to version two and version three they both send their responses and we can compare and say oh version three is returning different responses to you know version three should be faster that was the plan but it's actually returning different responses is that okay so what is so what is released right so this is deployment this is continuous deployment we've got this software running as soon as it's being committed and we can then it's it's sitting there and we can go and test it we can send we can do manual testing of it we can do automated testing of it we can send we can mirror user traffic but the user doesn't get a response so then when when all of that has told us that the software is good or we think it's good we can then actually release it remember that releasing is exposing the software to the users right so again this agent can do some more control of the load balancer and it can say right most of the trap we think we think version three is good we've done as much you know testing as we can we've given it the mirrored requests and everything but we still still want to be a little bit a little bit careful um most of the request she's still going to version two but let's send one percent to version three and let the users actually have the response and see if the users complain right see if users see if our metrics say that users are dropping out of the funnel or whatever and yeah we can we can watch the statistics for these services that you know all the way through to see how they're getting on we can then send a little bit more to version three and if it still seems to be good you know the metrics are still good the user's still happy we can send even more and then eventually it can get all of the traffic and this is now our running version and this is nothing we couldn't have done before right but it's just very very difficult to if you've got you know windows servers and jars and you're doing this manually you know like going and reconfiguring an on-premise load balancer this is very difficult what i'm saying to you in this talk is that the the cloud native technology you know the cloud providers the kubernetes the istio all of this kind of tech makes this easy and and automates it so everything we've seen here has been completely automated and like a user hasn't had to do it so we've gone through all these stages of all these different ways of testing all these stages of being careful and of gathering data and have sort of scientifically moving on with our software rollout but no humans had to had to put the effort in this can happen overnight this can happen all very quickly if we tell the agent to move from one stage to the next very quickly it can happen very slowly if we tell the agent to be very careful um and then just to round off if you actually want to go and build this um there's there's various technology that fits in all of these boxes um but in this case i've used a tool called flux from weaveworks for the for that continuous deployment piece i've used a tool called flagger from weaveworks for the for that automated rollout agent and then as i say everything is running in kubernetes with with istio and my company tech rate make a platform that helps you manage that istio because that's a very big important part that's those proxies that give you all of these all of these insights into your platform what gives you the control over this traffic so running that is important and quite difficult and we make a platform that can help you with that uh there are there there are other solutions out there we could change flux for agar we could change flagger for agar we could change istio for linkerd so i just wanted to say that you know i am agnostic to this um and there's other ways of doing it so i think that's just about on time i will end there um i guess the host is going to come back in and say what's next but i think there's a i don't have time for any questions now but i think there's going to be sort of 20 minutes where i'm going to be hanging out in a breakout room so thank you very much


Just like to start by saying thank you to the Brain Foundation the awards committee and the donors for granting this award It's an absolute honor and one that I'm hugely appreciative of As I received the award for my PhD thesis, I'd also like to take the opportunity to thank my PhD supervisors Associate Professor John Semler and Professor Mike Critting for all their guidance and support as well as my family and my partner Ticket So the purpose of my thesis was to better understand some of the neurophysiological changes contributing to the Motor deficits that are commonly observed in otherwise healthy older adults In particular, I was interested in the role of inhibitory circuits within the brain's primary motor cortex As these are thought to be important with providing the very specific patterns of muscle activation that are crucial for providing fine motor control So over the course of several studies, I used a non-invasive brain stimulation technique called transcranial magnetic stimulation to investigate the activity of these circuits in young and old adults in a number of different functional conditions including During relaxation during different grip types and during different movement phases From these studies we're able to identify a number of age-related deficits in inhibitory function including reduced activity within specific inhibitory circuits as well as Task-dependent and movement-dependent reductions in the ability of old adults to modulate inhibitory tone So these findings have provided good evidence that inhibitory function is abnormal in older adults and the altered inhibition may contribute to altered function in the elderly They also suggest that manipulating the activity of inhibitory circuits may allow us to improve motor function in the elderly Given that we can use brain stimulation to modulate inhibition this represents a novel and exciting line of investigation that could potentially translate into positive clinical outcomes for older individuals. Thank you


Georgia Power is here with a little reminder of how easy it is to save energy at home. Because it's often as simple as a twist, or as easy as a lift. It could be a little squeeze, or maybe just a pull. These small changes can make a big difference, helping you save energy for the bigger things in life. Visit georgiapower.com for tips and programs to help save energy and money.


Here we are chapter 9 We'll be looking at Proverbs chapter 9 today I chose to simply entitle this particular portion of our study through the book of Proverbs forsake foolishness and Live you'll see that as we look at this portion of scripture forsake foolishness and Live so let's begin reading together here in Proverbs chapter 9 verse 1 And we'll read verses 1 through 6 Wisdom has built her house. She has hewn out her seven pillars She has slaughtered her meat. She has mixed her wine. She has also furnished her table She has sent out her maiden. She cries out from the highest places in the city Whoever is simple let him turn in here as for him who lacks understanding She says to him come eat of my bread Drink of the wine I have mixed forsake foolishness and live and go in the way of understanding Now as we're looking at this we have seen that wisdom has been personified And we have seen that wisdom is being presented to us, especially in chapter 8 and now in chapter 9 Wisdom has been presented to us as being at work We see in chapter 8 verses 27 and 28 how he had written When he prepared the heavens When he prepared the heavens I was there when he drew a circle on the face of the deep When he established the clouds above when he strengthened the fountains of the deep and he goes on What he was saying there is wisdom was revealed in the work of creation The creation of the universe as well as the earth and so as we enter into chapter 9 Wisdom is revealed at work still but this time wisdom is being revealed as being at work amongst men Notice how he says in verse 1 wisdom has built her house So what we have here and I have to develop this with you because you're going to see a contrast In a few verses, so let me Lay a foundation for us as as we look at this wisdom in verse 1 is is depicted as building her house She's being presented as a Middle Eastern queen That's the picture you have here when it speaks of wisdom building her house. She's being presented as as royalty It's a picture of her and her attendance And it says that wisdom has built her house this house in scripture Sometimes the house is used to refer to the inhabited world And so what you're seeing is wisdom in at work amongst the inhabited world Job 38 verses 4 through 6 Says where were you when I laid the foundations of the earth? Tell me if you have understanding who determined its measurements Surely, you know who stretched the line upon it To to what were its foundations fastened who laid its cornerstone? That's a picture of construction there the house is very often used to speak of the inhabited world In Hebrews chapter 1 verse 10 the writer said you lord in the beginning laid the foundation Of the earth and the heavens are the work of your hands In a chapter 3 of Hebrews verse 4 Every house is built by someone he who built all things is God And so what you have here is you have wisdom's work in the world and wisdom's work, especially amongst men And so it speaks in that way In verse 1 again, it speaks of her hewing out seven pillars So when it says she has hewing out her seven pillars, you need to remember that there is something called numerics biblical numerics Sometimes people may say Biblical numerology, that's not the proper word numerology speaks of an occult practice The word numeric speaks of numbers and how the word how the how a number is used in scripture And when you go through scripture very often not always but very often the number seven Is used to speak of perfection or completion The number seven is used in that way I'll give you one example genesis chapter 2 verse 2 On the seventh day god ended his work which he had done He rested on the seventh day from all his work which he had done And so seven is the number of completeness or perfection So she has hewing out seven pillars And so this is speaking of the completeness of wisdom And it speaks of this house that she's building notice with me that the house is large enough to hold a banquet A banquet for any who desire to attend that they might have Wisdom it goes on to say in verse 2 she slaughtered her meat mixed her wine She has also furnished her table Sent out her maidens cries out from the highest places of the city Whoever simple let him turn in here as for him will ask understanding She says him come eat up my bread drink of the wine I have mixed for sake foolishness and live going the way of understanding So she has slaughtered her meat. He says She's mixed her wine Wisdom has repaired a feast It's a feast for all who desire To be at her table It's a picture of something that is generous as well as delicious And it also is a picture of something that is Desirable So that's the picture you have here. It's a banquet. It's it's something that That a hungry person would really find Inviting and that's the picture that we have here Notice in verses 3 and 4 how it says that she sent out her her maidens She cries out from the highest places of the city In verse 4 it speaks of her issuing an invitation whoever is simple let him turn in here So the table is ready guests are invited But here's the thing To enter and to partake requires desire and humility The call is for anyone And the call is open This is a public invitation What's interesting It's a public invitation for the naive as well as the shallow So in order to receive wisdom You actually have to have humility because you have to realize that We have to realize that we are naive and we are shallow Because if we don't we'll never have wisdom That's That's something that almost seems contradictory In order to gain wisdom. I have to say I'm shallow but the answer is yes I was in church one time and I was going to say that's like a paradox and the minister Pastor was giving a bible study And my sister Madeleine was seated next to me and he said and this is one of those It's a paradox. He went like that. My sister was seated next to me. She said and she writes a little note Some of you never do that here. I know we've never found him on the floor ever When's he gonna stop? No, we've seen that But in the uh there my sister wrote a little note to me He the the pastor I just said And it's a paradox So she writes what's a paradox? She so I wrote Handed it to her and she opened it up and I wrote two doctors You're not supposed to laugh in church at the wrong time But she she she she got hardly contain herself. I never forget that I still to this day Well, these are else that's a paradox and she remembers that we're in church But he is one of those things there if you want to have wisdom the way into wisdom is to understand that you don't have it The way to to have something like that is to admit That I don't possess it. So that requires humility I have to admit that i'm simple. I have to admit That I lack understanding Now over the centuries This portion has been interpreted to apply to the church You see the house for example Referring to the church of the living god even as paul speaks of the church in that way You see the seven pillars and And christian theologians have pointed out that the seven pillars would speak of the foundation of eternal truth You see that the the meat has been slaughtered That shows us wisdom has made provision for the guests and so We would recognize that as being the sacrifice of jesus You have the mingled wine This would speak of the sweetness and purity of the holy spirit because the holy spirit is referred to as new wine It speaks of sending out her maidens And that would refer to the mission of the church To reach the lost It also says that she cries out from the highest places crying out Once again speaks of an open invitation And here's what she says verse five Come eat of my bread Drink of the wine I have mixed And then forsake foolishness and live Go in the way of understanding Come eat of my bread drink of my wine Well, you would understand obviously red and wine. What would that represent in the new testament? The body and blood of jesus christ and so there's a picture here Giving to us an invitation to salvation And it's saying that you need to partake fully of this in order that you might have divine life Within you it reminds me of a teaching that jesus gave in the city of cupurnium When you read your bible here in new testament You're going to see that the city of cupurnium is the city that's mentioned quite often It's a place that became the headquarters for jesus jesus was born And uh born in bethlehem raised in nazareth But at a certain point he moved his headquarters of ministry into the port city of cupurnium And so when you read your new testament very often you will see quite a number of things that occur In the city of cupurnium and one occasion It's found in john chapter six. You see that the lord jesus christ has just Has just performed the miracle of feeding a multitude with fish and loaves that he multiplied in And after he had done that uh john records how he had gone and and the people had followed him And they they wanted to to be near him because and he says it to him he says You're here because I I produced food for you and I fed your hunger And now he begins to speak to them and he begins to share with them Concerning what it means to have a real relationship with god through him and at a certain point in john chapter six It's found in verses 52 through 56 jesus said to them Most assuredly I say to you unless you eat the flesh of the son of man drink his blood You have no life in you Whoever eats my flesh and drinks my blood has eternal life And I will raise him up at the last day for my flesh is food indeed My blood is drink indeed he who eats my flesh and drinks my blood abides in me and I in Him and so you see the invitation in the old testament that is fulfilled by jesus christ and the new Come eat of my bread drink of the wine. I have mixed again Remember that paul refers to jesus as the power and wisdom of god So jesus christ would be portrayed here in proverbs as giving that invitation to partake fully in him that we might have life Now notice in verse six how it says forsake foolishness and live Going the way of understanding foolishness Foolishness speaks of living sinfully Foolishness very often especially in the proverbs is speaking of the person Who lives as if there is no god?  They are corrupt They have done abominable works and then he goes on to say there's none who does good And so forsake foolishness the invitation is for the ungodly to change the way The invitation is for the ungodly to come to know god instead is instead of living as if there is no god Come to the understanding and knowledge of him And you do so because that is the wise thing to do like it says in psalm 111 verse 10 The fear of the lord is the beginning of wisdom all who follow his precepts have good understanding To him belongs eternal praise Notice with me all are invited But not all come to eat the bread of life Not all come to imbibe of the spirit of god to drink the spirit of god in if you will Remember when we were in first timothy chapter four And verse 10 how paul had spoken of the lord in this way. He said that god is the savior of all men Especially of those who believe The invitations to everybody Jesus christ the blood of christ the sacrifice of jesus christ is sufficient To save every single human being who is on the face of the earth and has ever been Since he was there dying on the cross and pouring out his blood He is sufficient He is enough for all the bible teaches that very clearly That jesus christ is the savior of all men When god allowed his son and placed his son if you will on that cross To die as the propitiation to die as the ransom to be the sacrifice lamb of god Who gave his life for the world When jesus christ took upon himself the the sin of the whole world And he became sin for us He did so that we might become the righteousness of god in him And he took upon himself our sin And it was the sin of the world and yet when the gospel goes out and we proclaim to people Come to faith in christ receive the lord He'll wash you clean of your sin. Your problem isn't simply economic Your problem isn't simply a lack of opportunity or a lack of education. Your your problem isn't completely Settled on the fact that you had a rough upbringing or you didn't have a dad. You didn't know your mom All of those things of course contribute to our The misery that we live in But that's not the root of the problem And that's one of the things that people fail to understand we um We can't be educated into happiness And we we can't be We can't be given money until we're happy Now if you want to if you want to give me some to see if that works or not It doesn't Just be less unhappy. But what happens is you can't buy and we know that I mean there were four profits when I grew up Called the Beatles and one of them Saying you can't buy me love And and you know as shallow as that music was at that time The message is true. That's true. You can't buy me love. Love can't be bought Love is something that is freely given to us by god and salvation is something that we didn't purchase It was purchased for us and the invitation is given to us to receive by faith to humble ourselves and say god be merciful to me I'm a sinner. I'm miserable and I have a tremendous need in my life And there's a hole in my heart that I've tried to fill with so many different things But the only thing that will really completely fill that that gap in me is you and that's what salvation is And that's how you come to a knowledge of god is by receiving So the invitation has come and eat of my bread and then the requirement is forsake foolishness If you turn from your wicked ways god will hear us and turn Himself towards us and we'll have a relationship with him This invitation is given but not always responded to in faith Hebrews 3 15 says it like this Well, it is said today If you will hear his voice Do not harden your hearts as in the rebellion When god's holy spirit speaks to you and convicts you of sin. Don't harden your heart.  This is someone who ridicules it And will ridicule anyone who shares It with him I think his his name is bill mar I mean, that's what they do. He does that he And some of you know his name if you don't that's okay. Don't waste your time finding out but All of us if you share if you share your faith if you share your faith Some of you may say I've never had somebody do that.  That's a scoffer This is the one who refuses to live by God's word Well, he's saying the result of correcting someone like this is shame And and it may even result in personal harm. You may be attacked Proverbs 15 verse 12 reads a scoffer doesn't love one who corrects him Nor will he go to the wise Proverbs 29 one says He who is often rebuked and hardens his neck Will suddenly be destroyed and that without remedy you see there are times when you when you share a word of correction And the person that you're bringing a word of wisdom and correction to gets really upset And will get mad and that's what he's saying verse 7 He who corrects a scoffer gets shame for himself Because there are times that you may bring a word of correction to somebody who's not going to listen to you In a normal in a normal course of life This this may this may Be something that I should say Sometimes because i'm a pastor and I and I speak the way that I do with In the manner that I do you may think that that I that I just enter into debates and arguments Easily and quickly, but the fact is I don't the fact is I don't There are many many times where people have been saying things to me where I they don't know i'm a pastor They don't know what I do And they're just saying things that are rude and obnoxious or they do something and I don't intervene I don't go there and say you know what you need to stop doing that. I I don't do that I don't intervene unless I sense that I I need to and most of the time I don't and I especially know that to try and correct somebody who's angrily scornful Can be dangerous that that person could could turn on you and and and attack you So you have to have wisdom You know, I I've mentioned how that I I brought my father to christ And I said to him the things that I said you're a good man best man I'll ever know you'd be the best man in hell if you don't give your heart to christ That was my dad. I was speaking to who who basically because he was my father Resisted the temptation to kill me. But there are other people That I wouldn't say that to There are other people that I'm very I would be very careful with so I'm letting you know Don't leave this place and say I just got to grab people by the throat and say you're going to hell or heaven And make your choice because that's not the wisest thing to do And also be aware that there are times and the family may get together for a holiday like easter christmas or new year or whatever birthday and somebody's acting the fool And that doesn't mean that you have to take them aside and correct them You need to have wisdom in that because sometimes it is to be downright dangerous So have wisdom before you do something and that's basically what he's saying He who corrects a scoffer gets shame for himself.  You see the one desiring to gain wisdom Will actually have a love for you for bringing a word of correction. Why is that? Well, it's because they're seeking to grow in their knowledge of the lord And it's because they're mature And humble enough to see that correction was needed Proverbs 27 6 is a beautiful scripture. We'll see it someday Faithful are the wounds of a friend There are times when your friend is the only one who can tell you the truth And then you get all mad at him Your friend says you've got a bad temper and then you get all mad at him No, I don't I had a friend his name is jim And jim and I were talking one day and I said to him jim Jim you you you're very You're very much without joy You I said you need the lord jim And you are very much without joy because he was very much. How could you couldn't have joy without the lord? So I said you're very and he yelled at me. I'll never forget he yelled at me friends can do that He did he yelled at me and he said I'll have you know, I have more joy than anybody. I know as he was yelling at me in anger And yet there are times when you probably have Well, this is how you do it. You pray father. I need to share with my friend I'm concerned for them. I haven't seen them In church or they're not walking with you anymore.  I want you to know.  There's a thousand and one things And they look at you and they say You know what I haven't been I haven't been walking with the lord the way I should And the holy spirit has been convicting me and I just want to tell you thank you Thank you for loving me enough to tell me the truth Thank you for caring about me There are people who do that There are people who will listen and that's what he's saying here basically Don't correct a scoffer unless he hates you but rebuke a wise man. He'll love you Verse nine give instruction to a wise man And he will be still wiser teach a just man And he will increase In learning So wisdom can be added to And it profits the one who is open to instruction A just man can grow in righteousness And this man desires to be taught He goes on in verse 10 the fear of the lord is the beginning of wisdom The knowledge of the holy one is understanding for By me your days will be multiplied in years of life will be added to you Your wise your wise for yourself And if you scoff You will bear it alone Now the fear of the lord is a foundation of a good life Remember the full acts as if there's no god But the wise are continually aware of the majestic power of god And he's saying that having a healthy fear of the lord actually increases you It adds to your learning It encourages you to receive correction The fear of the lord will will produce a long life that is productive In deuteronomy chapter six verses one and two This is the commandment These are the statutes and judgments which the lord your god has commanded to teach you That you may observe them in the land which you are crossing over to possess That you may fear the lord your god to keep all his statutes and his commandments which I command you You and your son and your grandson all the days of your life that your days may be prolonged The fear of the lord prolongs your days It teaches you to avoid things that could cut your life short It encourages you to do the things that produce peace in your life So he says it begins there the fear of the lord is the beginning of wisdom. That's where it begins He says in verse 12 if you are wise your wise for yourself if you scoff You will bear it alone. That's an interesting thing If you are wise you are wise for yourself If you scoff you alone bear it The consequences of our decisions And our way of life reflect chiefly on ourselves Here's something practical to think about In a time where we have learned To blame everybody else for the poor things that we go through the problems that we have and it's pretty easy to do that Many years ago. I heard this Somebody said that one of the things that has influenced the united states in the most negative way over the last many years Has been the intrusion of Freudian psychology Which gave to us The ability to explain away all of our bad behavior And this psychology psychology of the nation We have been psychologized in many ways philosophize in many ways It is very true There are there is an entire culture today American culture that is very capable of blaming everybody For the condition they find themselves in we know that don't we it's true We know how to blame my mom We know how to blame my dad We know how to blame my educational system We know how to blame all those people for not giving me a chance We know how to blame every and then what is giving itself over to Is envy and jealousy and a lot of anger and that's what we have in our nation right now And there's an awful lot of it if you're successful There's somebody who is upset that you're successful If you have a new car, there's somebody who gets upset because you shouldn't have a new car Why because they want that new car? And so what has happened is envy has taken over a lot of hearts And we blame a lot of people for bad choices that we have made That the bottom line is if I sew to the flesh from the flesh, I do reap corruption And ultimately the things that I do will have consequences And so the consequences of my own decisions Are going to be reflected in my way of life In Galatians chapter 6 verses 4 and 5 it says let each one examine his own work Then he will have rejoicing in himself alone and not in another For each one shall bear his own load So if you're wise you're wise for yourself The consequences of our decisions our way of life reflect cheaply on ourselves because in many ways We have sewn to the wind. We will reap the whirlwind And so he's making it very clear that we have to be aware of the consequences of our choices You see wisdom has its own advantages and it ultimately rewards the one who exercises it And wisdom is satisfying and is most certainly worth pursuing But if you reject wisdom you will reap the consequences of a foolish life Ultimately we stand before the Lord and we stand before him alone I wonder how many of us think that when we stand before God we're going to be able to bring all the people we can blame for our life And the Lord says I'm going to speak to you about your life. Just a second. Let me bring my mom You do you don't know what my mom was like and that's the reason I'm this way You see We stand before the Lord and we can't blame Others for the choices that we make. Yes, there are others who have influenced us and yes We have to be very careful who we allow to influence us. There's no doubt about it We contribute to one another's choices But ultimately When the choice is made it's something that I have to own up to People can hear the gospel But they can reject its message Ultimately, they will reap the consequences In john 12 48. Jesus said it like this He who rejects me and does not receive my words Has that which judges him the word that I have spoken will judge him in the last day You see people make decisions and very often they make a complete rejection of the Lord Jesus Christ You see that in the new testament once again When that the Lord would be speaking to the religious leaders and very often they would hear what he was saying But reject his words. You see it with the scribes. You see it with Pharisees Luke writes about it in chapter 7 verses 29 and 30 When he says when all the people heard him and all the people heard Jesus even the tax collectors Justified God having been baptized with the baptism of john But the Pharisees and lawyers rejected the will of God for themselves not having been baptized by him They rejected God's word They didn't repent and thus they are going to end up reaping the consequences of such a choice In verse 13 a foolish woman is clamorous She's simple knows nothing for she she sits at the door of her house on a seat By the highest places of the city To call to those who pass by who go straight on their way Whoever is simple Let him turn in here And ask for him who lacks understanding.  Let's look at that And find application first notice something notice how foolishness is described in contrast to wisdom Notice that foolishness is described as clamorous Again, that's not a word that we use generally clamorous speaks to something that is loud foolishness is Described as being boisterous She's described as someone who's making a lot of noise and gaining a lot of attention Um She's on a bullhorn if you will she's carrying a placard. She's wearing a funny costume. She's marching She's calling out Pay attention to me drawing attention to herself And as she's doing that she is Looked at as being or described as being simple.  She's undisciplined. She's uncertain But there she is seated in in in a prominent place in the city. She's out in the open So this tells us that foolishness actually attempts to imitate wisdom And we see that all the time All you need to do is watch the news And listen to the commentators and the arguments that go on and you'll see very often that foolishness Is attempting to imitate wisdom We're living in a day right now That that has taken place and and I know this can be offensive to some Hopefully it is an offensive to any of us in here right now when this goes over the air I'll find out who it offended But we're living in a time that that you almost have to voluntarily blind yourself To just not see You know, I used to tease I used to in a teasing way Some of you have been with me for a while and you've heard me say something like this Where I've said just because I say I'm something doesn't mean that that is what I am I um and I've said, you know, I I could say to you right now that I'm a six foot five Swedish person And that's what I am and I've teasingly said that just to make a simple point You can say that I'm Bjorn again, you know, anyway And and I have said to you If I were to say that That I'm a six foot five or if I said I'm a six foot eight african-american basketball player Everybody in this room would say oh He needs to take some time off He's in he's under stress. He's deluded Would you say that you wouldn't say that would you say that on tv? When a commentator is telling you you have the right to choose exactly what you are just by saying it So if you want to be a Filipino woman, even though you're a Swedish man You can be that is true That is happening now There is there there are so many definitions of who you are now You can be basically who you want to be and nobody has the right to tell you that's not what you want That's That to me is unheard of but it is being taught today from preschool into college That's going through that's permeating our entire educational system right now.  He's walking around naked And he's parading himself naked.  I did not believe in my lifetime That I would see something like this I just I I just It's no complaint. It's a challenge for us to learn to communicate But i'll tell you it's a fact We're living in a state that I think is a crazy crazy state. I could go on and on about that. I won't But it is it has changed in my lifetime This state that we live in which was the golden state Has really changed and it's all the philosophy that's coming from our governmental system really is and it's the rejection Of christ and rejection of the simple truths of scripture And wisdom is on the street corner crying out You have to admit that you're not even simple in order to partake of me You have to admit that and if you do i've got a banquet that's laid out for you And it will feed you and you will your life will be changed, but foolishness does the same thing And she cries out in a clamorous way getting attention drawing people through herself And that's the point that's being made right here as we look at this Whoever is simple let him turn in here and ask for him who lacks understanding So foolishness is inviting us to partake of foolishness Bad advice is given constantly Receiving it and acting upon it only produces pain That's why we need to be wise in who we allow to influence us Psalm 1 verses 1 and 2 remember this blessed is the man who walks not in the council of the ungodly Nor stands in the path of sinners nor sits in the seat of the scornful But his delight is in the law of the lord and in his law He meditates day and night While foolishness is sitting at the door of her house On a seat by the highest places of the city calling out to those who pass by who go straight on their way And the invitation again whoever is simple let him turn in here Ask for him who lacks understanding she says to him stolen water is sweet Bread eaten in secret Is pleasant what an interesting interesting phrase stolen water is sweet Bread eaten in secret is pleasant Stolen water there is a certain exhilaration That is that is experienced When you cross a boundary that you were taught never to cross there's a certain Rush that you get the first time you steal something and don't get caught There's a certain Adrenaline rush when you lie and get away with it There's a certain high That you can have when you seduce somebody or when you enter into an improper sexual relationship or When you take another man's wife Or steal another woman's husband Stolen water is sweet that the The rush the excitement There have been songs that have been sung and written about these things forever Been on the radio since I can remember radio And they speak about having to meet in secret places and You know or me and mrs. Jones and you can name them. I mean there's you know got a thing going on and That's an oldie that's a blast from the past I can hear the old people's false teeth rattling in the jaws right now But that's that's that's we all know that you know that the thrill of of Connecting in that way stolen water is sweet And that's what he's saying here foolishness leads you into something that at first appears to be pleasant But ultimately it destroys you When eve Was tempted by the serpent and the the forbidden fruit was pointed out to her It's good for so many things It'll give you wisdom and tastes good and all of the things that the serpent pointed out to eve The appeal Was overwhelming And the bible tells us that she took of it and she gave it to her husband with her And he ate There was that Taken of that but mankind humankind fell When adam or took of it You can never You can never Sin and get away with it. Please remember that always you may think that you can but you can't You can't Sometimes the lord is very patient and he doesn't deal with you immediately. We know that don't we There have been times that that I have done something as a young believer especially The heavens didn't open in the hand of god with the fly swatter didn't come out and smash me And I thought I I got away with it. It wasn't that bad Must not be wrong Sometimes the lord is just extremely patient with you. He gives you opportunity after opportunity to repent he does I've done that with my children when they were small I I I would not react sometimes quick as I might have Hoping to give them a space to repent So that they'd voluntarily see it was wrong And turn and sometimes the lord does that to us But ultimately we will reap what we sow And we may think that getting involved in that relationship with that co-worker or that neighbor That we're going to get away with it what you never do Those are the kinds of things you never get away with you just think you're getting away with it At the moment stolen water is sweet And at the moment we're at eating in secret tastes good Because you don't think anybody knows It may have excitement that the result is terrible It's interesting how it says here in verse 18 He does not know that the dead are there that her guests are in the depths of hell Hell is in this passage here. It's a it's a Hebrew word. It's sheol Sheol is translated by the word grave 31 times In the old testament It is translated with the word health 31 times and it's also referred to as the pit three times Sheol is the underworld.  Ultimately they both die Lazarus ends up in what is called the bosom of Abraham while the rich man is in the place of torment And as this is taking place according to Luke 16 verses 24 and 25 The rich man cried and said father Abraham have mercy on me send Lazarus that he may dip the tip of his finger In water cool my tongue for I am tormented in this flame But Abraham said son Remember that in your lifetime you received your good things Likewise Lazarus evil things But now he is comforted you are tormented The rich man ate well dressed beautifully had banquets daily Lazarus sat at the gate Filled with sores and had no medicine so the dogs would come and lick his wounds And they both died the warning is obvious pleasure on earth without god is temporary So choose god Choose wisdom choose a relationship with him And realize that you do reap The consequences through eternity You may be deceived into thinking you're getting away with it Solomon would be saying But remember there are eternal results to rejecting the wisdom that god offers through We would in new testament terms say it like this the wisdom that is given to us in jesus christ to the gospel And so if there's anything that we seek as we seek so many things seek wisdom