developers

Designing Your First Application in Kubernetes, Part 5: Provisioning Storage

In this series’ final installment, I’ll explain how to provision storage to a Kubernetes application. The final component we want to think about when we build applications for Kubernetes is storage. Remember, a container’s filesystem is transient, and any data kept there is at risk of being deleted along with your container if that container ever exits or is rescheduled. If we want to guarantee that data lives beyond the short lifecycle of a container, we must write it out to external storage.

Keep Reading

At the Grace Hopper Celebration, Learn Why Developers Love Docker

While we’ve made strides in diversity within tech, the 2019 Stack Overflow Developer Survey shows we have work to do. According to the survey, only 7.5 percent of professional developers are women worldwide (it’s 11 percent of all developers in the U.S.). t’s why Docker hosts Women in Tech events at our own conferences, and we’re pleased to participate in the Grace Hopper Celebration this year.

Keep Reading

Designing Your First Application in Kubernetes, Part 4: Configuration

One of the core design principles of any containerized app must be portability. A well-designed application should treat configuration like an independent object, separate from the containers themselves, that’s provisioned to them at runtime. That way, when you move your app from one environment to another, you don’t need to rewrite any of your containers or controllers; you simply provide a configuration object appropriate to this new environment, leaving everything else untouched.

Keep Reading

Designing Your First Application in Kubernetes, Part 3: Communicating via Services

Kubernetes networking model says that any pod can reach any other pod at the target pod’s IP by default, but discovering those IPs and maintaining that list while pods are potentially being rescheduled — resulting in them getting an entirely new IP — by hand would be a lot of tedious, fragile work. In this post, I’ll explain how to configure networking services in Kubernetes to allow pods to communicate reliably with each other.

Keep Reading

Designing Your First App in Kubernetes, Part 2: Setting up Processes

I reviewed the basic setup for building applications in Kubernetes in part 1 of this blog series. In this post, I’ll explain how to use pods and controllers to create scalable processes for managing your applications. The heart of any application is its running processes, and in Kubernetes we fundamentally create processes as pods. Pods are a bit fancier than individual containers, in that they can schedule whole groups of containers, co-located on a single host.

Keep Reading

5 Things That Happen When You Get Locked In to an Application Platform

If you’ve worked in IT for a few years, you’ve seen it happen. You select an application framework, operating system, database platform, or other infrastructure because it meets the checklist, the price is right, or sometimes because of internal politics. You quickly discover that it doesn’t play well with other solutions or across platforms — except of course it’s “easy and seamless” when used with offerings from the same vendor. Below are 5 things that can go wrong when you get locked in to an infrastructure platform.

Keep Reading

Don’t Pick an Ops Platform Your Devs Won’t Use

In the early days of public cloud, developers started going around IT to get fast access to computing resources, creating the first round of “Shadow IT”. Today, most large enterprises have embraced cloud applications and infrastructure, and work collaboratively across application development and operations teams to serve their needs. But there’s a risk we’ll invite the same thing to happen again by making a container platform decision that doesn’t involve your developers. Here are 3 reasons to include developers in your platform decisions.

Keep Reading