# Introduction

## App Modernization Workshop

In the workshop you will learn about foundational open source technologies and OpenShift for building modern, scalable, portable, and robust applications. We will be focusing on the developer experience in OpenShift, and tricks you can employ to spend less time configuring environments and getting things working and more time coding.

### Agenda

* [Session 1](#session-1)
* [Session 2](#session-2)
* [Session 3](#session-3)
* [Session 4](#session-4)
* [Technology Used](#technology-used)
* [Presenters](#presenters)

## Setup

|                                                                                                                                             |                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| [Access IBM Skills Network](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/setup/client-skillsnetwork) | Your client (CLI) environment       |
| [Access your OpenShift Cluster](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/setup/server-openshift) | Your server (OpenShift) environment |

## Session 1

|                                                                                                                              |                                                         |
| ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [Lecture: Docker](https://ibm.box.com/s/bc2sj53nasgjbfr7v3kuo59ydaq5nltt)                                                    | What is Docker?                                         |
| [Lab: Docker](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/session-1/docker101)       | Series of Docker Labs                                   |
| [Lecture: Kubernetes](https://ibm.box.com/s/migr539izuf8d686shemct1na0gyvl6v)                                                | What is Kubernetes?                                     |
| [Lab: Kubernetes 101](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/session-1/kube101) | Kubernetes Introduction Labs (Deploying & Scaling Apps) |

## Session 2

|                                                                                                                                                                    |                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------- |
| [Lecture: Kubernetes Landscape](https://ibm.box.com/s/zkms4ju18cilxeevoznqu1az6y9sgunv)                                                                            | Istio, Helm,  and Operators                   |
| [Demo: Helm 101](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/session-2/helm101)                                            | Helm 101                                      |
| [Extra Credit: Operators](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/kubernetes-extensions.git)                           | Create a Custom Kubernetes Operator           |
| [Extra Credit: Istio 101](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/session-2/istio101)                                  | Lab on features of Istio                      |
| [Lecture: Intro to OpenShift](https://ibm.box.com/s/njzc97ocf80ss2rhhscc7pp03dipbcc4)                                                                              | Learn about Developer Experience in OpenShift |
| [Lab: S2I and Templates](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/app-modernization-openshift-s2i-templates-lab-shared) | Deploy Cloud Native Applications using S2I    |

## Session 3

|                                                                                                                                                                          |                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- |
| [Lecture: Overview of Tekton Pipelines](https://ibm.box.com/s/kisshn88w4a79jzz557o5h6c5k55o9ze)                                                                          | Tekton Overview Lecture           |
| [Lab: Tekton on OpenShift](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/session-3/tools-install-tekton/tekton-tutorial-openshift) | Tekton Pipelines in OpenShift Lab |

## Session 4

|                                                                                                                                     |                                                                               |
| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [Lecture: OpenShift Developer Experience](https://ibm.box.com/s/90vdp32dkjhdp2vss3qwkpdnws6jmz95)                                   | Lecture on OpenShift Developer Experience                                     |
| [Lab: Custom Dev Stacks](https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/session-4/devfile-lab) | Building a custom stack for a portable development environment using devfiles |

## Technology Used

* Docker
* Kubernetes
* Helm
* RedHat OpenShift
* IBM Kubernetes Service
* IBM Transformation Advisor
* Jenkins
* Istio

## Presenters

* [John Zaccone](https://github.com/jzaccone)
* [Oliver Rodriguez](https://github.com/odrodrig)
* [Rojan Jose](https://github.com/rojanjose)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ibm-developer.gitbook.io/cloudpakforapplications-appmod/workshop-07-27-2020/undefined.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
