Heroku Flashcards
dependency management tools
Ruby - Bundler
Java - Ivy
How do you create an application on Heroku?
heroku create
creates an application on Heroku that is ready for our code
and
attaches a git remote to our local codebase
how do you deploy on Heroku?
git push Heroku master
- pushes the code to Heroku
- identifies it
- runs a build process against it making it ready for deployment
how can you run the application on Heroku?
Heroku open
key segments of the Heroku platform
1-routers - to send user requests (to the applications)
2-dynos - a container where your application runs
3-
what is a dyno?
- an isolated, virtualized Unix container where your application runs
- holds our code and configuration, logplex,
- the more running instances of your application are available to take requests
- each dyno is completely isolated from other dynos
- you can add dynos to extend capacity and achieve fault tolerance
stateless web apps
-
-recommended because Heroku stops dynos that have slowed or failed and also restarts each dyno every 24 hours
environment variables
config vars
what is slug compilation?
the process of getting application code into the dyno
what is a release in Heroku?
a combination of your application code (or slug) and the configuration around it
- any change to either of these will generate a new release
- this definition of release makes it possible to roll back to previous versions of your code and the configuration surrounding it
what is scaling out (horizontal scaling) as opposed to scaling up (vertical scaling)?
- scaling up implies increasing the server capacity
- scaling out implies adding more servers for capacity rather than more capacity to the server
Heroku Postgres add-on
provides PostgresQL services to all applications
Heroku deployments
- transforms your code into a platform-friendly version that can be scaled up and down instantly and at will
- alters your application to suit the platform, injecting components and configuration
- carried out by Git source control system
- a push into the master branch initiates a deploy
What is the difference between speed and throughput?
- speed is how fast your application can take a request and return a single response
- throughput is how many simultaneous requests can be handled at the same time
What is CDN?
-Content Delivery Network
-made up of many different machines that are spaced across the globe and are geolocation aware
-