SA Home Loans is a mortgage finance provider dedicated to dedicated purpose: to offer our customers the best in every service – from origination and credit approval through to registration and ongoing loan servicing. The company was launched to South African home owners in February 1999 and in these short years, have grown to become the country’s fifth largest home loans provider. Software is a key tool that our employees use to facilitate these great services to our customers.
Recently we made a conscious decision to adopt a microservices architecture, to give us more flexibility and agility in development and deployments. We decided on Docker as our preferred platform, as containerizing our .NET services would allow them to be immutable and easily transferable across our development to deployment pipeline. We soon realised that we had the potential to have over 50 separate services across our production Docker nodes,and that trying to deploy and monitor these would become difficult to manage. We needed a production-ready orchestration service that could give us a single point from which to manage and distribute our containers onto the nodes, as well as give us high level oversight of our containers. We investigated some of the other popular products available like Mesosphere and Kubernetes, but in the end we chose Docker Swarm (embedded in Docker Datacenter) for a number of reasons.
First, Swarm is developed by Docker themselves and it was logical that it would fit in well with the rest of the Docker products we are using within our environment today. Out of all the products we tried, it was the most simple to get installed and running. In our POC lab we had Docker Swarm working in just 10 minutes, a huge bonus for us. This is compared to Mesosphere which was difficult to set up and Kubernetes which we eventually abandoned due to long setup times.
Next we found that the process to deploy containers to Swarm is exactly the same as deploying to a single node, so our operations staff only need to know a single set of commands and not have to worry about having to learn commands from a different application. This has given the team confidence in the new deployment process and has shortened our time in getting Swarm into production.
Whilst we currently only have on-premises nodes, we are investigating the feasibility of deploying some of our services to the cloud. This will allow us to quickly deploy Docker nodes on a VPC of our choice and add any of these nodes to our Swarm cluster, essentially having a virtual Docker engine that is scalable to our needs but is still manageable through the same endpoint that we manage our on-premises nodes.
Overall, Docker Datacenter with embedded Swarm has enabled us to develop our microservices with confidence, knowing that we can deploy these applications onto a cluster and be able to manage them with little to no hassles.
And don’t forget to participate in our DockerCon ticket raffle! Share a picture or description of your Swarm with us on Twitter and tag @docker and #SwarmWeek for a chance to win a free ticket to DockerCon 2016 on June 19-21 in Seattle, WA.
Here are some more Docker Swarm resources:
- Get started by downloading Docker Swarm and reading the docs
- Try Docker Swarm as part of Docker Datacenter
- Submit questions to Docker Forums or file issues in Github
- Contribute to the Docker Swarm project
Learn More about Docker
- New to Docker? Try our 10 min online tutorial
- Share images, automate builds, and more with a free Docker Hub account
- Read the Docker 1.10 Release Notes
- Subscribe to Docker Weekly
- Sign up for upcoming Docker Online Meetups
- Attend upcoming Docker Meetups
- Register for DockerCon 2016
- Watch DockerCon EU 2015 videos
- Start contributing to Docker