SOGETI UK BLOG

Background

In every environment, projects can run a mix of application servers, communication servers, XMPP, Rabbit MQ, cache servers, a couple of databases and worker processes. Replicating this environment for testing is not a simple task. Even if you are willing to invest the time in setting up a complete environment on your box, the chances are you are going to miss something. For example, the database is stuck in an unmanageable dirty state, or the MQ server is misconfigured etc., That is why I am excited to share Docker Technology, which wraps it all up in an easily digestible form.

Overview of Docker Containerisation:

Docker is a fantastic new open source software product that is used to build, ship, and run distributed applications. It consists of Docker Engine, a portable lightweight runtime and packaging tool, and Docker Hub which is a cloud service for sharing applications and automated workflows. Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. This is because the image can be deployed into different environments. As a result, IT can ship faster and run the same app unchanged, on laptops, data center VMs, and any cloud.

Docker consists of three internal components:

1. Docker images: A Docker image is a read only template which could contain the Ubuntu (open source platform) operating system, with Apache and web application installed. These images are used to create Docker containers.

2. Docker Registries: Docker registries hold images; these are public or private stores with which you can upload or download images. Public Docker registry is called Docker Hub, it provides a huge collection of existing images for your use.

3. Docker Container: Holds everything that is needed for an application to run, with each container created from a Docker image. Docker containers can be run, started, stopped, moved, and deleted. Each container is an isolated and secure application platform.

Benefits of Testing Using Docker Containerisation:

– ‘Dockerised’ applications can be run almost anywhere e.g. on desktops, laptops, physical servers, public or private clouds.  In our Sogeti Studio, we can conduct thorough remote testing which ultimately reduces the cost of testing to any client.

– Containerisation can be used in isolation, or can complement Service Virtualisation techniques, where you can find defects earlier in development cycle.

– Docker Containerisation fits well with the Integration Testing Approach where you can easily add new components and third party systems, easy to repeat tests on demand, which are fast and easy portable. This can be of use on large projects with multiple systems, within an overall end-to-end environment.

– Once the Docker images are built, start up and teardown are extremely fast. This makes it possible to start with a clean slate on each test iteration.

– By packaging applications into a container and freezing them, you can be sure that they will run as tested wherever they are deployed. When there is an upgrade in the container it is fast to run the upgrade, test the resulting container, and then deploy the difference of new image to your hosts.

– For test and QA, multiple versions of an app can be run at the same time without worrying about port collisions, and library collisions.

– It provides the ability to run test suites in parallel without worrying about what else is running on that system because you can set them up in such a way that they don’t interfere with each other.

– You can snapshot and archive the images so that you can run specific tests for a Particular state/phase within the development cycle.

Start-up for Docker does require developer skills which can increase initial costs; although once Docker Containerisation is set up then procedures can be stored and re-used by testers on numerous projects on an ongoing basis.

Working in partnership with Sogeti can introduce greater efficiencies, which will be sure to enhance the benefits of Docker Containerisation, and provide you with better all-round solutions.

For more information about the Sogeti Studio, please visit www.uk.sogeti.com/sogeti-studio.

To speak with one of our experts, please email enquiries.uk@sogeti.com or call us today on +44 (0) 20 7014 8900.

AUTHOR:

Posted in: Application Lifecycle Management, Cloud, communication, Developers, Sogeti Studio, Virtualisation      
Comments: 0
Tags: , , , , , , , , , ,