Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting started with OpenShift for Developers (...

Getting started with OpenShift for Developers (featuring odo)

There are differences between Red Hat OpenShift and "vanilla Kubernetes," and Red Hat OpenShift helps developers build, instrument, and manage containerized solutions that can be run more securely on any infrastructure.

In this breakout session, we'll:

Highlight a few unique developer-focused features that have been included in Red Hat's Cloud Native Computing Foundation-certified (CNCF-certified) distribution of Kubernetes.
See live demos showing how to quickly build, test, and iterate on Java-based solutions via IDE or via command-line.
Show you how to iterate at top speed using the odo command line tool while taking advantage of deep platform insights made available through the newly redesigned "developer perspective" web interface.

ryan jarvinen

April 28, 2020
Tweet

More Decks by ryan jarvinen

Other Decks in Programming

Transcript

  1. featuring the odo command line tool #T0AA41 Ryan Jarvinen Developer

    Advocate, Red Hat Getting started with OpenShift for Developers
  2. Distributions by Red Hat • RHEL 8 for Enterprise Productivity

    • RHEL CoreOS for Container Hosts • Fedora for reliable access to early upstream bits • Universal Base Images for Containerized Workloads • Fedora IoT for Edge Enablement ➜ OpenShift is a complete Cloud Platform built around Kubernetes
  3. ➔ What is Kubernetes? ➔ What Kubernetes is not? ➔

    What does success with Kubernetes typically look like? Q2: What is the value to developers? +
  4. Developer Productivity in Scope A distributable cloud platform - consistently

    deliverable to any hardware environment, including bare metal Kubernetes OpenShift Developer Productivity Out of scope Developer Perspective (app-centric topology view, live terminals, logs, and stats), Routes (easy hostname records), Developer Catalog (Operator-backed, Admin configurable) Inner Loop Out of scope CodeReady Workspaces (hosted IDE w/ VScode plugin support), odo (“cf push” style code promotion between commits) Builds, Pipelines Out of scope Tekton pipelines, Buildah (runs builds on cluster, producing container images that do not require root privs) Container Registry Out of scope Quay w/ Clair for static image analysis (on-cluster) Logging Out of scope Prometheus (on-cluster, Developer Perspective dashboard includes PromQL and live data) Service Mesh Out of scope Istio 1.4.6, Kiali 1.12.7, Jaeger 1.17.1 (on-cluster) Serverless Out of scope Knative (on-cluster, Developer Perspective dashboard integration) Advanced Workloads & Marketplace CRDs (v1.12+ recommended) Dashboard support for CRDs, Disk storage (volumes and claims), Operator Marketplace (on-cluster), Helm3, KubeVirt (VMs), GPUs
  5. ➜ What does success typically look like? fo v o

    r ✅ What is Kubernetes? Q2: What is the value to developers? ✅ What Kubernetes is not?
  6. +

  7. +

  8. Software Distributions: 1. A complementary collection of tools, refined over

    time, with a clear plan for maintenance 2. A proven pattern for enabling developer productivity 3. How successful teams maintain focus on their $dayjob +
  9. kubectl oc odo Community standard command line tool for interacting

    with Kubernetes API resources ✅ Support for kubectl plugins and CustomResourceDefinitions for extended functionality ✅ ✅ A drop-in replacement for kubectl that includes support for OpenShift-specific resources types ✅ Credentials management and cluster login support via oc login ✅ ✅ Enhanced support for Kubernetes namespaces ✅ ✅ Automatically sync code changes into a cluster: oc rsync, odo watch ✅ ✅ Ability to preview code changes on the cluster: odo push (comparable to cf push) ✅ Enhanced support for application components and label management. Quickly adopt best-practices while you work ✅ Command Line Options Choose the right tool for the job
  10. odo create <component_type> [component_name] [--local] [local_path] Command Syntax: Use local

    files and artifacts to preview changes while odo provides enhanced support for application-component labels and context management odo create nodejs frontend --local ./frontend odo create java:11 backend --binary ./target/myapp.war Examples: Application Components
  11. Iterative development with odo • Decouple pushes from commits to

    increase commit accuracy • Push local sources to initiate hosted builds and deployments • Push local binary build artifacts into remote containers odo push
  12. Inner loop development with odo • Watch local sources and/or

    binary artifacts for updates, then replicate changes into a hosted container • Synchronize HTML, CSS, and interpreted language sources to achieve tighter loops with production-grade instrumentation • Minimal feedback latency odo watch
  13. Results in Perspective ✅ via command-line ✅ via IDE integrations

    ✅ via the Developer Perspective Iterative feedback available:
  14. 1. What is OpenShift? 2. What is the value to

    developers? Review ✅ A distributable cloud platform built around Kubernetes ✅ Low latency iteration plus deep insights ✅ Reliable access to production-grade tools and instrumentation ✅ The ability to apply tools to problems wherever they exist
  15. Try it for yourself ✅ Demo ➜ Install odo https://bit.ly/try-odo

    https://bit.ly/install-odo ➜ Get OpenShift v4 https://openshift.com/try Create your own cluster https://openshift.com/try