Freeze, CaaShole! Docker Datacenter's Container-as-a-Service opens to world + dog
Well, er, the world of enterprise and its dog
San Francisco tech darling Docker will today push its Docker Datacenter (DDC) subscription service into general availability.
DDC basically lets developers within an enterprise build and test apps inside containers, and deploy them into production using on-premises systems or virtual machines in the cloud. From laptop to server, apps running in their boxes should just work. Docker dubs this a container-as-a-service (CaaS) platform.
Crafted from a mix of open and closed-source software, DDC was first glimpsed in June last year and has been in beta for a while now. It was created after corporate programmers started using Docker containers to package apps with libraries and other dependencies on their laptops, and sysadmins wanted centralized tools to push this code live in a reliable and scalable manner.
DDC basically sticks casters on containerized apps and rolls them off coders' laptops, across the factory floor, and out into the sunlight for customers to prod and poke. Docker calls this an end-to-end lifecycle of development, but where's the fun in that?
At the heart of the thing is the Docker Trusted Registry, which lets admins manage and store Docker images. Software stacks are then built from these images, tested and deployed using Docker-supplied tools. Images can be cryptographically signed off by developers so that only trusted images end up on production systems.
DDC also includes the Docker Universal Control Plane – a key ingredient and the bit that has technically hit general availability today – and, of course, Docker Engine.
Below is an overview of the architecture: programmers build and test their images on their dev machines, then push them to the grey blob which is the Docker Trusted Registry, where files are organized and access is strictly controlled. Then images are deployed to on-premises or cloud-based systems as required.
If anything it encourages developers to break up their monolithic enterprise applications into separate components that all the cool kids are calling microservices. A new or updated logging microservice can be created by a developer, tested, and pushed to the registry as a Docker image, and then rolled out live as a container for apps to seamlessly use when ops is happy with the change.
"We've seen our customers take changes that require months to complete, and reduce their deployment to hours," Scott Johnston, Docker's senior veep of product management, told El Reg.
"For example, the ING bank in Europe would take nine months to deploy a change: it would have to go through all the steps of code review, Q&A, load testing, and staging and so on.
"With a monolithic application, changing just one line is so fraught with risk. After going in all with microservices, changes can be pushed without having to do a full recompile and rebuild: you can go from nine months to hours."
That means customer-facing apps can be rapidly updated with features and tweaks to compete with rivals, for example. "It means you can respond to customer requests and competitive pressures," added Johnston. "A CIO or CTO can go to the CEO, and say: Hey, these apps we're queuing up? We're delivering them in weeks not months."
Docker to date isn't about mind-blowing computer-science breakthroughs; it's all about taking existing technologies that have been cranky to configure and a pain to master, and making them super-easy and smooth to use. Now it's taking that approach to container deployment for enterprises. Microservices isn't for everyone – you can't wave a magic wand and turn all dependencies into separate services, and it can introduce really irritating complexities. Still, a lot of people swear by them.
Below is a simplified diagram showing how ADP, a major payroll processing service in the US, has used DDC to switch from monolithic programs to apps that are made up of interchangeable and updatable microservices.
It was pretty essential to Docker that it get its software right for ADP, because the finance biz processes Docker staffers' wage slips. "Docker uses ADP, so we have an interest in deploying this successfully," said Johnston.
Talk about eating your own dog food.
"As part of our initiative to modernize our business-critical applications to microservices, ADP has been investigating solutions that would enable our developers to leverage a central library of IT-vetted and secured core services that they could rapidly iterate on,” said ADP CTO Keith Fulton.
"With Docker, we will be able to ensure application portability, whether it is between dev and ops or between the data center and the cloud."
DDC isn't reliant on any particular Linux distribution nor underlying hardware: your kernel and processor just need to support all the low-level stuff that Docker containers are built on. Pricing is based on how many nodes you want to scale DDC on: it's basically $150 per node per month, but do drop them a line to find out more on that score, if DDC floats your container boat. ®