Containers Flashcards
What is containerization?
The assembly of a portable, standalone environment for our application instance
Why use containers?
- Enforces all the dependencies our app requires
- Can create a standardized unit that can be deployed on many different platforms & systems
- Instances to be quickly booted up and shut down
What are the differences between VM and Containers?
<b>VM</b>
Runs an entire guest OS, sandboxed from the underlying host OS and uses virtualization to provide ‘virtual resources’ for it
<b>Container</b>
Shares the underlying host OS (kernel of the host OS). The container engine is run directly on the host OS
What are the pros of using Containers?
- Efficient
- Fast deployment
- More portable
App Engine is built around what type of container?
Docker Containers
What are the 2 environments offered by App Engine?
- Standard
- Flexible
What can you do in a flexible environment?
- Import your own custom runtime using a Docker deployment
What are the cons of using a flexible environment in App Engine?
- You can’t scale down to 0 instances
- Boot time of flexible instances is longer
- Pricing based on compute instance characteristics instead of instance hours
Containers are in an awkward space between PaaS and IaaS. Why is that?
Can control dependencies (Including OS and underlying runtime)