There is a lot of hype and some confusion in the world of IT today about precisely what Docker is and how it enables the emerging world of micro-services. At the Dockercon 16 conference this week in Seattle, there were many talks explaining Docker capabilities, but it was perhaps the Day 2 keynotes that explained it best with some exemplary metaphors.
According to Keith Fulton, CTO at ADP, Docker is a lot like chicken nuggets and waffle cones (though not necessarily eaten together at the same time). ADP, one of the world's largest payroll processing firms, has over 630,000 clients. Fulton noted that ADP does more than just payroll today, and considered itself to be a Human Capital Management (HCM) firm, with services including recruiting and 401K planning.
"We have always viewed ourselves as a services company," Fulton said. "Every company today, though, is now a technology company and for us Docker is a key point of acceleration to make product development go faster and compete better."
Fulton said that speed comes down to who can code and ship code faster. He also emphasized that ADP has high security needs, with 55 million social security numbers on file and moving nearly two trillion dollars around each year in payroll. ADP is using Docker containers now because of security and not in spite of it, according to Fulton. He noted that Docker has multiple features that enable the high security that ADP needs.
Now Docker itself is about containers, but inside those containers are application that can enable the emerging paradigm of micro-services. The general idea is to have a basic unit of application capabilities that is portable and can run anywhere.
"Microservices are awesome," Fulton said emphatically. "They're just like chicken nuggets."
In Fulton's analogy, nuggets are the 'meat' of the chicken without all the extra stuff that isn't really needed for consumption. Nuggets are bite sized, highly-portable and easily consumed, just like Docker.
"No one wants a bone," Fulton said. "At ADP we have a lot of chickens, and we are dealing with a lot of legacy monolithic apps."
Now in terms of explaining the subtle difference between what a container actually enables and what a micro-service enables, Fulton used an ice-cream analogy. He explained that you can buy a bucket of ice cream in a container, but it's easier to eat when you put it in a waffle cone. Docker is the ice cream container and the micro-service is the waffle cone.
"I call it the ice cream scoop re-factor method," Fulton said.
Keith Fulton, CTO at ADP, Dockercon
Sean Michael Kerner is a senior editor at Datamation and InternetNews.com. Follow him on Twitter @TechJournalist