Hello guys, today's topic is tools for deployment. So before starting today’s topic as we did revision of version control tools and automation tools we are going to do the same for deployment. so first we will understand what deployment is? Deployment means as soon as our coding is completed we build it and the package which we get after building or the program so the process sending that program to client is known as deployment, so in deployment we have to send our package to client so this whole work has been evolved from time to time.
To start from starting earlier we had CDs but we did not have internet, so that time how did we deploy our software or release our software, so that time we burned our software in CD and then we gave that CD to our client after that as internet was introduced we started mailing it okay, so as our software became ready and we got request from client we used to mail that software to our client okay and after that websites were introduced so what happened due to that? Many companies start uploading their software on their websites now, after website we have stores now as for Microsoft in windows we have store known as windows store and then in android what we have is playstore and in apple we have appstore okay, so for different OS different companies have their own stores and in that store only you have to give your application to user and thus we need to deploy at separate places.
So this different types of deployment like deploying on play store or app store or deploying on our website, so these are mobile application and desktop application’s types of deployment okay. so apart from this we have another type of deployment known as web deployment, now in web deployment we don’t have only website deployment as we know in most of the applications we need to connect it with online service due to some or the other reason so if you take any service or if you want to simply login then what do you need to do? You need to take username password and if you do something like this then you need to make online service and if you don’t want to create that service through website, then you can do it through API or you can use some other service also but mostly people use API, so let it be API or website or some other service now if you have to create such different types of services then you need to host it and deploy it also, so this whole process of web or desktop app or mobile app so in all the three cases process of deployment is almost same okay. Now the same means the app which you need to deploy is almost the same, but your process will be different for different websites and different stores so today we are going to see this.
So here we understood what is deployment but now the latest change in deployment we have to see, earlier we used to create local server to upload our website, local server is nothing but get a computer and install server in computer and host your website on that server and connect it directly to internet, so what happens is anyone can see your computer’s IP address to see that website and if you buy domain and connect your IP address with domain name then by using your domain name he can see your website also with domain ,so this was simple website earlier people used to do this thing only.
After that cloud services were introduced and now in cloud services what will we do? We will give our website to some other company and that company will host our website so this is called shared hosting, so in shared hosting what happens is the company to whom we have given our website it will collect websites from many people and then host it on its computer or server okay.
After that more advanced feature is also available known as cloud computing, in cloud computing our whole pc as we used to do locally now that same thing will happen on cloud means a pc will be there which will be your personal one and in that you can do anything which you used to do locally but that whole pc will be on cloud online, so the company who has bought it will maintain the whole pc and its price will be high than local but you just have to pay for internet and you need to keep your pc on all the time 24 into 7, but you don’t have to do any work all the work will be done by the company who is giving the whole pc on cloud, so here our website’s reliability increases and our cost also increase accordingly okay.
Now as local is there, cloud computing is also there now for deployment what we need to do? If I am changing anything I need to upload it on cloud while deploying ,so first we will see what all platforms are available to us in which we can deploy, so in platform most simple one is local platform, in local platform you have to create a server ,so the free and open source server available is apache , you can search on internet apache server and you can easily get it you can download through link and install it, so as you install it on your computer you can easily access it with IP address, now if you want more advanced server then as for PHP we have wamp server, windows apache, MIS12 , PHP, so all these tools are merged and a server is created and it is named as wamp and we have many more servers like if you want to use ASP dot net, then you need to enter IIS server and its full form is internet information service and it is used for ASP dot net websites.
So you can create a server locally and on that you can deploy your application, so if you have this type of deployment then whenever you build you just have to copy paste website or your code or package, so this part is very easy but as we discussed it is used for simple application, now assume facebook or Google they are very big companies even if your application is not simple it is complicated, but if you create app like OLA now OLA app is very simple but what happens in that we have drivers in that and clients, so whenever client searches for taxi it will show taxi available in nearby area but is it easy for your pc to navigate every taxi’s GPS can it handle every taxi’s database it will not be able to do, we need RAM, hard disk and if you are creating such personal PC then it will be very costly okay.
Now this same thing if you take on online cloud computing, so normally people does not create their server like this they will use a service so if I see most common service then we have go daddy and hostinger, so hostinger is very simple you can directly go to hsotinger’s website and login there so after login as you will reach dashboard, you have to buy things in that like ,here you can see I have already bought domain and hostinger so as I will click on it admin panel will be opened it is known as c panel and from this c panel you can access it completely.
Now hostinger is just an example. We have go daddy, blue host and now Google has its own Google my business, so we have many like this and it is known as shared service or shared cloud service . now these are little older ones you can keep static website on this, here you will get speed, connectivity for keeping your website but you will not get much security in this okay, so now if you want security also then you have three different platforms in which we will first see Google’s cloud platform so if you upload anything on Google’s cloud platform then you can easily access it through Google cloud platform console, so if you simply search Google cloud console and if you open first link so you can see here first one is console dot cloud dot Google dot com, and if you have already logged in then it will bring you directly to this website and on screen you can see compute engine, cloud storage and cloud SQL, so by using this you can host your website or API or any service in Google.so you can easily use this console for storing any website.
Now if you don’t want to keep your service on Google you want to store it somewhere else, so the most popular nowadays is AWS, so AWS is amazon web service so AWS is also very famous nowadays, and the reason behind it is that it is very cheap and it is giving 99 percent uptime means if your website is updated on AWS then chances of it closing is very less okay, so we have many services of AWS and according to your requirement you can purchase it and use it.
So if I want to create website then we will see AWS website, so here in AWS website if you see then according to your scalability many things are given here like, if you want simple then you can use this light sail from amazon, so in amazon light sail will provide you a simple virtual machine in which you can host whole website and then through IP address you can connect domain name.
After that if you want to keep little advance then you can use single page web app hosting in which you can use VU, react and all these things you can use and create advanced app and as we discussed earlier if you want to create such rental app for car or you want to create app related to car like ola, uber then what can you use? You can use the AWS amplify console and in this you can create advanced applications,okay.
So similar to AWS and Google we have one Microsoft also that is Azure. this is also well known and in this those companies create whose legal work is high so AWS is most common in market, google is mostly used for security and Azure and AWS are mostly used for legal compliance, so it is not like some services are used less and some services are very popular but you can choose any one according to your requirement okay.
So now we saw what all platforms are available for deployment so that we can deploy any service or website. Now we will see how to deploy on this ,so the most common amongst the tools available for deploying is our simple script making one, so in that what do we do is we will write any script which will copy our application and it will be uploaded online directly through FTP or through some other protocol or we can simply copy paste it by visiting their portal online, so this was the simplest one but what we have to do is we have to remove our task which are done manually ,so tools for that are if I am using Google cloud then I have google cloud deployment, and if I am using AWS then I have AWS’s cloud deploy, then I have Jenkins and the Jenkins tool is very common and reason behind that is all these can be accessed there, means if your code is on github or google cloud or anywhere else with help of Jenkins you can keep it anywhere.
What happens in this is it works on script, you can trigger it at specific time with help of cron job or Jenkins it will send your code there and apart from that also we have gitlab CI/CD or github’s actions. so gitlab’s CI/CD and github’s actions are both same, the latest which is running in that they have tried making something same to same like Jenkins but everything will be online, now what is the benefit of this all your resources in Jenkins you have to keep your personal pc or server on continuously which you don’t have to keep in github or gitlabs, so these are their advantages apart from that everything is almost same.
There is one more thing in this if we are making it manually then we mostly use cron job to cron job is greek word in which cron means time, so if you want to make anything work at specific time or you want to run script or any command then mostly cron job is used at server side that too in linux okay. so through this cron job we can make script and that script will be as it arrives at specific time, like I set it to 3 pm everyday, so everyday at 3 pm it will build according to the code and the package which will be created will be hosted online, so we can make like this also and if we want to do it weekly or monthly then we can set any specific time through cron job so as soon as it triggers our code will be uploaded online so we can use these tools to deploy automatically and we can send it to client.
If you have any comments or questions regarding this course then click on the discussion button given below this video and post it there, and you will be able to discuss the course with learners.
Thank you.
Share a personalized message with your friends.