Docker, the company that started the container revolution, is looking forward to the "emergence of hybrid, collaborative development environments,” according to CEO Scott Johnston, who spoke in a press-only virtual meeting of the developer minds.
Johnston was joined by Craig McLuckie, Kubernetes' co-founder; Solomon Hykes, Docker's founder; Michael Bryzek, Flow.io chairman and CTO, and Ilan Rabinovitch, Datadog's SVP Product and Community, in honor of Docker's 10th anniversary.
In a not-so-big shocker moment, Johnston said laptops and clouds will no longer be separate places. Instead, developers will come together on these platforms "to provide a seamless experience that takes advantage of low latency on the local laptop and takes advantage of the on-demand and collaborative properties in the cloud."
Making life easy
Containerization is all about making life easier for developers, however Hykes said that when he talks to younger developers, it still surprises him that “Docker is taken for granted."
Today, containers have abstracted infrastructure and made developing and deploying software simple, but keeping things simpler can sometimes cause “more headaches and pain and tears,” he said.
Datadog’s Rabinovitch agreed with Hykes. "Even if there are a million things happening in the background, you can deploy code and get the dopamine hit of your code running," he said, adding that it used to be that there were "amazing technologies that to run that were such a hassle. Just to get to step one, you'd have to write 3,000 lines of YAML code, and they'd never get anywhere."
Even as it's become easier, and the connection between the cloud and developer's laptops become ever closer, new problems are arising, especially with the use of APIs and microservices.
"We made it easy to ship containers. And then it turns out that now the dependencies aren't like, 'what my RPM install or what version of Ruby installed,' but it's what version of the other microservices am I connecting to in production?” said Rabinovitch. “Even if I just change two lines of code, it turns out that it talks to a bunch of APIs that are powered by 30 other different services in containers. So how do I connect all that? To solve that, we need the next step of tooling."
Next stop: automation
Automation is the next step of “tooling” – but it’s also the most challenging, according to Hykes. “It’s where everything is inherently interconnected to everything else, is the hardest thing to change,” he said. “It's just a mess still. It's not because of containers, but because, in the middle, we're still dealing with shell scripts that make files and YAML." For old-school programmers, that's not a problem, but for developers who haven't been so hands-on with lower-level infrastructure, it can make the process slower and annoying.
That's one reason why newer, easier developer technologies such as Web Assembly are gaining popularity. McLuckie said he sees the rise of Web Assembly as a disruptive technology. "Docker and Kubernetes made things like deployment and scaling and upgrade and all of those other capabilities ubiquitous, and that's available pretty much everywhere,” he said.
With Web Assembly, developers may handle service dependencies in a relatively abstract way. Say I want to access a SQL database, maybe it's a public cloud database, I'm gonna get an instance of SQL net, or maybe it's something I provision up in a container and run and attach to storage,” he said.
In this example, that means developers will be able to more easily build cloud-native stateful applications. Still, there's a lot of work left to be done, but McLuckie sees great potential with Web Assembly.
The rise of AI
Johnson and the group also see the rise of Generative AI programs such as OpenAI's ChatGPT as changing the development of cloud programs due to the AI’s ability to write code. "GPT has already come up with some fantastic Docker compose files,” he said.
"These [AI] tools are really improving our productivity and expanding the number of people who can now interact with software in a meaningful way,” Bryzek noted.
“We're always going to be chasing developer productivity. But I love the passion that people have for the tools that help them do the right thing, both for the broader community that we live in and for their business for delivering the products faster,” he said. “Or making the products more secure to prevent the possibility of security incidents in the future.”