We added cypress E2E testing to our grad project. We found it really user-friendly, straightforward to set-up, and easy to read and write tests. Here's a run through of how we set it up and some things we learned about best practices.
Docker is a platform which uses containers to deploy applications. We use containers because they are:
- Lightweight - they're much more efficient with system resources than virtual machines (VMs)
- Portable - they can be efficiently built, deployed and run anywhere
- Scalable - it's easy to increase and distribute containers across a datacenter
- Isolated - they are isolated from the host and other containers, and interact with their own private filesystem which is provided by the docker image (which includes everything needed to run an application).
Because containerized applications are so portable and the processes are easily reproducible, they can easily be scaled. To do so, we use orchestrators such as Kubernetes and Docker Swarm.