Following on from our post regarding JavaScript/noSQL full stack options we’ll take a quick look at how these applications are deployed and maintained.
There are a number of ways to deploy these apps but the most efficient in our experience is to deploy them using Docker. Docker effectively creates a self contained executable called a container. This container holds your app and everything it needs to run and can be deployed and scaled quickly and easily.
In some ways the container is similar to a virtual machine but is much more streamlined and portable, as well as being scalable.
Docker is used to run apps in development and QA on our local machines prior to deployment. The same app can then be deployed to our production servers once they have passed QA.
The containers can also be deployed on a number of cloud services and, for customers with large internal infrastructures, we will use Kubernetes to control, administer and scale the services across the server cluster.
Docker containers are in no way restricted to full JavaScript stacks. They can also be used to deploy traditional LAMP solutions, Java solutions, Kotlin solutions or any mix and match. Essentially, if an app can run on a Linux box it can run in a Docker container.