Posted by Ancestry Team on August 19, 2015 in Agile, Development, DevOps, Distributed Computing

In the TV series “Star Trek: The Next Generation,” the magnetic containment field prevents contact of antimatter with normal matter in a warp core. If the field were to collapse or fall below 15% of its maximum integrity, the starship would be destroyed. This containment field was a very important safety system for starships (reference Wikia).

Star Trek: The Next Generation. Image source: whysoblu.
Star Trek: The Next Generation. Image source: whysoblu.

Ancestry has begun using a fairly new “containment field” called Docker. At Ancestry we are always looking for ways to implement new technologies (such as Docker). This is one of the reasons I enjoy working for Ancestry. Our stance towards technology, I believe, is a healthy one: we continue to utilize technology as long as it is useful and relevant but also keep an eye towards the future. The following discussion about Docker might be useful to other companies looking for pointers and lessons on adopting recent technologies.

Docker has many benefits including a safety feature for application isolation. When using Docker it’s difficult for two applications to step on each other’s toes. In essence, it prevents Ancestry application-starships from collapsing or being destroyed. Think, “Shields Up!”
Docker Logo

Yes, Docker is all the rage nowadays in the tech world. Docker is a specific implementation of what we broadly call containerization. So, let’s start there. What is containerization? It is a lightweight alternative to virtualization. Both virtual machines (VMs) and Docker provide containerization qualities but Docker is not a VM. There are similarities between these two (that’s why you can replace your VMs with Docker) but there are important differences between VMs and Containers. Let’s take a look:

Diagram source: Docker Inc.
Diagram source: Docker Inc.

VM & Container Similarities:

  • Protect application spaces
  • Multiple app instances per box

VM & Container Differences

  • Containers have no guest OS overhead
  • Containers are lightweight
  • Containers start and reboot faster (sec. vs min.)
  • Containers include only what’s needed for your application/service

Docker is the next generation of containerization for software development. Containerization has been around for a long time but Docker made containerization easy for developers. In fact, Docker has taken the software development world by storm. Using this kind of “containment field” we obtain the following benefits:

  •  Simplified configuration so your app runs anywhere without changes.
  • Saves money with greater hardware utilization per server.
  • Easily runs tests against the application and its Dockerized dependencies.
  • Saves time setting-up a new developer’s box by just using the Docker image.
  • Deploys faster (“Docker build” and “Docker run”).
  • Smaller footprint because your Docker image only contains the necessary software for your application or service. The core OS is only included on the host machine.
  • Protects applications from system changes made in neighboring apps. This protection is not as strong as VMs but is more than adequate. The pros of Docker far out way the cons.
  • Fewer bottlenecks because Ops and DevOps are less likely to stand between the developer and their build and deploy.
  • Faster application/service startup which is usually under one second.
  • Easier migration to microservices.

Because of the above reasons, Ancestry is exploring Docker further and we really like what we see so far. Many of our new services are now written in Java, on Linux as a microservice deployed as a Docker image. This is an exciting time to work at Ancestry as we take the next steps in developing our support systems and discuss what should change and how as we move into a Dockerized world. Yes, there was and is much to do as we migrate to these new systems and methodologies, and it’s a lot of fun for our engineers as well.
You might ask, “As Ancestry begins using Docker, what’s different for Ancestry going forward? What will change for our developers as a result of this adoption?” Here are a few that leap to mind:

  • Developers control their own build image.
  • DevOps will cease to be a bottleneck for developers.
  • Dockerized dependencies can be easily loaded on a devs laptop for testing.
  • Testing and deployment will take a fraction of the time.
  • Patching will be done on app build which is less likely to break builds on live (production) because patching is not inserted into a live box but is part of the build and testing process.
  • Problems with VM hypervisors will become non-existent.

At Ancestry we’re always looking to leverage new technologies that will improve our customer experience. We are currently piloting Docker and are already seeing some of the above benefits that could be considered the equivalent of “magnetic containment fields.”

My personal log to you is this: “seize the time” – use these new and emerging technologies to your advantage. Make a difference. Explore new worlds to improve your company processes, your developer experience and shorten your time to market. All this will benefit your customers. After all, that’s what all this is about!
Let’s ask the captain, “Should we make the switch to Docker?”
“Make it so, number 1” – Ancestry: The Next Generation!

Personal log, Stardate 69053.1:Picard
“Seize the time… Live now! Make now always the most precious time. Now will never come again. Someone once told me that time was a predator that stalked us all our lives. But I rather believe that time is a companion who goes with us on the journey and reminds us to cherish every moment because they’ll never come again. What we leave behind is not as important as how we’ve lived. After all, Number One, we’re only mortal.”
–Captain Picard

 

Please leave your personal log in the comments below. How do you feel about Docker, containers and other emerging technologies?

Comments

  1. Real Life

    I just posted helpful feedback – and it was deleted? The Article says “How do you feel about Docker, containers and other emerging technologies?” -> I gave real life answers that do not meet your personal limited view so I was deleted? As I am sure this will be deleted also. I will post on my tech blog about this article.

  2. Mary M Zashin

    Mr. Madsen, I am sure you must be disappointed at the very negative reaction of ACOM users to the new site design. From a user’s point of view, it is clumsy to use and missing a number of minor, yet ultimately important features that Old offered (for example, “expander” buttons as on the bottom of this form on various edit pages, date added and formatting choices on notes, stories attached to events, “view all sources). It is also very ugly and visually unappealing. The color scheme is simultaneously drab and dreary, and flashy and gaudy. Thumbnails for sources are too big and in any case entirely unnecessary – we don’t need to see a tiny grey census form image – while thumbnails for family members are way too small. Black bands on items in the gallery are depressing. The site is unstable even despite your efforts to “containerize” it and bugs abound (for example, the cursor when writing a note shifts at the slightest pause to the top of the note instead of remaining where the writer left off; the names of custom facts/events aren’t “sticky” so they must be retyped each time they’re used). The Lifestory is robotic and the historical “insights,” when not grossly inappropriate, and almost always banal. What can you do to repair the reputation and trust you have so badly mismanaged? People feel strongly and personally about the trees they have made. Perhaps the things that are more functional in New, such as increased ease adding events to sources, would be better appreciated if the cosmetics had not changed so drastically.

    • Thank you for your feedback. Many users have requested the ability to change colors in New Ancestry and it is something we are considering. If you’d like to edit the Lifestory feature, visit our how-to guide here. To see what features in the new Ancestry we’re currently working on, along with a list of top priority items we plan to work on based on user feedback, you can visit our weekly blogs posts and if you have any further feedback, you can visit the suggestion form here.

  3. I Have Complain More Than Fifteen Times On Phone E-MAIL But With Out Avail ,
    Kindly Return Back My White Page Or Refund My Money I Will Move To Other Family Trees , Kindly Restore The White Page Back Emigatly For Our Research Sack
    I Have Wastage My Time And Effort Sack The Programmer They Are Use-LESSE And WEAST OF MONEY
    Numaer 007S

Join the Discussion

We really do appreciate your feedback, and ask that you please be respectful to other commenters and authors. Any abusive comments may be moderated. For help with a specific problem, please contact customer service.