So I made this presentation for a "tech talk" at work, but it was really to help myself better understand JVM applications - how they run and if we should use containers.
I'm pretty new to Java, so a part of this is on how the JVM works - and comparing Scala to other languages.
I posted the full video here (25 mins) but the slides are below with some notes.
Hopefully someone finds this useful. If you see any errors, or glaring omissions, please let me know.
2. Hypervisors (like Virtual Box) allow another operation system to run on top of your computer.
3. The type of hypervisors that cloud providers (like AWS) use are installed directly on their hardware, but are similar to Virtual Box.
4. Containers are a native Linux feature that uses "namespaces" and "cgroups" to manage isolated processes.
5. VMs tend to be a lot larger than containers because they include the operating system.
6. Containers can potentially better compute efficiency because they are able to share the same kernels.
7. The JVM did not "support" containers until 4 years after Docker was released. Java is still seen as
8. The JVM requires a different standard C library than the one packaged by Alpine (the most popular Linux distribution with containers).
9. In conclusion ...