Image for post
Image for post

GitOps is the new way to deliver applications in Kubernetes. It uses Git as a single source of truth for your applications, automating delivery by using the standard git pull request workflow that developers already love. In Kubernetes, Flux is the dominant tool. It runs an operator in Kubernetes to update your applications every time you push to your git repository or a new docker image is available.

Okteto loves GitOps because it empowers developers to own the delivery process, but using self-service automation to test, deploy, and observe their applications in production. …


Image for post
Image for post

Kubernetes is an open-source project for automating deployment, scaling, and management of containers. It has rapidly become the standard to run production workloads and the community around it is just great!

But Kubernetes is not designed for developers. The typical development workflow looks like this: write code, build a Docker image, push it to the registry, redeploy, validate your changes and repeat. This flow is not only slow, but it also prevents us from benefiting from standard features of Ruby tools such as hot reloaders or debuggers.

Okteto was created to solve this problem. On this blog post, we will show you how Okteto improves the developer experience in Kubernetes for Ruby developers. You will be able to take full advantage of using an instant development environment, dependency caching, hot-reloading and even the Ruby debugger while developing your application directly in Kubernetes. …


Image for post
Image for post

We’ve been talking to a lot of developers since we started building Okteto. Every team has very unique challenges, but one that came up pretty regularly was how long it takes to ship a line of code from the developer’s IDE to Kubernetes. Teams either have to do everything manually (build, tag, push, redeploy) or push their changes to CI/CD service and wait for ages until their changes are processed.

Either way, your flow is broken by the time your changes are deployed and your productivity takes a nosedive. This got us thinking. Why do developers need to understand the entire build-deploy infrastructure to validate application-specific changes? …


Image for post
Image for post

Machine Learning and Data Analytics are becoming quite popular for mainstream data processing and Jupyter and TensorFlow notebooks are one of the leading platforms in this sector. We are happy to announce that you can now run and develop your Jupyter/TensorFlow programs directly in Okteto Cloud, the development platform for Kubernetes applications 😎!

What are TensorFlow notebooks? TensorFlow notebooks are Jupyter notebooks that integrate the TensorFlow library and the TensorBoard dashboard. Let me explain in a little more detail each one of these components:

  • Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. …


Image for post
Image for post

If you build software, the words it works on my machine have slipped out of your mouth at least once in your life. If you Google it you’ll probably find memes, stickers, and t-shirts joking about it. Developers have been haunted for decades by unexpected errors when running code on different machines. In the era of containers, you might think this is no longer an issue, but there are still drawbacks and challenges that need to be solved.

When I am coding I’m focused on just one thing: delivering value to my users as fast as possible. …


Image for post
Image for post

Kubernetes is an open-source project for automating deployment, scaling, and management of containers. It has rapidly become the standard to run production workloads and the community around it is just great!

But developing on Kubernetes presents some challenges. The typical development workflow looks like this: write code, build a Docker image, push it to the registry, redeploy, validate your changes and repeat. This flow is not only slow, but it also prevents us from benefitting from standard features of Go tools such as fast incremental builds, hot reloaders or debuggers.

Okteto was created to solve this problem. On this blog post, we will show you how Okteto improves the developer experience in Kubernetes for Go developers. You will be able to take full advantage of tools like go build, dependency caching, or IDE debuggers while developing your application directly on Kubernetes. …


Image for post
Image for post

Kubernetes is an open-source project for automating deployment, scaling, and management of containers. It has rapidly become the standard to run production workloads and the community around it is just great!

But developing on Kubernetes presents some challenges. The typical development workflow looks like this: write code, build a Docker image, push it to the registry, redeploy, validate your changes, rinse and repeat. This flow is not only slow, but it also prevents us from benefitting from standard features of Java tools such as fast incremental builds, automatic hot reloads or powerful debuggers.

Okteto was created to solve this problem. On this blog post, we will show you how Okteto improves the developer experience in Kubernetes for Java developers. You will be able to take full advantage of tools like Maven, Gradle, dependency caching, popular frameworks hot reloads (Spring Boot, Quarkus, Micronaut, etc.) or IDE debuggers (Eclipse, IntelliJ, VS Code, …) while developing your application directly on Kubernetes. …


Image for post
Image for post

Django + Celery is probably the most popular solution to develop websites that require running tasks in the background. Developing a Django + Celery app locally is complex, as you need to run different services: Django, Celery worker, Celery beat, Redis, databases… docker-compose is a very convenient tool in this case. You can spin up your local environment with docker-compose in just one single command. And thanks to the use of volume mounts, you are able to hot reload your application in seconds.

In this blog post, we want to go a step forward and explain why you should develop your Django + Celery app directly in Kubernetes. …


Image for post
Image for post

Online IDEs are becoming mainstream due to their ability to provide true one-click development environments, surpass the capabilities of developer machines and enable a new level of team collaboration. A few examples are Coder, Codeanywhere, Codenvy or AWS Cloud9.

On the other hand, Docker and Kubernetes are the de facto standard to deploy applications. Kubernetes makes easier and faster than ever to run online IDEs in the cloud. At the same time, an online IDE running inside Kubernetes might improve the Kubernetes developer experience, one of the main Kubernetes pain points.

In this blog post, we will cover this scenario using Coder, an online IDE serving Visual Studio Code, and Okteto, a tool that makes it very simple to deploy development environments in Kubernetes. …


Image for post
Image for post

VS Code Remote Development is a powerful VS Code extension that allows you to take advantage of VS Code’s full feature set in the following scenarios:

  • Develop a local folder in a local container using volume mounts.
  • Develop a remote folder from a remote machine using SSH.

Development environments are getting more complex, in great part due to the broader variety of technologies being used today (e.g. polyglot apps, micro-service or third-party APIs). Instead of having to spend hours setting everything, VS Code Remote Development simplifies it by letting you use a pre-configured container as your development environment.

As teams have become more geographically distributed, a need for new collaboration models has arisen. In the middle of the Cloud Native revolution, we still develop locally. VS Code Remote Development is helping us evolve towards a Cloud Native development workflow. …

About

Pablo Chico de Guzman

Founder & CTO @oktetohq (YC W19). Docker Community Leader. Cloud Native Development Advocate.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store