UK companies currently struggle to recruit people with skills in Kubernetes and cloud-native development. Red Hat UK would like to invite your 2022 computing graduates to a Kubernetes Bootcamp taking place this summer, to grow their skills and to give them a head-start on employment in Kubernetes related roles. Through a two week program of lectures, hands-on workshops and Q&A activities; we will take the students through all aspects of creating and running cloud-native applications on the Red Hat OpenShift platform. The course will cover:
- An introduction to containerised applications; how they run and how to create them.
- Build and deployment automation,
- Application scaling,
- Application health management,
- Project role-based access control,
- DevOps and GitOps approaches.
We will end the course with innovative technologies including:
- Service mesh for communication resilience,
- Serverless and functions based application,
- Quarkus for lighting fast and low resource consumption Java applications.
This is a great opportunity to get knowledge and hands-on experience with Red Hat OpenShift, and of course, Red Hat swag.
Useful Red Hat Links
- Main site for the Red Hat Organisation
- Introduction to OpenShift
- All Red Hat product documentation
- Red Hat developer pages
- E-Books and Cheat sheets
- OpenShift sandbox (30 days)
- Building modern applications
- Red Hat Hybrid cloud blog
- Tutorials and Interactive lessons
- Red Hat jobs
- Red Hat on LinkedIn
Presentations / Workshops and Q&A sessions will begin at 10:00 am on Monday 25th July and the course will end on Friday 5th August at 4:00 pm.
Week 1 Schedule
Week 2 Schedule
Each minute of lecture time is matched by hands-on workshops so students only need a laptop with internet access to participate. All content and workshops will be delivered virtually.
Introduction to containers and container platforms
Kick off presentation covering the objectives of the course and the initial introduction to containers and the OpenShift container platform. In this session we will demonstrate the use of the OpenShift graphical user interface for the creation of containerised applications from existing containers stored on Quay.io. This session will also show pod monitoring, logs and events.
Introduction to YAML
On the basis that some students will not have encountered YAML definitions before we will provide a short introduction. This will also contrast YAML against JSON formatted text and will give an indication of where each is used.
Command line utilities – Introduction and installation
The ‘oc’ command line interface will be presented such that students can install it on their personal laptops for use during the remainder of the course. Common commands, options and extensions will be provided as examples together with a cheat sheet guide.
Scaling and self-healing of containerised applications
Introduction to pod scaling to provide more resources to support application demands. This section will also cover pod health probes and the actions taken when a pod fails to respond to probes appropriately.
OpenShift infrastructure – nodes and platform scaling
OpenShift is a development platform that removes a huge amount of infrastructure considerations from the developers thought process. However, that does not mean that developers should be completely ignorant of the platform upon which their containers run. This session will provide an overview of OpenShift nodes and will also touch upon the use of specialist nodes such as GPUs that may be required for specific applications.
OpenShift networking – services and routes
Containerised applications have a requirement to communicate with systems and users outside the cluster and they have a requirement to communicate with other containerised applications within the cluster. This presentation will cover the fundamental requirements for communication to the application from the outside world and from within the cluster. Linking to scaling, this section will show how the networking process supports multiple instances of an application.
The Graduate Experience at Red Hat
What’s it like to work at the world’s leading provider of enterprise open source solutions ? Find out from one of our current graduate intake Red Hat Solution Architects who will give you an insight into the typical day (spoiler – there isn’t one) at Red Hat.
Role based access control
Role based access control is used to control access to specific functions within a project. This presentation will introduce namespace controls to enable you to create teams of people who can collaborate together to create and maintain applications on OpenShift.
Deploying an application and a database to OpenShift
This section will introduce the techniques used to deploy an application to OpenShift in order to expose rest interfaces for use by another part of the micro service based application. This section will also show how to deploy a MongoDB database to store data produced by the application. These techniques will be practised in the subsequent hands-on workshop based on your language of choice between Java, .NET, Python and Node.JS.
Building container images with Podman
Podman is an open source solution used for the creation and management of container images. Podman can be used locally on Windows, Linux and MAC computers for users to experiment with dockerfiles used to create container images. Podman and other open source utilities will be explained in this section in terms of their usage and their place within the enterprise software development lifecycle.
Introducing OpenShift Local
Students or new graduates may want an instance of a Kubernetes platform on which they can practice container build and deployment operations, without the need to invest in a cloud hosted environment. OpenShift Local is just that – a local instance of an OpenShift cluster that runs on a laptop/desktop machine at zero cost. It provides a complete web user interface and command line experience for personal development work. This session will show how to install and use the solution on MAC and Linux based computers.
Image registry concepts and Red Hat Quay
This presentation will introduce the concepts of an enterprise image registry for the storage of container images. Red Hat Quay capabilities will be described and demonstrated prior to the student performing a hands on lab exercise.
Container build automation pipelines (Tekton)
A number of tasks are required to be performed to build software, create container images and execute functionality and security testing. This presentation will introduce Red Hat OpenShift Pipelines, an implementation of the upstream open source project Tekton. The session will cover the fundamental aspects of the creation of a cloud-native pipeline comprising detailed steps, tasks and pipeline resources executed on the OpenShift cluster.
Extending the content of the previous presentation on container build automation pipelines, this session will cover the automated triggering of such pipelines from GitHub. This will enable teams to automatically trigger a container build and deployment operation as a result of an action in GitHub, such as a push of a new commit.
OpenShift GitOps Introduction
GitOps is a term that has become very popular in the last few years and is easily on its way to becoming just as overloaded with myth and mystery as DevOps. In this session we will present the principles and practices of GitOps, explaining the why and how of the automated processes that aim to deliver secure, high quality, microservice based applications quickly and efficiently.
DevSecOps – Security in the container pipeline
DevSecOps is a term used to describe the inclusion of a high degree of focus on security at all aspects of development and delivery of applications. This presentation will show how container image vulnerability scanning and Kubernetes resource analysis can be performed as part of the CI/CD process, to ensure highly secure containerised applications are constructed and deployed.
Config Maps and secrets on OpenShift
Various items of metadata need to be used to configure the behaviour of applications running on the OpenShift platform. This session will explain the role and usage of configuration maps and secrets for the storage of data. The presentation will also cover how to expose and use such data within applications.
Service Mesh Introduction
Microservice based applications can quickly become complex with a number of different pods communicating together to create a complete business application. The interaction of such pods can be complex too, with requirements for secure communications, the delivery of traffic to different versions of a microservice and the need for metrics to show the performance of communications. This session will introduce the concepts of a service mesh to take control of the communications between different parts of an application and the ingress of traffic into an application. Covering a wide variety of scenarios this will show how to make the communications between different parts of an application reliable and secure.
Introduction to Quarkus on OpenShift
Quarkus is a Kubernetes-native Java framework made for Java virtual machines (JVMs) and native compilation, optimising Java specifically for containers to significantly increase developer productivity and reduce operational costs. Quarkus delivers applications on a fraction of the resources required by a native Java compilation and it also offers lightning fast startup times for serverless applications. This presentation will introduce the concepts and advantages of adopting Quarkus, ready for a hands-on lab session that follows.
Introduction to OpenShift Serverless
Serverless is a mechanism for ensuring the efficient use of cpu and memory resources on an OpenShift environment by spinning pods down to zero running when there is no need for them. Conversely, service mesh can spin up as many pods as are required to cope with a surge in demand for a business service. In addition service mesh enables teams to create event driven applications that respond to the requirements placed upon them from http requests and messages sent from integration technologies. This session will explain different usage patterns for service mesh and how to deliver the capability on an OpenShift environment.
Introduction to Red Hat OpenShift Streams for Apache Kafka
Red Hat has introduced managed application services to the market. Managed services make it easy to provision and consume services without the need to install, configure, and monitor them. This makes it simple and cost effective for businesses to become innovative without being constrained by their existing IT infrastructure. In this session we’ll explore the Red Hat Managed services and in particular focus on the Red Hat OpenShift for Apache Kafka service. The presentation will be followed by a hands-on lab whereby you’ll create a managed Kafka instance, define topics to it and consume messages from the topic using an application running on the OpenShift Developers sandbox.