Slide 1

Slide 1 text

Cloud Native Development Getting Started with OpenShift Pipelines Pooja - IBM, Developer Advocate Balaji - Infosys, Principal, Education Training and Assessment

Slide 2

Slide 2 text

https://ibm.biz/cloudnative-gist

Slide 3

Slide 3 text

Cloud native development is about how apps are built and deployed 12 Factor is a methodology for building software Infosys and IBM have world class experience in cloud native development OpenShift is the most ideal platform for application deployment

Slide 4

Slide 4 text

Cloud Native Principles Real-world Use Cases IBM Cloud Native Toolkit Hands-on Lab: Deploy with Tekton Pipelines

Slide 5

Slide 5 text

Cloud native is about how an application is built and deployed, not where it resides.

Slide 6

Slide 6 text

Cloud Native Building Blocks 6 Microservices Automated DevOps Containers Results in a lightweight, modular, highly automated approach

Slide 7

Slide 7 text

Codebase Dependencies Configuration Backing Services Build Release Run Stateless Processes Port Binding Concurrency Disposability Dev Prod Parity Logs Admin Processes 12 Factors

Slide 8

Slide 8 text

Local Dev/Text Release Deploy Operate Measure Plan Code Build Test Enterprise Grade Software Development Life Cycle (SDLC) CI CD Jenkins (Build) Zenhub (Project mgmt) Image Registry (Container Images) (Store assets and dependencies) (Analyze and test code) CodeReady Workspaces (Web IDE) Swagger Editor (API validation & documentation) Kubernetes Pact Testing (Test microservice contracts) Sysdig (View metrics and alerts) LogDNA (View logs) Argo CD (CD Release) NPS Jaeger (Container Images) Knative Tekton (Build pipeline) (Helpdesk) PagerDuty IBM Hyper Protect Services (Code signing, Keep your own key - KYOK) Deploy to Clusters or Serverless Github (Source code mgmt) IBM Key Protect (Certificate APIs for code signing) 8 IBM Cloud / © 2020 IBM Corporation

Slide 9

Slide 9 text

Lab

Slide 10

Slide 10 text

• Open source governed by Continuous Delivery Foundation • Contributors from IBM, Google, Red Hat, and more • Cloud-native built upon Kubernetes • Pipelines, Tasks, PipelineRuns, etc. are CRDs • Formerly known as “Knative Build” and “Knative build- pipelines” • Parallel workflows, triggers, every step isolated in a container, etc. • Pipeline-as-code (yaml) • Pipeline portability across clouds and vendors • Trigger on Git commits, pull (merge) requests, webhook, manually, or specific times. • Fostering ecosystem of common pipelines and tasks, e.g. tool integrations, compliance process https://tekton.dev Tekton 10 IBM Cloud / © 2020 IBM Corporation

Slide 11

Slide 11 text

Tekton Concept: Step • The smallest building block • Specify images, commands, arguments • Is a container steps: - name: echo image: ubuntu command: - echo args: - "hello world"

Slide 12

Slide 12 text

Tekton CRD: Task • New CRD • Sequence of Steps • Run in sequential order • Reusable • Perform a specific task • Runs on the same k8s node apiVersion: tekton.dev/v1alpha1 kind: Task metadata: name: echo-hello-world spec: steps: - name: echo image: ubuntu command: - echo args: - "hello world"

Slide 13

Slide 13 text

Tekton CRD: Pipeline • Expresses Tasks • Sequentially • Concurrently • Links input and output • Execute Tasks on different nodes apiVersion: tekton.dev/v1alpha1 kind: Pipeline metadata: name: tutorial-pipeline spec: - name: build-app taskRef: name: build-push resources: outputs: - name: image resource: my-image - name: deploy-app taskRef: name: deploy-kubectl resources: inputs: - name: image resource: my-image from: - build-app

Slide 14

Slide 14 text

Tekton Runtime CRDs • Instances of Pipelines and Tasks: • PipelineRun • TaskRun • Runtime info such as registry information and git repo apiVersion: tekton.dev/v1alpha1 kind: PipelineRun metadata: name: tutorial-pipeline-run-1 spec: serviceAccountName: tutorial-service pipelineRef: name: tutorial-pipeline resources: - name: source-repo resourceRef: name: skaffold-git - name: web-image resourceRef: name: skaffold-image-leeroy-web

Slide 15

Slide 15 text

Putting it all together Linting Unit tests Setup test environment Build images Run integration tests Run end to end tests Publish images Deploy Pipeline Task Task Task Task Task Task Task Step Step Step Step Step Step Step Step Step

Slide 16

Slide 16 text

Getting Started with OpenShift Pipelines https://learn.openshift.com/middleware/pipelines/

Slide 17

Slide 17 text

https://learn.openshift.com/middleware/pipelines/

Slide 18

Slide 18 text

• Cloud-Native Toolkit Guide • Cloud Native Bootcamp • All new Building Cloud Native and Multicloud Applications course now available • Microservices for beginners • Red Hat OpenShift on IBM Cloud • Getting Started with Containers Resources

Slide 19

Slide 19 text

Check out IBM Developer https://developer.ibm.com/components/redhat-openshift-ibm-cloud/

Slide 20

Slide 20 text

FREE IBM Cloud Essentials course with BADGE https://cognitiveclass.ai/courses/ibm-cloud-essentials

Slide 21

Slide 21 text

Subscribe to our Crowdcast.io https://www.crowdcast.io/ibmdeveloper

Slide 22

Slide 22 text

22