Heroku - 4 Features and Architecture v4
Hello everyone and welcome to this introduction to heroku course, we will focus in this video on the platform features and how they can help with application management after watched the architecture we will talk later about permissions and prices first let's start by seeing how heroku walks with an application as if in the hit to the previous launched that and many leaves us preuil code in multiple languages such as java nod python and this is the application and source code developed in one of these languages but that is not enough because most of the code we use today has prebuilt dependencies so to make the application work well it is necessary to learn aerocool kind of dependency which needs to find in the end and sews needs the source code as well a description of the dependencies required to launch the application the description of the dependencies varies depending on depending on the programming language eg for ruby there is a djems file for python there is still a full match text package dot g sounds for notes and apples dot xml for java this file is what will give to heroku a list of dependencies that must search and installed just with the source code is the description of dependencies heroku is smart enough to know how to run your code first it will install the dependencies then then run the app using them and intersect has something called an easter bubble is the responsibility of the goal the loincloth to understand code independence and search for them so that the application can use them it is also its role to possibly create certain data required to be able to compile and run the code forgive I mean things that are not code but are needed to launch the application as a video of the images or other after all this process the easter bulb where everything is this into a slogan once the goal package finishes its job it's time to inject the variables from configuration in general these are credentials or environment variables these variables which are then accessible with running code one might wonder why this is not directly in the code and just being able to access through there why aeroscout went so far develop a solution to add variables to applications there are several reasons for this the main is security having this type of variables directly in the code true that anyone having access to the source code will also have access to sensitive information such as information identification if you have certain applications used for testing which are only a copy of the product main you will want to keep database variables in this application you don't want access your main app database for whatever is so it will be great to have a variable that will serve as identification for the database sometimes you will also want to change the variables without wanting to change the code it is much easier and safer to change these variables and restart the application so that it starts with the new values to make simple the variables of configuration are very good in terms of security of sensitive information and simply for finally configure when you launch a smile bubble at the last thing to add are the add-ons like said in a previous video the addons maybe many things they can be a database like ps she mungo db they can be cache system like ray 10 or even caste or even search system advanced like elastic search this means the goal pac will create an instance ready to use add-ons once the code is executed young people will be ready to use this means that the service provider configures the service for you you can check the complete list data on https slash elements of man and cross as slash give once we have the code which is ready the dependencies installed with the configuration variables set up and installing them that means we have a release all discounts are stored in and rocco now let's say we deployed a new release which is a major critical error to fix this problem just go back to a previous release and everything will return to normal after the church is over they are given to the dinos to execute them as the heroku documentation itself says you can imagine dinos as linux machines in the cloud with abilities that can be changed as needed before continuing plus one of the best things and the ability cloud providers to scale your application according to your needs so in heroku this scaled and done through the dinos so if need to increase calculation speed or others just increase the number of dino or use a more powerful one it also works in the other way if you want to reduce the number that heroku have used less powerful ones i want to clarify that all those that were described here arrive automatically the search for dependencies the establishment of configuration variables and gave them everything happens under the control of heroku the user only send swholesale aero code changes you don't need to know all the steps previously described by heart although it is useful to know it in the event of a problem to be able to quickly identify at what level the latter is finds in your wrinkles now that we know as in iraq or built executes the applications we are going to be interested in how the users can change the code of their application and roucou offers three possibilities to manage the code first is the github integration which will give you the ability to connect your app one of these github on every change in this folder and cuts will understand that it needs to fetch the new code and rebull the app following the steps we talked about before the second possibility to send heroku git code is an alternative heroku github solution and which works similarly where just change the contents of the folder and finally we have docker you can deploying aeroscout toothpick images is handled this way github is the recommended solution if your project involves more than two or three people due to its functionalities such as checking for changes or two versions take a moment for all and capitulate everything starts with changes made to the source code or the pocket in a folder and riku quickly then there are automatic steps in this order the search for dependencies and the creation of the files or data required images or videos then and many add the waves of configuration and finally they install the add-ons once all these steps have been completed a release write it will be given a dino who can run it. That's all for this video, see you soon for the next one!