A guest lecture delivered to the third year undergraduate students of the Cloud Computing Infrastructure and Services module, in the Department of Computer Science at University College Cork, Ireland. The talk covers IBM Cloud, Red Hat OpenShift, and a live demo (with video) showcasing building, deploying, operating, and troubleshooting an application composed of three microservices, running on Red Hat OpenShift, showing the how the features and capabilities of the platform can be used.
YouTube video of demo can be found at https://www.youtube.com/watch?v=yWI1Uo-jUdU
2. September 2008: Computer Science CK401, UCC
Summer 2011: 3rd Year Work Placement -
Software Developer, MA/COM Technology Solutions, Cork
September 2012: Started PhD
Computer Science,
University College Cork
2012 - 2015: Research, conferences,
publications, and teaching
September 2015: Joined
IBM Cork, Cloud Team
December 2015: Successfully defended
thesis, “Investigation into a best
practice model for providing an
integrated user experience with
mobile cloud applications” at Viva
February 2016: PhD Conferring
May 2016: Chairman of
CoderDojo, IBM Cork
June 2019: Finished Chairman role, CoderDojo
Today, 2023: Advisory Software
Engineer, IBM API Connect
April 2012: Awarded Irish Research Council
EMBARK Scholarship for PhD
June 2012: Graduated 4th Year – Final Year Project
“Design of Services for Private Clouds”
July 2018 – now: Certifications –
Cloud Foundry Developer,
Kubernetes Application Developer,
IBM Cloud Application Developer
March 2017: Co-organiser of the Cork
Open Technologies Meetup Group
2
University College Cork - 21st November 2023
3. How did Michael “define”
Cloud Computing as a
researcher?
3
https://cora.ucc.ie/handle/10468/2231
University College Cork - 21st November 2023
7. 7
University College Cork - 21st November 2023
Today’s talk and demo will focus on working with Containers, specifically
running microservice-based applications as Containers, deployed as
Kubernetes Pods, running on a Modern Cloud Platform
8. IBM Cloud Catalog – Containers Solutions and Services
8
https://cloud.ibm.com/catalog
University College Cork - 21st November 2023
9. Comparing Cloud Service Models – what do you manage?
9
University College Cork - 21st November 2023
Today’s talk will explore and use the Platform as a Service (PaaS) Model,
which means we most only provide our application code and data –
the platform will handle the rest, allowing us to get up and running faster
10. What is PaaS?
A cloud computing model that provides customers a
complete cloud platform—hardware, software, and
infrastructure—for developing, running, and managing
applications without the cost, complexity, and
inflexibility that often comes with building and
maintaining that platform on-premises.
The PaaS provider hosts everything—servers,
networks, storage, operating system software,
databases, development tools—at their data
center. Typically, customers can pay a fixed fee to
provide a specified amount of resources for a
specified number of users, or they can choose
'pay-as-you-go' pricing to pay only for the
resources they use. Either option
enables PaaS customers to build, test, deploy run,
update and scale applications more quickly and
inexpensively they could if they had to build out
and manage their own on-premises platform.
University College Cork - 21st November 2023 10
https://www.ibm.com/topics/paas
11. 11
University College Cork - 21st November 2023
There is an abundance of platforms, tools, and technologies to help us build, deploy, and operate our
cloud applications – what to pick, and where to start?
12. Introducing Red Hat OpenShift
12
https://www.redhat.com/en/technologies/cloud-computing/openshift
University College Cork - 21st November 2023
13. Let’s work! Demo Application with Three Microservices
13
University College Cork - 21st November 2023
15. Summary
In the demo, we explored how a Modern Cloud Platform such as Red Hat OpenShift can be used to:
• Build Applications from Source (e.g. artifacts in a GitHub Repository, or from a Dockerfile) into a Container
Image
• Deploy built Container Images to run our applications on a Cluster
• Providing Routing and Service Resolution for external traffic to reach our applications within the Cluster
• Provide Configuration capabilities for our applications, e.g. configuration injection via environment variables
• Provide insight into how our applications are behaving and performing, via the Observability features such as
logging and metrics dashboards
• How the observability features can be used with the automatic scaling features of the platform, to
horizontally scale our applications to multiple, concurrent replicas to handle increased demand workload.
University College Cork - 21st November 2023 15
16. Links/References
– Get started on IBM Cloud: https://www.ibm.com/cloud/get-started
– Free (for life!) IBM Cloud account: https://www.ibm.com/cloud/free
– Create a free Kubernetes Cluster on IBM Cloud: https://www.ibm.com/cloud/free/kubernetes
– UCC Devcon 2022 talk on automation on the cloud, by Michael J. O’Sullivan and Louis Sullivan:
https://youtu.be/oEjcaxsTOr0
– Kubernetes: An Introduction to the Open Source Container Orchestration Platform,
by Michael J. O’Sullivan:
https://www.slideshare.net/MichaelOSullivan41/kubernetes-an-introduction-to-the-open-source-container-orchestration-platform
– IBM Cloud UCC 2017 Talk, by Sanjay Nayak and Michael J. O’Sullivan:
https://www.slideshare.net/MichaelOSullivan41/ibm-cloud-ucc-talk-22nd-november-2017
– What is Cloud Native? https://www.ibm.com/topics/cloud-native
– The Twelve-Factor App: https://12factor.net/
16
University College Cork - 21st November 2023
17. Links/References
– Frontend Next.js Demo Project on GitHub: https://github.com/mos2/carbon-nextjs/tree/lecture
– Users Backend Go Demo Project on GitHub: https://github.com/mos2/users-service-go
– Project Backend Node.js with Express.js Demo Project on GitHub:
https://github.com/mos2/projects-service-nodejs
– IBM Carbon Design System: https://carbondesignsystem.com/
– Vegeta Tool: https://github.com/tsenart/vegeta
– Next.js Framework: https://nextjs.org/
– Express.js Framework for Node.js: https://expressjs.com/
– Gin Web Framework for Go: https://gin-gonic.com/
– Learn Kubernetes Basics: https://kubernetes.io/docs/tutorials/kubernetes-basics/
– Docker 101 Tutorial: https://www.docker.com/101-tutorial/
17
University College Cork - 21st November 2023