Hello, can you hear me okay? Great. Okay, we are back in business, right? Yes. What happened to the noise? I know we are missing the noise. But I think the noise must have been the cabling that generates electrostatic noise because the cabling has been moved a little bit. And I had to identify what may be causing the noise. I think it was the hard disk. Pretty much. I'm pretty sure because I connected the hard disk and you immediately complained about noise. So it was me causing the noise and I'm sorry about that. Let's share the screen. We thought your dog is dancing or something. Okay. He does not dance like electrostatic but he dances. He does dance. And so he's a crazy dog. Yeah. So yes, he does dance like crazy. So what I was doing was making sure that we project back again. So I have the Slack chat going. Let me move it out to the other window. And okay. Okay. So before I actually ask this, the question I have for you is, did you guys run through that exercise at all? And the one that I am about to run, did you run this exercise at all? Nilesh, I did. Okay, good. Nice. And I sent you a link. Yes. Yes. You have in the group chat. I think I have seen that link from you Mohammed Salam. That's great. So for the sake of everybody else, I would like you to try this. It's a very simple exercise and I will just run it for you. The idea is to do a couple of things such as open a terminal. And then in the terminal, you basically clone a ready-made open source project called Octopress, which generates HTML, CSS, JavaScript, and makes a static site that is editable very easily. And that is what I need to do by cloning, cloning as in making a replica, getting a copy and bringing it down. So that's what's going on right now. It is bringing it down to my Mac. Now I have it. So I need to go inside and I did. Would you paste it in the Slack? Yeah, the steps are in this link here already. And you can follow along if you like, or you can just watch the video and do it later on your own if you like. So it's up to you. Okay. So the ideas, the steps are written down on that link that I just pasted. And here is the first step. I just did that. The next step is to go into the folder and then run a installation script, which is done through bundle command. So bundle install should actually install all the... Okay. I am missing something here. I need to install that. I'm missing the bundling software, which I'm installing right now. Your virtual machine has it. So don't worry about it. Your virtual machine has the bundle command already. Now I will run again, bundle install. And it will package up all the things needed to make sure that this Octopress software runs properly. And that is what is going on. You should find that it has all the things needed already on your virtual machine, has these things already. So you don't have to waste time in building these things. You just run the command and it will quickly finish the whole thing. Next step is to actually install the Octopress as a skeleton for us to then modify and create HTML, CSS, JavaScript-based static site. And that's what I intend to do next. The next idea is to run rake install. And this action will actually create some folders like this, and this, and this, and also create a folder called public and copy some themes for styling using SAS. And that's what it did for us. We can go and examine the content of that folder inside and compare what is getting generated, what is getting generated in the atom source window, this editor for source code. Now, next step, what we would like to do is to proceed in the next direction, which is in that folder here that you see, source and posts. That's where we need to write some new blog posts. It is going to generate a static site for us for which we need to write some blog posts. So you can write a blog post by creating this, begin writing a blog post by creating this post for us. And this rake command will generate a new post for us. And that will show up here in the source section in the post folder. In that folder, you will see a new file popping up as soon as I run this command. And that is where it pops up right there. This is going to be my first Octopress post. I can modify this post itself by editing it and saying, you know what, this is my post number one. That's what I write in the blog post. Next, I will run the same command a couple more times to create additional posts if I want to. Don't have to, but I can. So I will create two more posts like this. So second and third. So this is the second one. And this is the third post in which I'm writing blah, blah, blah, whatever. So it doesn't matter. I'm just not writing right now, but I'm just saying that you can modify your posts in the blog posts. And then the thing will generate HTML, CSS, JavaScript for us. And you can see that currently in our source folder, in the underscore posts folder, we have three new files that you saw in the atom editor right here. One, two, and three. That's what you're looking at in a text in the terminal. Same thing again. Next up, you will run Octopress to generate code for us. So we have to generate HTML, CSS, JavaScript, and that output will go into the public folder, which is currently empty. This public location is currently empty. So we want to create in that public folder is where Octopress will generate and put HTML, CSS, and JavaScript in that location. That is what I want to create, for which I need to run a command to generate, which is what I will do. And it will generate HTML, CSS, and JavaScript for me. You can see that it did, and I can examine that in the public folder. Now I have a whole host of things ready for me. Assets, blog, images, JavaScript, style sheets, and index HTML, the main file for the website. Now that is created automatically for me. So it generated site, as you know. Now I want to see these things in a local browser. What I will do is break preview and quickly see what this site looks like on my local laptop, for which I need to open up a browser and go to port number 4,000, which is easily done by clicking this link here. And I see that my blog is ready with my third post up on top that says blah, blah, blah. And my second post says my second post, exactly what I typed. And my first post says this is my post number one. That's what I typed in the editor in Notepad, in our text editor right now, as you know. So the blog seems to be running locally. And it runs localhost on port number 4,000. And it's a very easy way for me to quickly generate a blog and run it locally. But that's not interesting enough. What I really want to say is that Octopress is working like a SaaS, is this a PaaS, like a PaaS product? So Octopress is a software to generate software. It is a software like a SaaS product. It's not a SaaS product. No, it is just software. Just a software. There's, there's helps to generate HTML, CSS, XML, that kind of file. Okay. Correct. It helps you generate HTML, CSS, JavaScript based websites that are static in nature. Do not have a database. Okay. And don't need any server for it. You can run it on a server. You don't have to if you're using storage service. That's what I'm saying. Otherwise, you know, without a storage service that is configurable to run as a site, you need a server. You absolutely need a server to run a site. No doubt about that. But the trend in the industry is evolving towards creating things that do not require servers. So you will see that this storage service does not have a server. No server. You still get the solution that you want, storage service, but no server needed. Similarly, there is a new service called Lambda where you can run code and to run code, you would think you need a service or you need a server, but no, you don't. No need of a server. You can still run code without a server. How do you do that? Yes. New service from Amazon here or Lambda. And here you run code and it doesn't run in Northern California. So we'll just change it to Oregon. But here you run code in Lambda and I'm running some code by the way. So you can create a Lambda function and without having to create any server, you just run the code and it runs for you. They charge you by microsecond or some pricing mechanism, they have it. And the idea is to run your code in your cloud without actually creating a server. So it's a compute service that runs code in response to events, but you don't have to worry about boxes, hardware, containers, nothing. You run the code without managing your infrastructure. This is an evolution happening in the industry and there is very similar thing again available from Google Cloud Functions. Same thing, conceptually same thing from Google. You have an alpha release of Google Cloud Functions. What's the name of it? It's called Google Cloud Functions. That's the name. You may not have access to it quite yet. You have to apply for it and you can preview to be whitelisted and I think I got whitelisted. So I have access to it. But the bottom line is that this Google Cloud Functions is the same idea that is you see evolution happening in the industry. Essentially you run code, you store stuff. You can run, do these things, no server. Not needed. You can still do these things. So we have to pay for it. This is not platform as a service. This is actually called serverless computing. There's a question. What kind of code we can run? What kind of code we can run on using Lambda? So there are currently two known services available like this. This is a very new offering, by the way. So one of them is called Lambda from AWS. The other one is called Google Cloud Functions from Google. And here you can run, let's check. I think here I know there are three languages, JavaScript, Python, and Java. Three are supported. If I remember right, I don't know the support of the languages. Probably Python. I'll just quickly check. These two are I think supported by Google Cloud Functions. They are building it up right now. This is coming along, but let us see what they do. So enable billing, go to the projects page. Okay. Let's go in to go there. So I have my projects page, then do what? Okay. This is kind of new and confusing. They just gave me access like a few days ago. So the idea is to then enable billing, enable the API. Did I enable the API? I haven't done these things actually. So it's fetching the API details, use an existing project, continue, and then enabling the API. So I actually just enabling it right now as you see it. And so the API once get enabled, then I can install the SDK and start using it. And I can write a function in which languages do we have? Writing code on GitHub. JavaScript seems to be supported. This is JavaScript code. This is JavaScript again. JavaScript again. It is probably JavaScript for right now in Google. So only JavaScript for right now, but they will come up with new other languages. So but Lambda does three languages, one, two, and three. And this is also new. And the idea essentially is that you will take a bucket and put your code here. And then you'll say hey, Lambda, hey, my code, go run it. And it will run it for you. And that conceptually is like run my app like a platform as a service that I want to run code on. Yes, conceptually it is a platform. Yes, indeed. But in a sense that you want to keep running a piece of code all the time, all the time, continuously run. That is not the scenario here. Remember, it is not a perpetually running thing. Remember, read that. It responds to an event. So something happens. Then they will pick up that code and run it for you. And then once that thing is done, they will finish processing. And then it will exit. And you don't have to pay any more. And then it just goes away. That's the usage scenario here. It is a response to events. And I'll tell you more about events when we discuss this type of computing. But right, taking steps back, the thing we are actually doing is to put object here and then create a site out of that object without actually writing to create a server. It is serverless sites using just storage. No need to write any server based code. No need to even have a server, but still have a site and not even use Lambda. Not yet. We are just focused on this storage part. That's what we are doing right now. So back to here. What I just did is... Are you sharing? Are you sharing something? I see the... Yeah. Okay. I think I clicked the button by mistake. So I'm back sharing. So Paul is typing a question. Go ahead, Paul. You can even ask if you like or type whatever works. I know it was the same question. I was wondering if there was a screen I was... I think I clicked the stop share by mistake and so I started sharing again. Thank you for catching it. So the thing that I was discussing is that in the scenario that we have just run this thing locally by rake preview and we were able to... So who uses this Lambda? So I use Lambda and I am going to use this Google Cloud Functions also for a variety of scenarios. I think we should discuss Lambda. We have a discussion on Lambda coming up. So let's finish this discussion we are having on the Octoplus thing and we will visit Lambda and all of the services in all the clouds. That is of your interest. We don't have enough time to cover all the cloud, but we will cover concepts that are common to all clouds or that are new in the cloud arena to make sure that you are exposed to and you actually make use of these things. So yes, if you have a specific question on Lambda, we will cover it with Google Cloud Functions. I just got enabled access, so I will use it and then I'll tell you what it means, but it is conceptually very similar to Lambda. So let's talk about Lambda and these things later. You should also look at this serverless.com, which is basically serverless computing. And so here you can see some people who are using some documentation. All of it is again open source. And so the idea is to run code without having to manage servers. You just write code and give it to some server and it runs in response to events. That's the unique difference. It has to be in response to an event. So it is very well suited for Node.js, JavaScript-based event-driven programming. And I'll talk more about events as to what it means at appropriate time later. For right now, remember serverless.com, open source, go read it. Serverless. And I'll close this, close this, and come back to lower. So I was on that link that I was following along and let me get to that link again. Here. And we did the rake install, then we have to run rake generate, and then we preview the site locally. Now, at this time, we have been able to successfully preview the site and all that good stuff. It looks like this. It is running locally on a server that runs on my machine and all that. However, our goal is to run without a server on some storage, like absolutely without a server. So essentially what I will do is take this code, first of all, break the preview. So I control C and break it. Then I'll see that this folder contains a public folder, that folder public, which is what I want to grab. And I will grab that public content in this folder, entirety of that folder. I want to move it inside a bucket and then convert that whole folder structure into a static site. So this folder you have CD public. This folder now has a bunch of interesting files for my use. And those files are right there. We have an index HTML file which represent the site itself. We have fail icon, blog, assets, JavaScript and style sheets and all that is already prepared for us. Octopress did it for us, all the grunt work. All we need to do is somehow manage to take a copy of this folder, public folder, and move it or copy it into a bucket. So the bucket we have, we create a bucket, put all that thing inside and then say, you know what, you go become a site. Go become a static site. Please, please, please. And it will become a static site. And then bingo, you have it as simple as that. So how do you take this public folder we now have inside our Octopress and move everything that you have here into here and then say, you go become a site and then we are done. That's what we want to accomplish. And we will do that in a few simple steps right here in that right up. So proceed next step. In here, we have to find out our AWS credentials. You already know how to get that. I will show it to you in very quickly. This is how you do it. You go to Amazon login here and you go to your IAM, Identity and Access Management, Security and Identity section. Click. In there, you will create a new user, a new user. I will call it Badal and generate an access key for that user. So I'll say create it. And now I have the credentials. I will see them. They're right here. So I have this key and a secret. So I have them. I will save them locally. So here we go, Atom. And I will save those credentials in a Atom editor right now, right here in this file. So we will have a safe copy of that stored here. Okay. I will use them now. So the credentials are available for a new user I created called Badal. And I will close and close. And now I have the Badal user somewhere here. Now this user does not have any permissions. So I will add that user to administrators. Super Duper Administrators is the name of my group. So I just make that user administrator like this. So now he, called Badal, has access to all of my Amazon account. So you can operate on it. Now this is like giving the whole access to the entirety of my Amazon cloud. And that is a bad idea. You don't do that. So I'm just showing you what not to do. And so I'm going to remove this from the group because I gave it super administrator privileges and I don't want to. I want this Badal user to only do one thing. What is that thing? Take this public content, put that in the bucket. That's the absolute entirety of permission structure that I need to give. I don't need to give permissions for this Badal user to just do whatever they feel like, like create machines, delete machines and you know, destroy my other setup. I don't want that. So I need to go low and small in the permissions that I allow. So giving that Badal user permissions to like Super Duper admin, not a good idea. So what do I do? I should give them access to my S3. That's it. No storage service. That's what you will manage. Nothing more. And so I will give them only that permission and say, you know what? Here we go. So you now are a S3 manager, Badal. And so your credentials are here and you can manage S3. That's it. Now having understood that part, I will continue along here. Now I have the credentials available to me. I will proceed forward next step, which is to prepare S3CMD. This S3CMD is a tool to do this transfer that I'm talking about. This transfer like this. This transfer will use a tool called S3CMD to make it happen. It will just take this folder, put that in a bucket for you and we'll use that tool. The tool runs like this. I think it is already installed. If it is not installed, just install it again, like this one line. And you then have to configure it. That's the most important step here. Configure. You have to configure. It's not installed. You have to install it. So you have to install the S3CMD tool. Before that on Unix machines, you have to remove this Python magic because there is a GitHub issue on user Python magic is correct. You know, it doesn't pick up correct MIME type. So there is some issues. We have to remove that and then install S3CMD using this line and then configure it. In my machine, it is not Linux. So I like to install S3CMD differently. I might have it already installed, but it's just checking. I think I have it installed already, which is good. Now, when you type in S3-configure, this will actually prompt you to ask for the keys that you have. So it'll ask you for these keys, the access key and the secret key. This configuration step will actually ask you for that. And so you give it that configuration so that S3CMD can then control your S3 buckets. That's the idea. So you want to pass this public folder you have inside Octopress. You want to pass everything here, whatever you have, all of it. You want to send it to a bucket. And the tool you will use is S3CMD, but this tool needs to be given permissions. So you will give credentials, AWS. Credentials need to be given to this tool. And that is done through.-configure. That configure step will ask you for the credentials and you have to provide those credentials to the tool. And then the tool can create a bucket, delete a bucket and do all the things like copying stuff. And we will do that right now. So back here, you will configure the tool like this, and then it will walk you through steps as to what you want to do. And then it will confirm the settings. It will test the settings. It will verify that the encryption works. And I think I have not managed, not enabled encryption, so you can skip the encryption part, but test whether the keys work or not. And so it says your access keys work fine. That's what you need to be able to see. And now I will see if my keys are already configured. So I will say S3CMD, ls. And yes, my S3CMD is already configured because you can see that it is actually pulling up all my buckets, including the Badal bucket that I just created today. So it picked up. Nice. In your scenario, you have to actually configure. The configuration is important step. Don't miss that. This step is important. Having done that part, if you go forward, you can then use the S3CMD tool to operate on your cloud. And here you create a bucket. And so I'm going to create a bucket right there. It says S3CMD MB, like make a bucket MB. And there is a protocol here, S3 colon slash slash. That is important. You have to use this protocol for S3CMD to work. That's how it operates on S3CMD, operates on S3 buckets. You have to give a bucket name there. So I'm going to say S3CMD, make a bucket for me, please. And it will be called, I would like to call it this. So I'll just take that name and type it here and say, okay. And so it created a bucket for me called your bucket name here. That's the name of my bucket. Let's go see in my Amazon cloud. Do I have a bucket like that that says your bucket name here? Let's see. So we will go to Amazon and now we have a bucket called your bucket name here. And that bucket is empty, which is expected. We just created it, right? So back here, we will then remain in the Octopress folder and then make sure to match the bucket name that you chose. Like I chose your bucket name here. And then you have to remove that bucket name or modify your bucket name to match that. And then run this command. What this command does? It synchronizes this public folder and everything inside it onto your bucket. That's what we want to accomplish and make sure that the permissions ACL, access control list are public. So anybody can read them. It's going to be a public static site. So you want the permissions to be open for anybody to read. And if you remove something from your public folder, you remove them from the bucket also. That's the delete, remove section. This part delete removed. Anything you remove from the public folder, it should also be removed from your bucket. And then you take the whole line and then put it right here in this terminal, paste it and it will attempt to find the public folder. But I am already in the public folder. I need to be in the Octopress folder for it to work. So remember, you need to be in the Octopress folder like this. And then you run it. It will take all the contents of your public folder and push it over to your bucket. In my example, the bucket name is your bucket name here. So I can go back to my bucket and refresh and you will see that my public folder content show up right there. And it is still sending some and it finished. So now I have it all there. So we have the index file and JavaScript and style sheets and everything else. Beautiful. The whole thing went up. So we sent our site to the bucket. Great. And this is how it looks like after it sends. So it is sending and then it is done sending there to tell you that it did. Next step is to convert that bucket into a static site, which basically is S3CMD, WScreate, meaning create a website out of the bucket of this same. WScreate basically makes create a bucket based on the site name. So use this bucket and convert it into a static site. That's what this command will do. So we'll copy that whole thing, bring it here, clear it and run it. And it will convert that site and configure it, convert that bucket, configure it like a site. So up until now in my Amazon console, you have seen that I do not have any servers whatsoever, neither in Virginia. So you see that I don't have any servers running. There we go, nothing. And we'll go and examine that in Oregon. We have nothing. I don't have any machines at all in Amazon cloud whatsoever. Having understood that part, we will go back check in our Amazon S3 console, which is the storage location. We have the bucket called your bucket name here, bucket, that one, click. We have all the contents. We'll also examine its properties and you will see that the property has already been enabled for static website hosting. It says enable is already marked and this file index.html is going to be the index document. It has already been configured because of this command. S3CMD did it for us. If you don't have S3CMD, you can do these things manually by uploading files and do this enable button and all that. After having done this part, you just get an endpoint. And in that endpoint, you just click on that link and what do you see? That's what I mean, static serverless sites. And it operates just like a site. There is no server. So that was a quick exercise. We can very simply delete that bucket and the site dies. The cost of running that site is less than one cent per month. It's ridiculously cheap. And so that is because the S3 pricing is ridiculously cheap these days. It used to be a little bit expensive, like a cent. These days it is less than a cent. It's a really, really affordable way of running a decent site. However, there are some additional things that I would like to have you consider. And those aspects that I will be talking about next are a different type of service, again, storage-related. And that is called CloudFront here. So we discussed S3. We ran an example. Now we are changing topics a little bit, still related to storage, but CloudFront. And that is what I intend to talk about next. But before I jump into that, I would like to ask you if you have any S3 related questions or storage related questions about creating a bucket and putting an item and creating a site, if you like. So any questions on what we just did? We had Octopress. We generated a site. That site generated a public folder. This public folder has index, HTML, JavaScript, CSS, and all that good stuff. And then we used S3 CMD tool. We give this credentials for AWS. And then it was able to grab our credential, create a bucket for us, and then copy all these things here from public into the bucket. And then we also converted this bucket into a site. And then we just clicked on the link and it opened the site. As simple as that. We can reiterate the whole thing. We can generate new. So we can modify those files, that post that we created, post number one, two, three posts. We can go here and maybe edit the post or maybe generate one more post, something like here. So this is my third post. And this is going to be a fourth post. And I'll say, hello, Badal. And that post I will now create. And off it goes. Now I have the atom editor open. I will now read that blog post that I have. It is in the post location. And so here it says, hello Badal team. How are you? And save. And then close. Back here, we have to generate new code for it. So the static site has to be updated. So we are generating new code like this. So it will create new code and put that new created item in the public folder. Now we can preview it. And when we preview, we need to open up that site again locally like this and see that we have a hello Badal going. Nice. Now we have this thing running. We break it, close it, and then run that S3CMD. Send my updates from my public folder over to the bucket one more time. Here we go. So it is going to synchronize the contents of my public folder over to. And you note that this time the upload was only very small because it is sending only the changes. Like hello Badal file went along and some changes to first and second and third. There are some little bit changes, but more than that, not much information actually transmitted over. Only the changes flew. And now we can go back to that same bucket and check its properties and get the link right there and open it up here. And you see hello Badal. So you're able to modify the site very easily because October software helps you generate HTML, CSS, JavaScript. And all you're doing is essentially using S3CMD to push. So you modify and again modify and again modify. You generate and then you send and that's how you update sites very easily, very conveniently. And like Octopress, there are at least five or six different tools available and all of them are open source. And many companies actually use this as an example to create content and distribute to a large audience of users. So we have audience of users worldwide. So this is worldwide audience like all over the world and your bucket is sitting here and you want to configure a site and then give it to a worldwide audience. You can totally do that and you still manage to pay only something like this. If you have really, really large number of users, like hundreds of millions of users, this cost is going to shoot through the roof by the way. It is not going to be cheap. So, but it will work. The point is it will work. It will work slow, but it will work. And then I say a hundred million users. That is possible if Opera talks about you, people all over the US will come and visit your site and this scenario can actually handle because there is no server needed to manage. Amazon S3 will handle that. However, it will become slow and I'll tell you why and I'll tell you how to address that. And I'm slowly transitioning the topic from S3 to CloudFront. In generic terms, I'm transferring the idea of storage service to a content delivery network. That transition of idea is happening as I begin speaking. And what I'm saying is if you have a bucket that sits in, let me pull up a picture here. Hold on. I'll just identify a picture to help us discuss this easier. And so that picture is coming up. Here is the picture. Now imagine if you have a bucket in Seattle, it's like right there. And that becomes my S3 origin. That is where my content is stored. Now I have a user in Malaysia or Bangladesh and they will find that the access to the bucket sitting in Seattle is going to be a little slow because of the distance involved. It's speed of light. So they will find that the Bangladesh user is going to be suffering from a performance perspective. And so what I want to be able to say is that there has to be a method in which the performance of the users that are sitting far, far away from Seattle need to be improved. If my customers are in Bangladesh, then I need to provide them good service. And if they are all complaining all the time that your bucket is slow and all that, it's far, far away from us in Seattle. What do I do? And that's where the idea of a content delivery network comes along. Content delivery network. This content delivery network concept is available from multiple companies like Amazon, Google, you name it. And there are a hundred others. I think I know of. So you go quickly. And so here is a list of content delivery network. No, not here. Wikipedia will have it. There we go. So here you will have tons of content delivery network companies that provide you solutions. And here are some names. So some tons of names here. So all of them are CDNs. So there are notable content delivery service providers. We will take several examples, but they all operate essentially the same way. Same way. The idea essentially is you have to have a point of origin. Somewhere you begin. That's the source. That's the basic site. The origin. And then the CDN guy, content delivery network company, will take your source and make it globally available. Like this. Like this origin and this cloud front, which is the CDN. It makes the copy of the content available edge locations in Mexico, in South America, in Europe, in Singapore, in Japan, things like that. It just automatically goes without you having to do anything at a very affordable price point. The scenario goes like this. You have this static site sitting in a bucket in some storage service. I'm deliberately not saying simple storage service because it is generic. It can apply to any scenario. So you have a bucket, you have a site sitting in your bucket and it's in a simple storage service. That's my origin. This is where I originally put my site in and I would like the Bangladesh user to access this. So they will come all the way from Bangladesh to visit Seattle and then, oh too slow. So Mohammed Salam's friend who is in Bangladesh will like to actually access this site and he'll complain, let's call him Zaman is his name. I know he occasionally visits Bangladesh. So Zaman who's in Bangladesh accesses this site and he complains that it is too slow and CDN will kick in because it will detect that you, this user, are running into this too slow issue and so what CDN will do is their edge locations. They have worldwide. Most companies that provide a content delivery network will also offer you edge locations, plural. Multiple locations worldwide. Most companies have this. They give you a service and the service is primarily to make a copy of this here on demand. So the scenario is when Zaman comes from Bangladesh and tries to visit this Seattle based site, the CDN will make a copy of this site and put it in Singapore so that this Mr. Zaman can quickly pick up from Singapore and be happy the second time. First time slow and second time happy because the site is coming from Singapore, not from Seattle and so this first time slow problem is called a cash miss. It misses. It is slow. So CDN figures out oh cash miss. Let me bring the copy from origin and serve it to you here in locally closer to Bangladesh, your location, customer location, Singapore and second time not only Zaman but people in Malaysia or India. They will all be happy because the content is in Singapore not Seattle so they all will be happy suddenly because of CDN and the next subsequent accesses will be happy and these things are called cash hit. Cash miss, cash hit and this Singapore is a cash. It is cashing in Singapore. This origin source is being cached in Singapore. That's what this picture is trying to draw. In Singapore edge location if this computer belongs to Mr. Zaman in Bangladesh, he will run slow the first time but subsequently it will all come from this edge location in Singapore and he will be happy and not only he, all the people in this area will be happy because they will have to go closer to only Singapore not all the way to Seattle and that's the core scenario behind content delivery network. It reduces the burden from your main machines, your origin locations. The origin location will not even get hit when say Salam visits Bangladesh and he uses his laptop to connect to this site. The site will be rendered. He will actually attempt to go in this direction and the site will get rendered from here from Singapore because before that Mr. Zaman came along and he ran into what is known as a cash miss. The subsequent person salam visiting Bangladesh will have a cash hit and he will feel happy about it. He will think that this site is actually pretty darn fast and that is exactly how this site is configured. This that you're looking at. Let us see what this site actually does. I'll go grab the URL from here up on top like this so grab it and I'm going to go to a terminal and make the terminal big and clear it up and in that terminal I will examine big and then say you know what give me the A record for this. So I will find out that the A record for this is hmm what comes along. I thought I wanted to get an A record so I was expecting to get one IP address but that's not what I got. I received like bunch of different IP addresses one two three four five six seven eight. Eight IP addresses and the primary answer is actually this is not an A record is actually a CNAME. CNAME to what? To this random thing. What is that random thing? Let us go click copy go to a browser and paste the random thing. It brings up the same thing. So this random thing that we have the D287 whatever that thing is this one is actually the location name for the cloud front end point that this content delivery network has given me. Now let us dissect it further. I'll say dig and this time give me only the CNAME for it and so I get the answer back answer section. This blog is a CNAME alias to this longish name that I cannot even say properly. This is like Bob and this is like Robert. Bob Robert and so I cannot spell Robert very easily but I can spell Bob very easily and that's the canonical name that I put in. However this endpoint actually is a reflection of all these other point that you see when you run this entry or this entry. If you run this entry dig and that longish name you find that it actually is an A record that points to all these endpoints one two three four eight IP addresses literally there are eight edge locations. Let's see that another example dig apple.com A. How many machines are there? Three. Three machines geographically distributed are serving apple.com website. Let's see dig and then microsoft.com. There are five machines that are actually responding to Microsoft queries worldwide. Dig. There are eight machines responding to me on my site and I'm paying them how much? Not much like one said and I'm able to create a infrastructure that is comparable to big name companies with high-performing services although nobody will visit my site. That's a different story. Nobody actually visit this site. I have very few hits but that's from the point. The point is you can accomplish the scenario of having globally distributed endpoints wherever you are and your content that sits here. This is the content. This is the origin. This is the source. This is the main location if you call it whatever you call it the main place where your customers may be in Seattle and your main place happens to be in Bangladesh. In that scenario if your machine is running in Bangladesh it will be slow to people in Seattle and so you want to actually have this location fronted. Sorry let me write it again. Fronted by some service and that's what the name cloud front comes from is that it is trying to prevent and provide a front for your Bangladesh box and so you don't have to use S3 by the way. You can use a real computer and put that in Bangladesh in Dhaka and have a real machine connected in Dhaka and have some site running here and have that site globally available to worldwide audience by providing a cover of a content delivery network that will make this site globally available to all your audiences wherever they belong and they will all be happy second time. First time they will be sad and second time they will be happy. The second time business is the miss versus hit scenario. The first time this guy in Russia will have no idea where the content is. It has to go all the way to Dhaka to grab the content but this CDN will figure out like here. So if this is the Russian IP address or Russian proximity IP address then that IP address will get populated by the origin content which happens to be in the central location wherever that location is and that's the concept of a CDN essentially. To enable a cloud front distribution or a CDN distribution of any sorts the scenario is you have to have some source or some origin or some content origin content somewhere source and this does not have to be a bucket. It can be a machine. It can be anything that is on the internet and that is generically called the origin location and so you have to provide that CDN the CDN service that these providers will give you. They will ask you what is the origin and so you have to go here go to my bucket go to my site go to my box whatever you origin is. That's what you have to tell them and then give them credit card number and when you do that your site becomes globally available very nice very effectively easily done. You have to give a credit card and they will provide a service for your site to become globally available that's the idea. Now how do we do that? You go in this example that I'm talking about this fungibleclouds website. It's actually a bucket that runs Octopress right here in my Amazon account. You go to all buckets and there is the bucket and it has the same content that you're familiar with index and JavaScript and stylesheets and favicon and assets and all that except this is generated by me a while ago. It was uploaded I think in 2012 and ever since then 2013 and ever since then I haven't touched it. So it is sitting there and it has been converted into a static site like that and it is available on this link which happens to be a different link by the way this time. So let us talk about these link businesses. So we have this new link now. I think it's a good idea to take a break right now before we go into the other discussion on links and making it enable. So and I'll answer your question Paul how does the CDN determine when to retrieve new content from the source? That's a good question. I will answer it right after the break. So there's a break request. Right now the time is 6.45. Let's meet at 6.50. And now is a good time for Ramadan people to maybe eat if it is appropriate. So go check your calendar, time, sun and everything and eat something if you like. I know you're hungry probably. So it is right now 9.45 in your time zone Pacific. Oh Easter. And I think it's time to grab a quick bite if you like. Go ahead with that. East and this is Pacific. Okay. Hey, just checking if it is being recorded or not. Can you somebody check the red dot? I think it is being recorded, but I'm not sure. Yeah, it is recording. Yes, it's recording. Okay. This time. You You I Think we are back from the break So let me answer the questions that we have up until now There are two questions. One of them is how does the CDN determine when to retrieve new content? And Let's answer that question so for example if I go to dig and then I identify these endpoints and So that site that we have here Is actually a canonical name to this name and Which in turn has these multiple IP addresses Right, so the Question that you have is how does the CDN know? When to retrieve new content from source. So the answer that there are multiple ways one When the content changes the content creator Needs to tell CDN That I got new stuff That's one way to notify CDN Hey, I got new stuff. Please take this now not the old one, but new one and This concept is called Invalidation of cash The second when the content does not change No change In that scenario the user in proximity The proximity is determined by proximity is determined by DNS Which is the geographically most closed end point that you might have and it will look up Whether that content is available in the geographically closest location as you will notice the actual name of this site from the bucket perspective is line number Is line number one The Cloud front name for that is line number two The IP addresses corresponding to all the A records that it points to are lines number four through 11 And this line 13 is a name that I like to use so it is a CNAME Because I like to use a friendly name. This is like Bob as opposed to Robert. I Like to use the word Bob. So I use a CNAME which is line number 13 So a person who is geographically closest to a given endpoint from the DNS perspective will find out if there is a cash available locally if not It is a cash miss In that scenario the CDN will go grab it from the origin If the cache location locally has content Then it is going to be a cache hit So it will just serve it from the creator side This dynamic content that the sites typically have Whenever the content changes the content creator needs to somehow Tell content delivery network that I got new stuff and This idea is called invalidation of cache and let us go see you how it is done in real life So we'll go here and Go to look at an example CDN which is this one and Here I have that Particular CDN right there. So we have this name domain name Assign like let me grab that and this this origin name that I have This name that's the origin name for which I have assigned a CNAME So let me make it a little smaller So you can see and I have Two CNAME separately there. So the names are Okay, so this line This one this item is a web distribution delivered over the web It has an ID number whatever that E1Y is Then a domain name assigned by a cloud front the CDN provider is this that's what you see here in this location Oh, where is that? Yeah Hold on. Let me grab that Atom so let me go back to the Let me grab that atom. So what you see at the very top line number two is the name assigned by the CDN to my Distribution with a bunch of different A records as IP addresses assigned by the cloud front company by the CDN that maps to line number three and On that I have created an alias line number 14 So now when I want to create an invalidation, I will go to that particular cloud front Distribution click on that and try to understand its details One of the first ones you see is that it is a web distribution It is deployed And it is deployed since 2012 So last modified I have not touched it since and I have two C names One of them is blog.fungibleclouds.com And the other one is nilesh.londay.com both these are C names so the same thing The thing is this This is the thing the actual domain name is this complex sounding name And I have given it two canonical names two canonical names this As well as this Those are the two canonical names that I have given so you can actually hit any of those two names including this one if you like And if you hit that link, it will absolutely reach the same destination Same exact thing will become visible Except that this is just a C name so the nearby location Help for me will get picked up based on this domain name will hook up the nearest location It actually expands to a bunch of different Bunch of different IP addresses that are geographically closest to me will get me the answer to what I want Based on whether it is a cache hit or cache miss Now when invalidation happens When something changes you want to go back here, so the manual way of doing things is to actually look at the Old invalidations tab. So there's a tab for invalidations that you click there and here You can create an invalidation and say that all of my content Is all bad just invalidate the whole thing That's how you can tell cdn To forget your cache just take the new thing that I have You can do it that way. That's the manual way of doing it Through the invalidation screen Let me caution you that invalidation is expensive Expensive as in amazon will charge you There are other ways other ways of handling like using a versioned object And that is less expensive Compared to invalidations, but a recommended cleaning method is To actually invalidate. That's how you can tell cdn. Hey go invalidate the whole thing Then there are other other attributes here like the origin where is the actual location of the content it happens to be in the location called out here, which is a name for a bucket in s3 In us east 1 in amazon It has a custom origin id of what that name is and it is a custom origin type htp only and and it is available on port 443 for htp s And 80 for port htp traffic. So that's what we have in terms of origin location So you can access this location. It would give you the same answer Which we have here at the very top if you visit that site in a browser you open the same thing You open the same thing let's see some other aspects like behavior what should be the In terms of requests for an object how that behavior should be different I have not changed any behavior as such I am basically saying use the default policy, which is just Render whatever is being sent to you and keep that keep doing that and that's the behavior I have not modified anything else anything yet In error pages, you can specify specific custom error pages for page not found or things of that nature for various five xx responses You can put geographic restrictions for example I do not want A particular site to be visible in certain countries based on certain laws of the land So you can enable that you can edit and modify geo restrictions I do not have used any of those features, but you can remove and restrict the access Say for example certain parts in china You don't want to be exposing your detail or you know us government requires certain export control restrictions You can apply those right here You can say that you know my information cannot go to certain countries that I don't have I have trade embargo with you can disable these things right here by editing this and saying You know what you want to enable geo restriction you can say yes, and you can blacklist certain countries If you like like you can blacklist butan for example Which is a you know, you can the idea is this is a technical capability It is not a policy question. You can block any country you feel like Or remove any blockage that you might have so that's the concept behind geo restrictions It is again a technical capability. You don't have to use it But you can if the law says you have to then you will do And that's the idea behind invalidation. So that's what you quickly saw now. This is just one cdn What does the white list means? So it is the exact opposite of a blacklist which is you may want to actually limit your distribution to only certain countries So you'll say, you know, I want to go only to Afghanistan. That's it and everybody everybody else is blacklisted by design And that's what white list means So it goes only for Afghanistan. That's it And so that's the idea. Okay, so that was uh, this Uh, implementation of uh content delivery network. Let us look at another one cloudflare Which is the dns I use But by the way, I use that because it's also a cdn And it is a little bit more programmable So in addition to the dns section that you have seen before that I use there I have records the dns records that I have they also provide you with the aspect of what is known as CDN so it's a well-known cdn. So you can see that Uh, I let me show you an example of a site. So a test site that i'm building right now is here and this site Uh, actually is under test. So it is not really functional or productive yet But it is a site and i'm testing it and so this site if you go look at on my Cloudflare and i'll try to search for it in iot And so this site you will find that it points to This ip address and it is Being delivered through a cdn. So you see the arrow the orange colored cloud and arrow through it Is an indication that cdn is active Which means you can see that if you Look at this particular Site and if I manage to knock that site down You will see that cdn message will pop up saying your site is down CloudFront will say you know your site is down You can also check couple of things such as this http certificate that is available here Is actually made available through Let's see who's going to give us is given to us by cloudflare ssl So the certificate being served is actually being served from cloudflare whereas if I go back here and disable my content delivery network by allowing to go bypass it And then go refresh this page And say Okay, bring it on so it is going this time without the cdn because I disabled it right now you saw that this time And so I'm going to open a new browser and open that same site and let us check the certificate And here the certificate seems to be coming from still software I think it is there is some caching going on But if I leave it like this and tomorrow if you come back and check on the same site You will find that since this dns Sorry, this cloudflare Cdn has been disabled over time. It will show you another certificate popping up because it is going directly to the box that runs this site It's a test site, by the way, so it is purely under test nothing It's not even announced. So don't talk about it. I'm just showing you because I'm actually playing with it So don't announce it. Don't tell anybody about anything about it But this is what I'm building. So uh, it will it will come up eventually the idea is that you can enable And disable cdn by click of a button like this So I enabled cdn. So what what this does and now I now I disable cdn. What is going on under the covers? Let's see Under the covers there is some box somewhere And I can see that this is the cdn Let's see under the covers. There is some box somewhere That runs this site called iot which stands for internet of things and this site is a puny tiny little box Literally very small but I want to Cover it and make it go global Through a cdn So what I have done is using cloudflare Not cloudfront, but cloudflare It's a different company similar solution And A lot more programmable And that is one of the reasons why I chose Cloud front As my dns solution because it is actually requires you to use their dns and only then the cdn will work The amazon's cdn works without having to use their dns They also have a dns solution by the way, like here you can see it out 53 And they have a dns solution. You can create your own dns server and actually use amazon's dns server for that But they don't require you to use this this dns In order for you to use this cloud front but Cloudflare does and so These guys force you to use dns from them and only then their cdn Activates you can basically use dns and cdn together Or just dns if you like dns only Or both and and that that's that's the ease of programmability that it provides you And it also gives you a concept of Invalidations so similar concept available in this in Cloudflare based cdn similar concepts available. There are more such services such as fastly Is another example fastly is another good cdn Its pricing is a little expensive. They charge you I think 50 bucks per month per month and so that can not necessarily be Unless you have a business case to run a full-fledged cdn for a global distribution This This may actually be a very good solution. Many companies use this solution. Also, there are these customers who are using Fastly as a cdn and they have beautiful packages to help you automate Usage of cloud front or rather usage of Content delivery network through fastly and here are some of the companies that currently use Now having said this The the idea essentially in what we are trying to accomplish is to understand And by the way, there is one more question here. The question is Can we create a static site and use credit card collect credit card payments? That's the question on chat it came on on a Zoom chat as opposed to slack chat, but no worries. The question is can we run credit card transactions on a static site? answer is don't You can but don't The reason is that if you want to take credit card payment in the u.s. You have to follow certain rules You have to follow certain rules And I would rather not worry about following rules instead focus my effort in on my business See credit card processing requires you to do xyz and 100 other checklist items You don't want to be spending time in doing this stupid thing You let somebody else deal with that the The response is outsource outsource it to some company that is going to give you a ready-made software as a service solution And a well-known one that I use currently is called stripe And yes, you can use stripe software as a service on a static site. No problem And you can use it Through an outsource method like stripe brain tree There are a ton more you can basically use any sort of paypal And more recently they announced apple pay all of these guys will come And you can then deploy them on a static site and accept credit cards and you know, go on doing your business totally fine But don't try to do it yourself Doesn't make sense outsource it I would like you to focus on your business And stick to what I began this whole lesson thing here with if you remember The one thing that I begin talking about in cloud computing and you can go back and read here Stick to your core competence And remember that one line that is the essence of cloud computing essentially is that you don't want to be doing things that are not your core competence Your core competence And so your your core competence is probably running your business so you better run your business Don't worry about credit card compliance and there's a pcis dss standard For credit card payment collection. So you don't want to go that direction. You just do your business first And pay somebody some amount and let them handle transactions and you can keep doing it on a credit on your static site. No problem So don't deal with credit cards yourself unless you are going to create a new business that competes with paypal In that case, go ahead do it It is your core competence to collect credit card transactions. So do it fine but stick to your core competence for competence And that you should never forget And and i'll ask a question on this topic of core competence one one simple question, so if you are a If you're a brain surgeon brain surgeon Will you move your lawn What do you think you will do No, probably not Are you sure Well, it's a trick question so the the question is what I want if it is a saturday afternoon It is nice and sunny outside Yeah, let me do let me do if i'm a brain surgeon but i'm not Not operate hard if i'm a brain surgeon, but i'm not good at doing hard right nice and sunny not hot sunny nice and sunny So the weather is really nice and you have nothing else to do you have the lawn that needs to be taken care of And so that time may be the case you might want to do it because you have no operations to perform You are home. You have a lawnmower going and you can probably do it yourself So any other case It is important for you to stick to your core competence, which is brain surgery you do that thing and let your neighbor's teenager Handle it to pay the person 50 dollars or something and have the neighbor's teenager do it for you because He's a teenager. He might be able to do the job better than you and that's the core scenario of You know every business so you you focus on selling widgets And so you don't want to be in the business of cooling your machines and providing electricity and fixing hard disk And you know managing a data center don't do that you sell widgets and make money And let people like microsoft People like microsoft microsoft amazon these guys let them deal with this they know how to do it That's what their core competence is. So let them handle with it You sell widgets make money Outsource Outsource to these guys let them handle the cloud They will give you a data center as you know You can click a button and get a data center for like, you know a few clicks you've done it already click here and get a vpc There we go And then you can carve out any big or any small infrastructure you like as big as small as you want Right there in your vpc simple, you know this already But do you want to put up a building and have you know? Equipment and infrastructure and all that and you want to deal with it yourself. I don't think so I would rather have you sell widgets Because that is your business And so brain surgeons go do brain surgery. Don't hold on Unless you really want to and it's nice and sunny outside and that's that's okay, but that's the corner case So sticking to core competence is the idea and you know credit card processing possible technically yes Do you want to do it yourself? I don't think so Because you are probably not in the business of collecting credit card transactions So outsource it like stripe and so here you go go to stripe.com Go to stripe.com pay them three percent you're done And it is simple You basically go here and You see that in in In cloud genius site, you can actually buy a course Let me log out to show you or rather Let me log out like this and show you that you can click a button to buy the course like here click And here we go, you can put a name email address and am I processing the credit card transaction myself? No I don't want to I have outsourced this activity this particular transaction to a company called stripe These guys do it so I don't have to And that's the that's the core idea Stick to your core competence. Okay, let's keep going So we discussed a couple of things Which is Your Now content delivery network idea, right? We discussed this in a very generic sense I would like you to create a static site or some other site doesn't have to be static but some origin And put a cover of some kind of a content delivery network on top That will give you a good experience on Using cdn So this is what I would like you to do from an actual action perspective Is to create some origin and there are exercises available in the in the In the site somewhere here. I'll give you Give you so there is probably a Okay, cdn exercise is not listed so uh the the idea behind using cdn My my goal with you is to make sure that you really understand this concept of content delivery network the concept of an origin And making sure that you use some sort of a service like this to make your content globally available And to trivialize this exercise You can basically take a simple simple origin like a button Put an index html there and call it your origin And then you have a site The next logical step is to put a wrapper of content delivery network on top And then use this link What does that boil down to? It means that you have line number one which is your origin line number three Is your cdn Line number 14 is optional This Is a nicety It's a nice thing to have It's a nice thing to have It's a nice thing to have Nicety it's a nice thing to have like bob as opposed to robert So it's very difficult to pronounce robert and spell it so I don't use I don't use robert I just go bob and so this line number 14 is in nicety Because I cannot say the line number three very easily But the exercise I would like you to do is to construct a static site as simple as an index file Create a line number one to get you a perspective of how the site actually works and throw a cover of cdn on top Like line number three And that becomes globally available You can test it with dig Like I just showed you Dig And that's how you should be able to tell That this Line number three is actually Fronting Line number one Line number one And you can test that in this example In amazon Go to cloud front and test it And create your own distribution like this Create a distribution It's getting started Give it the name of your origin If you happen to have a bucket the bucket name will pop up right there And then You basically are done So you just create a distribution That's all it takes That's it Everything else Like putting a canonical name Friendly name Choosing an SSL certificate These are all optional things You can choose a custom certificate like I have here But don't have to These are subsequent niceties you can keep on adding The point That I want to drive is I would like you to actually create a cdn distribution Like I'm describing And so please do that on your own If you run into issues difficulties chat with me Having said Let us now walk through couple other things here in our Amazon console To give you a perspective on What we just have Covered up until now before we change topics again In the amazon cloud we discussed Compute services that you know We discussed EC2 we have not actually Used EC2 container service But that is something that I would like to Discuss at an appropriate Time when we discuss containers and Docker and things of that nature We briefly mentioned lambda which is Serverless computing So you just give code in a bucket And it runs the code for you In response to events We also discussed S3 as a place To store stuff Literally anything files, pictures, video, music Whatever you have, objects Put that in a bucket And then you don't have to worry about managing them Because the service is Managing it The scenario that I mentioned was this scenario Where you have these machines That I keep talking about They are not worried about managing your content Because the content actually sits here in some storage Service In the bucket You probably recall That I also mentioned Google Cloud Google.com They have a very very similar concept You just go to the console And in there You will find The dashboard where you will find Storage Somewhere here, storage And then you Basically create a bucket And then Create, so give it a name And create And there we go So we have a bucket now And there is our bucket Called Whatever this name was And in that bucket you upload Files, you upload folders Or do whatever you feel like And the same concept is available in any cloud That provides a storage service So this idea that we are Discussing essentially is common to Clouds, all these clouds S3, storage service This is a branded name Simple storage service But the concept of storage service is Common to every cloud So I'm going to delete this bucket because I don't need it Bucket by itself doesn't cost you money By the way, it's just a clean up exercise I just did Buckets themselves do not cost you Items stored inside a bucket Yes, that is not free But it is really ridiculously cheap You can examine S3 pricing Or Google storage pricing And you will find it is Amazingly affordable I think You have to read the pricing detail But it is really, really, really Low, so if you can go look at My account for my bill You will find the actual price I pay for My storage, and I I store stuff, but my Storage cost S3 cost is Zero this month And that is crazy Cannot be zero Let us see some Payment history This is because I don't use this cloud much So the cost apparently is zero It seems, but I have seen 1 cent, 2 cent billing coming up from them So it is very affordable, that's what I'm saying Now, the next Ideas that we have here Which is this concept of a Elastic file system, which by the way Is showing as preview, so some of you may not Have access to it This is a new offering coming up And we will talk more about what This means from a usage Perspective But, in fact Let me just in a few Examples, I will illustrate what that Means Elastic file system is a fully Managed file system for EC2 What does that boil down to It means Like, for example In every machine That you have in your Cloud here Like you have these boxes, one, two, three Each of these boxes will have a Local file system Like the Slash usr, slash Whatever, or slash home Or Or in windows land Or in PC drive That file system that you access In unix or linux Or windows, is available to each one Of these boxes And that is the local file System What Amazon is creating Is in form of elastic file system Service, is that they will have A common, shared File system Available to all these guys All these guys Are stored locally on these boxes It is stored on a File system Separately somewhere Think of it as a network file system Think of it as an elastic file system For the branded name Or think of it as A place to save file Read from it Without worrying about Storing it here You don't store it on these Boxes, it is stored Separately outside, but easily Accessible to the application itself The application can then Read and write Conceptually similar to what you are doing with S3 and a picture that you want to put TFE1, when this guy put a picture Up, and it went to this box And the box then said, you know what, put it here Similar To that, is this concept of EFS Where your boxes can then Very easily Access a common Shared elastic File system that is Able to access Able to be accessed from this box, this box And if you happen to add More boxes If you add more boxes like these All these boxes can also Automatically get access to the same File system that you have here It just expands and Becomes available to everybody that is running On the same application They will all be able to access The same file system That's what this idea is Except that this Elastic file system, you don't have to Manage, because it is a service So it is File storage for use With your EC2 instances So you create a file system You select VPC And you select the availability zone And you next, next, next And you have a file system, that's it Then you can mount that file system onto your Machines and your applications Can then read and write To the file system, read, write And that's a new service Coming out in preview From Amazon And some of you may not have access to it, I'm afraid So that is this scenario This So if it is If you put it In VPC Level, then it is going to reflect Rest of the Servers also, right? I did not understand your question Like, VPC is all the way Tier, all the way top, right? You mean VPC? And what was the question? The question is, in order to create The file system, so you Put the VPC Level of instance, right? VPC Correct, it is at a VPC level When you create a file system, click You have to select a VPC Like, what do we get From the VPC in order to put That piece of information The file system gets created in that VPC So the VPC you have Oh, okay, okay, I got you, okay So then it's going to go all the way top Whatever the file you put in Yes, so you have machine here, machine here You can access it Yeah, got it That's what's going on here, you get a choice Of two VPCs because that's what you have Right? Yeah, yeah So do you need a separate file system for each Machine? No, that's the idea Is that you don't need a separate file system It's a shared file system And thereby You don't have to worry about maintaining Managing it, it just saves the files For you, gives it away to other machines And it is probably Based on this product This product is an open source product Called Gluster And this You essentially Create a scalable network file system And this is open source So this is another one, similar product So this is a product This is a service So the difference between a product And a service Has to be clearly understood I typically bring up Things like this You cannot buy this It doesn't sell It is yours Even it is installable from open source You can go to quick start guide And get a Ubuntu cluster PPA and boom boom It installs It is a software You can install it Any number of times and it is available On CentOS, Fedora, Red Hat, Ubuntu And all that This is a Product Open source This Elastic file system Is a service So you don't have to install it You just click And click And done One more step and done And so your next step and then you review And then you create, that's it You don't have to set up anything You don't have to configure anything They give you a ready made shared file system As a service As a service So it is file system as a service For example, so that idea Elastic file system Is a file system as a service FSAAS If you will And that's what this thing is Whereas this Is a piece of software That you have to install it yourself On all the boxes and then it will automatically Form A scalable Network file system For all your machines And like Paul is asking a question In chat, the question Paul has Is do you need a separate file system for each machine The answer is If you are installing GlusterFS, yes You need to install GlusterFS on every Machine If you are using this service Elastic file system You don't have to They will do it for you They will do it for you, as simple as that It's a service So they just do the work You pay them money And possibly Very likely they are using this thing Called Gluster And Gluster is Beautiful I have used it It's very simple to install Pretty much one liner and then some configuration And then you have a You have a Network file system on all your machines And they all participate And share in a storage space And it's free And it is open source So one more thing I would like to say about Free Free does not mean Zero dollars No That is not what free means In a certain level You have to get free In a certain level you have to get Free and then you have to pay It is going to be zero dollars All along, yes It is going to be zero dollars but that is Not the meaning Of free The meaning of free is Not this The meaning is this It is going to be zero dollars Yes, no problem It is going to be free as in Zero dollars, correct But that is not the meaning When I say free I don't mean Just zero dollars I mean libre I mean Freedom I mean freedom to do What you want Freedom to change, freedom to use Freedom to give Freedom to modify Freedom to take, freedom to not Take, all of that And that is what open source Is about It is not just about Zero dollars It is about Libre, so look up this word It's a Spanish word or maybe I don't know which Country's word, which language is But that's the meaning of the word libre Is liberty, is freedom And that is what I mean by free So when I say something is free That's what I mean Freedom, libre, liberty And that Is what these guys also mean When they say it is free They don't mean it is zero dollars I mean it is going to be zero dollars Yes, but it is beyond zero dollars To say that you have the freedom to modify it And give it to other people if you like That's what free means And that is what open source is all about Is that you have The freedom to do whatever You want And so that also Translates to some companies like this Taking that cluster and creating a service And selling it And that is how most modern Open source based companies are Creating business like here Red Hat is a Famous example of Linux And it's a multi-billion dollar company Now, but what they have is a Product is open source Libre is French, okay Thank you, so libre is French So the idea Behind Red Hat is a successful Profitable enterprise That Provides what? No software But services Using their software They basically are a service based company That happens to be in the open Source domain that creates An open source product for everybody To use and yes you can use Red Hat Linux or its variations And same with Another company, Chef That we will be covering up pretty soon This company chef.io Has a product called Chef Here But that is not the product I will be using I will be using the open source version This one Same thing With Ansible This company Ansible Got recently acquired by Red Hat And they have a product called Ansible Which is an open source product But I will not be using This product, I will be using the GitHub version of Ansible Which is the open source version Of the same thing And this is the product that we Will be using Same thing again here, Docker It's a company It's a big company now But they have a product called Docker Which is available on GitHub in open source And we will be using that And your machine, the virtual machine you have Is already installed With Docker This one And that already has All the software that I am talking about Is already installed on your machine By the way We will use tons and tons of open source The benefit of using open source Is that you can create something out of it For yourself and even sell it for money As long as the open source license Which most open source licenses support that So just check with your license And then create services, that's what Amazon does In fact if you go look at here All these services that you see here Almost all of them Are some variation of some Open source product out there Beginning with EC2 It is built on Zen Open source project The Zen project That's what the underlying hypervisor Technology is And yes they have modified a ton And improved it for the last several years More than eight years now But this is the underlying thing That goes and that's how EC2 Is built on top of EC2 container service Is built on Docker The same thing that I just mentioned a few minutes ago Elastic Beanstalk Is some customization on how You create a platform As a service And here what you do You select the language you like Like Node or PHP or Python Or Ruby or whatever language, like Java for example Click And then you launch it That's all it takes Like launch, when I launch I get a Beanstalk platform And then I can push My application So it's a three step process Select a platform Upload the application And run it, that's it And you're done You don't have to worry about machine Or anything like that or growing or scaling Or scaling down, nothing else, none of that All of that that I'm talking about here Forget all that You just ignore You just worry about your application and you give it to them They will run it for you They will scale it out, scale it back in and all that Good stuff And you focus on writing your PHP program Ruby program, Windows programs Stormcat program Node program, Python program and more You write the code They run it for you And this is a perpetually running program So it just sticks As opposed to The next one which is Lambda Which runs code in Response to events or something happens For example There's a good example of that IFTTT One of our Participants in this In this class Is an expert in that On Internet of Things Svee Rao that you have here I think he's still online or maybe not So Svee is An expert in Internet of Things That's what he's doing, a startup In California I understand And so the idea behind IoT and IFTTT Essentially is The scenario that we have here Is if Something happens then you have something Else happen, for example If the Temperature of my home Goes up a little It might Make my air conditioner Start automatically If the temperature of my Home gets too cold It might actually heat up And these things are happening In response to events So when you enter a Specific area, set your Nest thermostat to And bingo We can go to nest.com And Login And then adjust The temperature Of my home manually Or have it done In response to an event, such as I can mark myself available So I can just change it, make it home And then if the temperature is Different than 74 Maybe it is getting too hot I can reduce and start cooling it So the cooling started Now this might actually happen based on In response to an event So the event happened was that outside temperature is too hot So I started cooling it And that can happen based on What you program in terms of An event, the event based programming So that's one scenario I'm trying to illustrate The idea would be that something Happens and you want to run some code So you go write that code in lambda In response to an event So you have temperature going up You want to write some code to do something else In response to that That might happen So imagine another scenario I am in like say Michigan It is really snowing there And I Want to now Approach my car which is parked outside But then it is too cold And my calendar says that I need to now Go and drive to another meeting So what I can do is Have the program look at my calendar Identify the meeting location And heat up my car Already Ahead of time So as soon as I get out of my meeting And go to my car, the car is warm enough So I can just Comfortably go and drive That was another event After that I can write code like this That looks at my calendar Finds out my meeting location for the next meeting It happens to be away from this building Then I know that the temperature is too cold It is snowing outside and my car is all frozen up I need to warm up my car I can do that totally Remotely by programming My car To heat it up ahead of time Just in time without wasting energy So that When I actually walk up to the car The car is warm enough and I can drive comfortably That's another scenario And you can come up with these kind of scenarios Creatively You can think of Business cases, use cases Where you can come up with these kind of scenarios And the site that I am talking about Let me just shut this thermostat off For no reason And the site I was talking about was IFTTT, which is a good service by the way To run If this Then that Scenario So the answer, the word IFTTT Basically is If this, then that That's what it basically means So you sign up and you Be doing other things Such as, you know If you are in the area of say A shopping store And you know that you have a shopping list It will prompt you To go to that location and buy milk From Safeway Or Kroger or whatever you have in your Location So you can be productive and events that happen Can actually prompt you Provided you program them And have those respond To you in an intelligent manner And create new services Based on things That will respond to events that are happening You need to capture the event And trigger some code in response To that event And those, you don't have to Run a server All the time The scenario behind Lambda is that you Don't have to keep that machine running All the time, 24 hours Not needed Not needed Instead, you just use Lambda This is the sign for Lambda Lambda Is to just Invoke the code Only when needed In response to an event So event happens, you run this code The code finishes up And it just shuts down It will do the processing It will get, do whatever it wants It will send whatever it wants Maybe get a file from some storage service Put a response back in some other Storage service or some other location And database, whatever you might have That runs separately from this Lambda By the way, but that code will do What you want to do in response to an event And then shut itself down, it doesn't need to Run 24 hours And then you don't even Have to have a server running Because Lambda is a service So you don't have to Run code in a server So that's This Lambda In S3, we discussed this, it's a very simple Concept of storing items in a bucket Away from you, not on the main Machines, so that other machines can Also access, and you decide Who can access what, when, how Cloud front Is a layer on top Of some origin, whether it is A S3 bucket, whether it is Another server, that becomes the origin And you provide a contiguous Network on top And that's the file system Is basically a file system, but That is shared among machines Inside your virtual private cloud And elastic file system Is implemented through Gluster Gluster FS Next one is an interesting Idea That is called Archival And so you may have heard of this Thing called storage On Tape Some of you probably have seen Tapes, others may not The scenario of tape Is it's long term Archival You want to store something for 40 years down the road, you will put it on Tape and just put it somewhere In some archival room And then it just Stays there for you, until you ask For it, and when you do You have to actually go and fetch it Fetch the right tape, mount it back Read from the tape, and then that's how you get it How many of you have seen Tapes, or tape drives Or used tapes ever? I saw Okay So A scenario very similar to tape Is this thing called Glacier So in Glacier, you put an object And you can retrieve From it At some point In glacier If you have an item you want to send To glacier, think of it as a large Storage area, like tape Sending there Is very It's actually free I think Zero dollars Retrieving from it Is expensive And that's the craziness But that's the pricing model that they have It's not very expensive But it's expensive, maybe I should Delete one of these Yes, sending data No problem Retrieving data, you have to pay for it It's like you go into an island And the Island waters are all infested with You know, alligators and Tropodiles So going there is free It's like that Conceptually Coming back is not free, and the only way you can come back is To pay The boat operator And not only that You have to wait You look up the pricing I'll find out the pricing Never mind, I'm just saying Paying the price for going into the water But not only the price, you have to wait 3 hours For the data To come back Oh I see It's like a Library archival kind of thing, right? Yep So This is not really online Storage No It is near Line It takes 3 hours To get the data back It is not online, you can go there You cannot go there like an HTTP request And grab it You have to run a specific piece of code To grab that Archival request started And then when the request finishes Then you can download the data But It is near line storage It is not online Storage And so Google came out with A similar solution They call it Near line storage And in fact, let's go to the right Location, near line storage Is this link So near line storage, Google Solution is pretty darn Nice In that They take not 3 hours But 3 seconds To get you the data And that's what they call near line The storage costs Are like less than 1 cent per gigabyte per month And The retrieval Times Time to retrieve first byte Is 3 seconds in near line In Google's product Whereas in Amazon's product I think it is 3 hours And so that's the scenario That you can see in this chart In online storage, it's like storage Service, or simple storage service Or Google storage service The price can be 2 cents, 3 cents per gigabyte Per month And this chart I think is old The pricing has gone even further Down All of these prices, all across the board They have gone down Like it traditionally happens But relatively the Prices are similar In that Google's near line product Is as affordable as the Amazon's Glacier product But the time to retrieve is long Is what I understand, maybe they have Improved it So Glacier Time to first For first Byte Okay Let's see Glacier's request FAQ, getting started Data retrieval Yeah, 3 to 5 hours So retrieval jobs typically Complete within 3 to 5 hours That's the response from FAQ You can see that from Glacier And in case of Amazon, sorry, in case of Google You saw that near line claim is 3 seconds Which is pretty darn fast 3 second average response time 1 cent per GB per month pricing And that is The near line storage That Google offers It's a very competitive offer For very large scale Storage of Near line, not offline Not online, near line It is called near line because it is not really Online, but not Really offline either So it's near line That's the nomenclature that they use The pricing you can look up And similar to these guys, there is a Microsoft solution also The concept essentially here is That you get to archive your data And Don't have to worry about managing tapes Under the hood, I understand These guys, at least Amazon Uses older Computers that they may have from Amazon.com or older IWS services Or sometimes I also hear That they are using Optical disk drives To store We don't exactly know, they don't tell us exactly What they implement this with But I suspect it is not The high performing SSD that they would use They would use some cheap Storage that they might already have like Rotating disks or optical disks And create archival for you Somewhere out there in older Hardware that may have been Relicated away from mainstream Usage Then they have This service, this is just a service It's called Snowball They used to have a different name for it It's a new name But it's a very interesting name So let me ask you this question about Snowball, which is Today The fastest internet you can get And I have 4 terabyte HDD 50 of them 4 terabyte HDDs 50 hard disks That was Data I have And I want to transmit that over the internet From Seattle To New York From here to here I want to send this data What is the fastest Method Airplane takes 5 hours No, I'm just joking that airplane Will take 5 hours to fly You're absolutely right sir You're absolutely correct The answer is don't use internet Use a Boeing plane Yeah, you're absolutely right Use a Boeing FedEx And that is the fastest way to transport 50 hard disks From Seattle to New York Even today On the internet The fastest internet pipe you can get Is not possible to Transmit this data on An internet line And Also it is going to be very expensive To transport that much data On the internet at a very high rate It's going to be very very expensive Compared to Sending 50 Hard disks in a FedEx box From Seattle to New York It's much cheaper And that is Exactly what this thing is Snowball It's a service It Helps accelerate moving large amounts Of data in and out of AWS What does that do So you get started You want to import into S3 Send us your data You create a job Basically There are various methods of connecting to it But They're basically Saying we'll use UPS See that AWS will Ship you a snowball for your job Through UPS You connect the snowball Which is basically a hard disk And you copy The data to snowball and send it back No packaging Required And after the AWS gets the snowball Your data will be moved to S3 So they basically send you a hard disk You copy the data You send it back Done UPS, not FedEx Fine, the same thing That's what this service is Which is kind of funny It's just that I won't send my HD hard drive disk to Amazon Snowball I just import it Which will take couple hours or days To take care of Doing all the shipping I think several years ago They used to actually accept customer hard disks These days They have come up with a Custom snowball device They will ship you A snowball So it is like a protected hard disk That you cannot break That's what a snowball is Oh It's connecting that machine The drive to your machine Exactly, they will give you a hard disk They call it a snowball You connect the hard disk To your local network You copy it Copy all the data Locally It's possible to do it very fast You copy the whole data to your snowball And then ship it back to them You don't even have to pack it Because it is actually disaster proof That the hard disk that they provide To your snowball Is disaster proof Let us go look at AWS Snowball picture Right Somebody must have Posted a picture by now Images So this is how it looks like Wow I think we are drones I don't know if drone or not You see that? There is a label, the UBS label It is a ruggedized case There is a shipping label Which is E Ink It's like a Kindle device It just shows you the label It has 50 terabytes of storage Rain and dust resistant Tamper resistant All data is encrypted That's what a snowball is It's a hard disk So that's what you looked at And that is what This snowball service is It's basically a UBS based service For shipping data Large scale data transport They come up with fancy names for UBS Snowball Then you have storage gateway So the scenario here Is that you connect Your local computer That you might have in your company But you use this storage gateway To preserve images of your Hard disks away from you So you activate a storage gateway And It gives you on-premise Virtual appliances So it basically gives you Local storage But actually the storage is sitting away In the cloud So that's another service that they have From a storage perspective Next is the idea of databases That we discussed briefly Already But there are these variety of different Types of databases And then there is DMS Which is a migration service So if you have a database in your company You want to migrate it to Amazon They'll help you do that through DMS It's a service for migrating your data From your database to their DB They will run DB in Three or four different types RDS I know some of you here in this group Are RDS specialists You know how Oracle works So you are experts You probably know way better than anybody else You do it every day You run Oracle database And that is in RDDMS And so similar to Oracle There are tons of other open source Databases like MySQL Postgres SQL And you name it And then there are MariaDB Also open source We have Commercial products Such as Oracle Microsoft SQL And a couple more There are more commercial products Available in this domain They are all relational databases And the unique Difference between Postgres is not only A RDDMS But it's also A NoSQL database It's a dual Purpose database This is a new feature set So it is not only RDDMS But also does this Are you guys familiar with this NoSQL concept? Or you may have heard of it As Mongo So Amazon, the example they have Is called Dynamo So are you familiar With this construct of NoSQL Or not much? I know most of you Probably understand RDDMS Very well Or are you clear with this idea? No So let me give you a story The story is Like this Here And I have a farmhouse here This is my farmhouse And this is my Apartment It's a very small one This is a very Large farm And these are the two places I live. There is a kitchen here And there is a Kitchen here too And the scenario is That you Are a chef Not the chef.io chef But just a cook chef Your real export And so I invite you Please come to my home and help me cook Pig And I invite you To my home here and ask you to cook Pig Now the options are very limited In cooking a pig Here But the options are totally Wide open You can do a full roast You cannot possibly do a full Roast in my kitchen which is a small Apartment in Seattle You cannot even find a full pig Forget about full roast. You cannot find a Full pig in Seattle It's probably not allowed And so the scenario Forget pig. You can get cow It's not about the animal type But in any animal You have. You can get a full Full roasted cow if you like But the scenario is there are limitations To what you can do In a small area You can only Chop off This is the animal. So for example this is the head And this is the tail And so you can basically chop off the animal You get interesting parts So you call this part A, part B And throw away this part. We don't care And the head is kind of useless And so you have this Limitation of keeping These boxes, these items In strictly Known bins In simple RDBMS language I call them tables You can store Very structured, designed Items in bins Or data in tables Structured data You have. So give me some body Parts of animal I'm not a big meat eater so I don't know. Give me some names of these A and B What do you have? So A B. Give me some body part names that you eat That you can buy in safe Way I don't eat any body part I know. Most of you know some of us are vegetarian Here but that's okay. The idea is I'm just trying to remember Ribs And Some other body part. Let's say leg So two parts are edible Leg pieces and rib. Fine You can get the rib part Put that in a nice looking bin You can get the leg part And put that in another nice looking bin But you have to discard the tail And the head and all that. So that is Discarded Now Another example And I'll come back to this example just a minute You have This concept of storing User information So you have a user's first name Last name Address Address street name And then city State And zip code And that's the information That you have. So you come up with a Very structured Field of You know 5 plus 4 And 2 and city It's a string Like that. You come up with a Excuse me. Disciplined way of Putting that data in a table We'll call this address Entry Right. Now that Happens so that you know let's say Srinivas Sama So we have Srinivas here Sama Here and his address And his city and all that good stuff You fill it up. But turns out That Srinivas is actually a very good singer And he's a poet And he writes Beautiful poems Now that information about this Is discarded Because you don't Have a place to store it Because the schema doesn't allow Schema does not Allow this Home. You cannot store it He has written like 1032 Poems. Where will You store them? There is no room for It. The schema doesn't Allow That. And that Is discarded as a consequence Which is a bad thing. You don't want to Necessarily discard Some cases it is important And ignore. You just have to delete that But in other cases like in the Example of this pig And you talk about Snohomish And you have a pig there And you go to Snohomish And you have the farm. You have a large kitchen there You can actually make a full Roast Discard any part of the pig Or any part of the cow You get the opportunity And the creativity to store Everything that you want You are not discarding anything Just because it doesn't fit the schema And that is a unique distinction between R, D, B, M, S And Nosiko This means that you Schema Is not really required Not required At the time Of entry Or writing To the database That's the unique difference It is not required. Schema Is not required At the time of entry Or at the time of writing to DB You don't need to have a schema Just shut up and write the whole thing That's what Nosiko means It does not Mean that you don't have to have A schema It means it is not required At the time of writing Schema is required Later That's the fundamental difference Between these two Whereas in R, D, B, M, S You have to have a schema first And then based on the schema You have a table and so if it fits the schema You have it in the table and then you are golden Everything else that does not fit the bin Like the pig here If there is a bin for the rib You put that rib in the rib bin And the rib bin for the leg You put that leg in the leg bin And then everything else Is distorted, is thrown away Schema Schema is required To begin with in R, D, B, M, S In Nosiko You don't have to have it You will have it When you read So schema On read And this is schema On write Or entry First entry And that's the fundamental difference In schema on write and schema on read Now there are certain Tradeoffs Plus and minus give and take That goes on in every scenario But the bottom line is When you have a schema on read And don't require a schema On writing at the time of entry The bottom line Essentially means You do not discard any Piece of information It means your 1032 poems that Srinivas has written Will all be safely saved Inside your Inside your NoSQL database Along with the address information And the zip code and all that So you got name Last name, first name, address State, zip code Plus 1032 Poems Bring them on and write it Just shut up and write please That's the idea And you write that In form of JSON JavaScript object notation Not in form of a table There is no table There is no table at all You write In form of JSON And when you want to read You just read the JSON And We'll come up with We'll use JSON pretty much soon It's very simple To represent data in form of Structured syntax that you will see If you are not familiar with JSON Just read about it There is a key operative difference Between these two things And by the way this Postgres SQL that I was talking about It does both So you have both capabilities and that's a Relatively new feature that they have added This BG itself is like a 30 year old Database, it's very nice Very highly developed Probably one of the best databases you can think of From a Usage perspective and long term stability Features that you will find in Oracle You have it in PG No doubt about that And it is very Mature but they are also expanded To cover the other types of data structures Which are No SQL No SQL does not mean No It means Not only SQL So yes you can store SQL related structures but it is not Only SQL, you can do more That's how they have created The acronym, it doesn't mean No as in negative No It means not only And that is the service That you see here Dynamo And The open source product Very well known Is Mongo And so this Is a Commercial product I think we are looking at Let's go find out it's open source version And that is this Open source solution is Downloadable from here So you can download MongoDB From multiple locations From Windows, Linux, Mac, Solaris And that's the distribution you can Available, you can download For any of the operating systems you like And Use it And it's all open source and free But that's the product part There are services like MLab like I mentioned The last time Which is providing you MongoDB as a service And that is not Free MongoDB itself is free The service is not free Because they are doing the work for you so you pay them money and use it And very similar to that Is this DynamoDB but remember it is not Mongo, it is different database, slight Differences And you just have to understand if you are using DynamoDB assuming it is Mongo It is not It is not exactly Mongo, it is somewhat similar to Mongo Whether you want to actually use it Or not It's a service so you basically click here And it is available to you Right there So create a table, boom And you get a ready made place to store your Dynamo Objects Back in Our service Listing Elastic Cache is like in memory databases Using The solution For caching in memory For your applications Redshift is a large scale Enterprise database house solution So you will have A method where you can Create your end corporate data Into a Redshift location Which Amazon will manage for you And that's another service offering And some companies Prefer to keep it locally Other companies want to take the petabyte level Data, petabyte level storage It's a data warehouse solution That they want to go completely to the cloud So they don't have to manage their data center locally That is a good Solution, there are other solutions like this Available from other companies So if you are going that route of taking your Data warehouse away To a cloud, consider Variety of solution sets And then this last item In database section is Helping you migrate So you have a database It will migrate it for you And You need to have So there is a custom Action you need to create Basically to create a database migration Service, you need a replication instance Which will be used to run your Migration tasks, so the dv migrations That you know of Are supported through this service And You can create a task and follow along So it's another service to help you With database migrations if you like And with that Let us pause for now And I would like to say a couple of things Like for example I would like you to do certain Exercises, because that's what I would like to do, there is not Enough time to actually go through a ton Of exercises we have here But I would like you to do them on Your own, so in the Next time what I would like to do is two things And those are The Heroku exercise Which is also listed Somewhere here I think you should do that Heroku exercise on your own Honestly this is a very simple Exercise that starts Here And it does not cost you A thing, it is going to be free But it Needs to be done Because it gives you an understanding of what Platform as a service Is from the Perspective of this company Heroku And they don't charge you money They have a free Offer that is perpetually Free, but these days there Are limitations to it The limitations are that it will Run your machine only 18 hours Out of 24 And they will sleep for 6 hours And that Should be okay If you are testing it out or learning Or developing something Let the machine sleep for 6 hours And it is going to be free $0 And so that's the scenario of usage Of Heroku And that is an exercise Available for you to try out In this location Begins from the link that I just Placed in Slack chat This is OpenShift And for those of you Who want to understand Comparison between this service versus that service You should play with these things But I expect you to complete This exercise which begins with Module number 15 Which is apparently A very long exercise Like it goes on and on and on Like unit number 1 and all the way through How many units? 29 Sounds daunting but let me tell you It is trivially simple There are literally 29 steps But they are very easy for you to do And it is written down very nicely So I would like you to do it on your own It will probably take less than 1 hour It might sound daunting to you but it is not It is absolutely One of the easiest exercises If you follow along and do it precisely So create a Heroku account And just follow along 29 steps And I bet you will finish it In 1 hour or less This will give you A good perspective on what A platform as a Service does And then next time We want to actually Create our own platform as a service Our own platform As a service If you feel comfortable Doing that and that one Our own platform running on our own Infrastructure as a service That exercise is also written down And it is available Here, module number 17 And that is only 1 unit and only apparently 1 page but that thing Is daunting, let me caution You It is intense You probably cannot do it on Your own without my help Unless you are super familiar with DNS And you have done some Cloud Foundry Work yourself Like some of you may have, I don't know But I doubt That you can actually finish this on your own So I'd rather walk you through this And I will And it will get you multiple locations Because there are too many critical things Such as setting DNS From a Wildcard perspective To a third party DNS service And then at the end You will create your own platform And so Here And you will scale and then you will eventually Destroy your platform And so you will do these things But with me, don't attempt this Attempt the Heroku yourself, you should be able to do that comfortably Now if you do not feel Comfortable with Heroku Itself, I will have to Actually take a step back and Not do the Platform as a service exercise Like our own platform Deis.io Platform, that platform we have Open source I may have to do this In a separate session after But maybe the next time if you feel Comfortable with the Heroku part I will do this If you do not feel comfortable with the Heroku With yourself, I will have to do this Separately on another day But not the next day The reason is I would like you to have a Good understanding of platform as a service Which I suspect you can get from The Heroku exercise And if you do it on your own without Any problems, or even if you get problems You get my help But if you feel comfortable with this I will do this exercise next time Otherwise we will do this one at another day Some other time, or maybe an extra Session, something like that, we will figure it out But I would like you To do this also, this is non-trivial And it is super important Because that's a direction that at least Boeing is heading, Boeing is running Cloud Foundry As a Platform as a service On your own Infrastructure as a service that you have Internally And so you need to understand what these things Are if you are working in that direction So I will do an extra session just on this If we do not finish The Heroku parts the next Time we meet I think we have already gone ahead a little bit But I'm sorry for taking a little bit more time Let us meet again The next day is When is the next day? Monday Okay, any questions at this moment? No questions? Okay There is a hand up So Mohamed Salam has a hand up Do you have any question? No Nilesh I'm good for now So in short summary Please do the Heroku exercise If you run into issue We will do it again When we meet on Monday Before that you are welcome to connect with me I am online Saturday afternoon And beyond Saturday morning I will be out Okay Sounds good Thank you You are welcome sir Thank you Thank you everyone Thank you