Anúncio

AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Development on OpenShift 4

AWS Summits
16 de Apr de 2019
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Development on OpenShift 4(20)

Anúncio

Mais de AWS Summits(20)

AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Development on OpenShift 4

  1. Latest trends for Cloud Native Application Development on OpenShift 4 Stephen Bylo Snr Specialist Solution Architect, Containers and OpenShift April 11th 2019
  2. OPEN HYBRID CLOUD HYBRID CLOUD INFRASTRUCTURE Infrastructure software across the 4 footprints, with RHEL at the very core CLOUD-NATIVE APP PLATFORMS Software to rapidly & efficiently develop & deploy apps across hybrid cloud MANAGEMENT & AUTOMATION Software can simplify management & automation of hybrid cloud environments THREE PILLARS OF THE RED HAT BUSINESS
  3. CLOUD-NATIVE APP PLATFORM Automate Kubernetes application Operations with DevOps in mind Cloud-native middleware applications services and service mesh Tools and standard processes to increase developer productivity on Kubernetes Our vision is to simplify the creation of cloud-native services and serverless functions with a rich set of components and tools without forcing a deep knowledge of Kubernetes.
  4. DEVELOPERS ARE KEY TO PLATFORM ADOPTION 58% of developers said they are the primary decision makers in choosing a container platform. Source: Cloud development Survey 2017 - Evans Data Corp
  5. DEVELOPMENT HAS CHANGED... From local desktop, single language, and custom processes to ... Using Many Languages Adopting Containers Moving to the Hybrid Cloud Source: Cloud Development Survey 2017 - Evans Data Corp
  6. ...AND HAS BROUGHT NEW CHALLENGES Dev Tool IntegrationConfig and Setup Source: Cloud Development Survey 2017 - Evans Data Corp 41% Of enterprises see non-integrated tools as an inhibitor to container adoption. 24% Of time spent building and maintaining developer environments.
  7. Do all development in containers Enable developers and teams to make better decisions Improve & standardize end to end process, not just single tasks Reduce setup and management time RED HAT DEVELOPER TOOLS APPROACH
  8. OPENSHIFT DEVELOPER ECOSYSTEM
  9. Red Hat OpenShift Hybrid Serverless Red Hat OpenShift Knative Function as a Service* The leading enterprise Kubernetes platform Automated Operations Build and run anywhere (Hybrid Cloud) Developer experience APIs, CLI, service binding Events Build Serving Building blocks for serverless Source-centric and container-based Red Hat Enterprise Linux or Red Hat CoreOS Kubernetes Automated Operations Hybrid Install / Ops Ops & Dev Consoles Install / Upgrade Security / Auth Network / CNI Storage / CSI Istio Operator Framework RH MW Services (Operator backed) ISV Services (Operator backed) ODO CLI Eclipse Che Invoker Runtime CLI API
  10. DEVELOPER TOOLS
  11. CodeReady Workspaces ● Browser-based Web IDE + Dev Environment in pods ● Red Hat supported Eclipse Che ● Bundled with OCP/OSD SKU ● Available on OCP and OSD ● Enabled via an operator ● RHEL 8-based stacks (tools and runtimes)
  12. CODEREADY WORKSPACES Container Workspaces Workspace replicas to end “works on my machine” and enable team collaboration. A collaborative container-native development solution that runs in OpenShift on-premises or in the cloud. Built In Security: OpenShift running on Red Hat Linux, with development containers using secure Red Hat Linux. DevOps Integrations Reference developer workspaces from any issue, failed build, or git notification. Protect Source Code Full access to source code without any of it landing on hard-to-secure laptops. Use It To: Simplify container-based development and increase efficiency. Based on Eclipse Che!
  13. odo is a new CLI for OpenShift that is tailored for developer syntax and workflows. Goal is to make it simple for a developer to create an app, add components (like a database) and expose it without needing to know Kubernetes. odo is a affectionately called “OpenShift DO!” odo: A CLI FOR DEVELOPERS > odo create wildfly backend Component ‘backend’ was created. To push source code to the component run ‘odo push’ > odo push Pushing changes to component: backend > odo storage create backend-store --path /data --size 100M Added storage backend-store to backend > odo create php frontend Component ‘frontend’ was created. To push source code to the component run ‘odo push’ > odo push Pushing changes to component: frontend > odo url create frontend - http://frontend-myproject.192.168.99.100.nip.io > odo watch Waiting for something to change in /Users/tomas/odo/frontend COMMUNITY 1.0 IN MAY
  14. Provides a pre-built development environment based on Red Hat Enterprise Linux and OpenShift for quick container-based application development. Use with OpenShift on- premises or cloud. Available for: - Linux (no VM) - Windows (Virtualbox) - MacOS (Virtualbox) CODEREADY CONTAINERS Use It To: Simplify direct-to-OpenShift development on laptops. OpenShift 3.x: Container Development Kit (CDK) - Linux, Windows and Mac (with VMs) - Simplified RHEL entitlement - Available now OpenShift 4.x: CodeReady Containers - Linux, Windows and Mac (with VMs) - Toolbar widget for quick access - Simplified upstream/downstream - Target release: May 2019
  15. Build / Pipelines A pluggable model for building artifacts, like jar files, zips or containers from source code. Knative Overview - Components Serving An event-driven model that serves the container with your application and can "scale to zero". Eventing Common infrastructure for consuming and producing events that will stimulate applications. "...an extension to Kubernetes exposing building blocks to build modern, source-centric, and container- based applications that can run anywhere".
  16. KNATIVE FOR DEVELOPERS Knative Pipelines A Kubernetes-native CI that utilizes existing Kubernetes primitives to provide you with the ability to run on- cluster container builds from source, test them and deploy them. OpenShift Cloud Functions Based on Knative, the developer experience for OCF will be exposed through: - The upcoming OpenShift DevOps console - In CodeReady Workspaces - Through odo developer CLI - In plugins for other IDEs In Development
  17. OPERATORS
  18. OPERATORS KNOWLEDGE IN A BOX
  19. Operators are automated software managers for Kubernetes applications: Install and Lifecycle
  20. Application-specific controllers that extend the Kubernetes API to create, configure, and manage instances of complex stateful applications on behalf of a Kubernetes user
  21. kind: ProductionReadyDatabase apiVersion: database.example.com/v1alpha1 metadata: name: my-production-ready-database spec: clusterSize: 3 readReplicas: 2 version: v4.0.1 [...] Extend the Kubernetes API through the Custom Resource Definition (CRD) mechanism
  22. Extend the Kubernetes API through the Custom Resource Definition (CRD) mechanism { }
  23. Reconciling desired state for your application { }
  24. OPERATORHUB ● Accessible to admins only ● Discovery/install of all optional components and apps ● Upstream and downstream content ● ISV partners will support their Operators CONFIRMED FOR 4.0 Red Hat Products ISV Partners Community TYPES OF OPERATORS
  25. ● Entry point for a developer to access all services available to them ● Merges all capabilities from Operators, Service Catalog, Brokers, and S2I DEVELOPER CATALOG CONFIRMED FOR 4.0
  26. OPERATOR MARKETPLACE
  27. Operator Powered UI Extensions SERVICE MESH External Application Launcher CNV Native Experience MONITORING Native + External Links Core Platform OPERATOR & BROKER APPS Dev. Catalog METERING & CHARGEBACK Native Experience OCP 4.0 OCP 4.1 OCP 4.1 OCP 4.0 OCP 4.1
  28. operatorhub.io
  29. SERVICE MESH
  30. OPENSHIFT SERVICE MESH Observe Observe Secure ControlConnect Jaeger Prometheus Istio
  31. Kiali (GUI for Istio / OSM)
  32. Operator based installation Kiali Integration * A developer preview is available for 3.11
  33. OPENSHIFT 4
  34. New Installation Process via openshift-install ● OpenShift 4 introduces a new CLI-based installer designed to easily provision of a “best practices” OpenShift cluster on RH CoreOS immutable infrastructure ○ Control plane must be deployed on RH CoreOS nodes ○ Support for adding RHEL infra/worker nodes ● Simplified cluster creation with an interactive guided workflow ○ Allows for customization at each step ○ https://github.com/openshift/installer/blob/master/docs/user/customization.md ● Quickly download installer client (& token) from https://cloud.openshift.com and run from anywhere ● Non-essential installation config options are now handled post- install via component operator CRD’s ● Used new installations of OpenShift 4 only! ○ Does NOT support installing or upgrading of OCP 3.x clusters! $ ./openshift-install create cluster ? SSH Public Key /Users/<userid>/.ssh/id_rsa.pub ? Platform aws ? Region us-west-2 ? Base Domain openshift.com ? Cluster Name ocp ? Pull Secret [? for help] ************************************************************* INFO Creating cluster... INFO Waiting up to 30m0s for the Kubernetes API... INFO API v1.11.0+c69f926354 up INFO Waiting up to 30m0s for the bootstrap-complete event... INFO Destroying the bootstrap resources... INFO Waiting up to 10m0s for the openshift-console route to be created... INFO Install complete! INFO Run 'export KUBECONFIG=<your working directory>/auth/kubeconfig' to manage the cluster with 'oc', the OpenShift CLI. INFO The cluster is ready when 'oc login -u kubeadmin -p <provided>' succeeds (wait a few minutes). INFO Access the OpenShift web-console here: https://console-openshift- console.apps.ocp.openshift.com INFO Login to the console with user: kubeadmin, password: <provided> Documentation: https://github.com/openshift/training/ openshift-install is downloadable from https://cloud.openshift.com!
  35. ● “Over-the-air” updates can be performed from either OpenShift Cluster Console: “Administration→Cluster Settings” menu or Red Hat Cloud web interface at https://cloud.openshift.com ● Update images are comprised of top level controller manifests, roles, and other resources necessary to update a cluster to a particular version ○ Bundled as a container image to avoid the need for a separate content delivery mechanism Over-the-air Updates
  36. Air-gapped Environments Disconnected Installation & Updating ● Support for installing and updating of OpenShift clusters in air-gapped environments is tentatively planned for 4.2; final design still under discussion and subject to change! ● Admin first need to mirror installation and update payload images to a local container registry, then openshift- install and ‘oc adm upgrade’ can be configured to leverage the offline content ○ RH CoreOS images for AWS will also need to be copied to a local S3 bucket and AMI ID defined in install-config Admin Local Container Registry Container Registry # mirror update image: $ oc adm release mirror --from=<rht repo:version> --to=<local repo:version> # provide cluster with update image to update to: $ oc adm upgrade --to-mirror=<local repo:version> Local Copy of Update Image Air-gapped OpenShift Cluster Red Hat sourced Update Image Mirrored to local registry Cluster updated locally Customer Cluster
  37. Cloud API Consistent view Autoscaling Infrastructure Resilience
  38. OpenShift Hive API Driven Multi-cluster Provisioning & Lifecycle Management ● Reliably provision/deprovision, upgrade, & configure OpenShift 4 clusters ○ 4.1: Internal only release ■ Initial support for OpenShift deployment on AWS only. ■ Primary focus supporting Dedicated clusters and the new UHC Portal/API. ■ May be used to drive cluster creation for CI. ● Leverages: ○ openshift-install - Uses CLI to launch clusters in the public cloud ○ Kubernetes Cluster API - Declarative, Kubernetes-style APIs for cluster creation, configuration, and management ○ Kubernetes Federation - Makes it easy to manage multiple clusters ● Working code & documentation now available: ○ https://github.com/openshift/hive Hive Future Deliverable
  39. THANK YOU Stephen Bylo Snr Specialist Solution Architect, Containers and OpenShift
Anúncio