Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Developing and testing on production with Kubernetes and Istio Workspace

July 14, 2020
Bartosz Majsak
Related topics:
ContainersDevOpsKubernetesMicroservices
Related products:
Red Hat OpenShift

Share:

    Due to container-orchestration platforms like Kubernetes and Red Hat OpenShift, developers have become very efficient about deploying and managing distributed and containerized applications. But can we say the same about application development and testing?

    In this article, I briefly discuss how cloud-native development is transforming the traditional development cycle of coding, building, and testing. I then introduce the idea of testing on production, not as a meme but as a necessity. Finally, I introduce Istio Workspace, a tool for developers working with distributed systems running on Kubernetes or OpenShift.

    Note: This article includes a video demonstration for testing on production with Istio Workspace, you can find it at the end.

    Cloud-native redefines the inner loop of development

    Those of us who come from a traditional background of working on self-contained systems (also known as monoliths) are accustomed to certain things: Running our applications locally, having instant access to the entire codebase, and being able to debug and reason about the application with ease. We are so spoiled by the undisturbed, inner-loop development cycle of coding, building, and testing that we take it for granted. Figure 1 illustrates the inner loop of a traditional development cycle.

    A flow diagram of the inner-loop of test, code, and build.

    These days, when embracing the new world of containerized, cloud-native applications, we want the traditional activities of inner-loop development to be available out of the box. But, in addition to convenience, these technologies introduce layers of complexity. The cloud-native inner loop has to accommodate activities like building and pushing images, and deploying new services, as shown in Figure 2.

    A flow diagram of the cloud-native inner loop with new activities.

    Each of these new activities adds time to the development process. Most developers would rather spend that time doing interesting things, not waiting on the build process. Luckily, we have plenty of tools to shorten the development cycle, improve productivity, and provide faster feedback. Microservices are not that new, nor are containers and their orchestration platforms. Some of these tools require changing the traditional application infrastructure, and adopting new technologies comes with a learning curve—but that's the exciting part.

    The challenges of testing locally

    Testing new functionality before it reaches production has always been hard, but the shift from monoliths to microservices has brought scale, which has increased the challenge of testing locally. We see developers trying to use tools like Red Hat CodeReady Containers or Minikube to spin up whole applications composed of multiple services.  While this approach works well when projects are relatively small, it's not so easy when you introduce more fine-grained services, and the graph starts to grow. It is not feasible to spin up even a medium-sized distributed system on your own machine.

    Using replicated environments such as staging or quality engineering (QE) gives some confidence, but it's expensive in terms of both cost and maintenance. Despite the effort of defining infrastructure as code, there are still potential differences in the target machines' configuration; they just show up on the operating system and hardware level. It is also frequently impossible to get the same load and volume of data on the test system that is in the actual system. Therefore, testing on production is no longer a meme: It's a reality and a necessity.

    What's needed is a way to use your favorite tools to develop, build, and debug your code locally, but have your application behave as if it were running in the production cluster.

    Testing on production with Istio Workspace

    Testing on production sounds scary and dangerous because a lot of things can go wrong. One thing to worry about is the impact on regular application users. Fortunately, Istio Workspace supports testing on production in an unobtrusive way. It lets you test your changes without users noticing a glitch.

    In the following video, we introduce Istio Workspace as a tool for developing and testing distributed systems running on Kubernetes or OpenShift, while leveraging a service mesh. As you will see, Istio Workspace lets you run the service you are working on locally while interacting with other services running in the cluster. All you need to do is invoke ike develop. Sounds interesting? Watch the demo to get a feeling for what you can do with Istio Workspace.

    Last updated: March 30, 2023

    Recent Posts

    • How to enable Ansible Lightspeed intelligent assistant

    • Why some agentic AI developers are moving code from Python to Rust

    • Confidential VMs: The core of confidential containers

    • Benchmarking with GuideLLM in air-gapped OpenShift clusters

    • Run Qwen3-Next on vLLM with Red Hat AI: A step-by-step guide

    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Products

    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue