Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Kubernetes solutions
1. Presented by:
Introduction to Containers,
Kubernetes, IBM Container
Service and Cloud Private
Eric Cattoir
Yves Debeer
2. • A µServices based architecture takes a monolithic problem and break it down to be delivered as a set
of independently, individually developed, run and operated services
• Instead of building a single, monolithic application, the idea is to split your application into set of
smaller, interconnected services
• Each µService might have its own architecture, implementation language, configuration, release
cycle
• Each µService might expose a set of APIs to other services or clients.
Same Function
But broken down to a
collection of collaborating
services
Microservices
https://www.nginx.com/blog/introduction-to-microservices
3. • The Benefits of µServices are very apparent at large scale development and delivery
• It tackles the problem of complexity
• each service can be constrained to scope of one business value
• easier to develop and maintain
• Enables each service to be developed independently
• separate teams for each service, different technology stack
• enables each µServices to be deployed independently
• one team (UI for example) can iterate features more rapidly
• Each service to be scaled independently
• number of nodes per service
• hardware used for each node
• µServices makes DevOps possible
• It is much easier to DevOps a set of µServices compared to a single monolithic app that needs to
be updated all at once
Microservices
4. Like any other approach, the µServices architecture has its drawbacks and costs.
• While small µServices are preferable, too many µServices might lead to unacceptable performance and lots
of operational overhead
• The goal of µServices is to sufficiently decompose the application in order to facilitate agile application
development and deployment
• Very small services == communication, maintenance, and operational overhead
• Complexity arises from the fact that a µServices application is a distributed system
• Tolerance for partial failure. Much more complex than intra-process method invocation in monolithic
design
• Harder to test and operate
• Very little help in terms of tools and IDEs
• Implementing changes that span multiple services
• Although its not recommended, but this might happen
(happens too often? you’re composing µServices wrong!)
• Deploying a µServices-based application might be more complex
• Need to deploy a number of moving parts
Drawbacks of Microservices
5. • A µServices based architecture takes a monolithic problem and breaks it down to be delivered as a set of
independently, individually developed, run and operated services
• The benefits of µServices are very apparent at large scale development and delivery
• Like any other approach, the µServices architecture has its drawbacks and costs
• Containers to the rescue!
Microservices
https://www.nginx.com/blog/introduction-to-microservices
6. A standard way to package an application and
all its dependencies so that it can be moved
between environments and run without changes.
Containers work by isolating the differences
between applications inside the container so that
everything outside the container can be
standardized.
Containers
7. • Docker is a (traditionally) Linux Container environment that includes specifications, APIs, tools, daemons, image
libraries, etc.
• Docker regulates how users:
• Build images
• Share images with others
• Run images inside Linux Containers
• Linux Containers are
• An operating system–level virtualization method for running multiple isolated Linux systems (containers) on a
single host with high levels of isolation
• A large number of Linux specific technologies are required to make Linux Containers happen
• Namespaces (mnt, pid, net, ipc, uts/hostname, user ids)
• Cgroups (cpu, memory, disk, i/o - resource management)
• AppArmor, SELinux (security/access control)
• seccomp (computation isolation)
• chroot (file system isolation)
• The greatness in Docker is not the “invention” of containers (they were out there already) but making containers
available to the greater community that do not want to understand the above set of technologies
What is Docker?
13. Kubernetes is an open-source
system for automating
deployment, scaling, and
management of containerized
applications.
It groups containers that make up an
application into logical units for easy
management and discovery. Kubernetes
builds upon 15 years of experience of
running production workloads at Google,
combined with best-of-breed ideas and
practices from the community.
What is
Kubernetes?
Production-Grade Container
Orchestration
16. Combining Docker and Kubernetes to deliver powerful tools, an intuitive user
experience, and built-in security and isolation to enable rapid delivery of
applications - all while leveraging IBM Cloud Services including cognitive
capabilities from Watson.
IBM Cloud Container Service
17. Kubernetes abstracted
K8S master K8S worker-1 K8S worker-2 K8S worker-3Hosts (VMs)
e.g. DAL10DataCenter
Containers
Owned by IBM Owned by customer
Kubelet Kubelet Kubelet
18. Intelligent Scheduling Self-healing Horizontal scaling
Service discovery & load balancing Automated rollouts and rollbacks Secret and configuration management
IBM Cloud Container Service
23. Accelerate your digital transformation
Create new cloud-native
apps
Streamline development
with built-in microservices,
runtimes, containers and
Kubernetes orchestration
plus integrated management.
Modernize your heritage apps
on cloud
Move your apps to the cloud or
re-factor an app and use it in
new development and
application workload models.
Open your data center to work
with cloud services
Protect and leverage your in-
house data and pull in external
sources to fuel your apps.
24. Hybrid Cloud – Where Your Innovation Happens
24
Public Dedicated
Private
Cloud
Traditional
On-Premises
Cloud Provider Network
Customer Network
Customer’s own
• databases,
• heritage solutions,
• authentication provider,
• etc
On-Prem Traditional SWOn-Prem Single Tenant
Private Cloud (IaaS + PaaS)
Off-Prem Single Tenant Private
Cloud (IaaS + PaaS)
IBM managed –OR-
customer managed
Off-Prem Multi Tenant
Public Cloud (IaaS + PaaS)
IBM Cloud
Private
Bluemix
25. IBM Cloud 25
A Cloud Native platform with Enterprise grade content
Leverage existing
investments
Open by design,
preventing vendor
lock-in
Enterprise grade
operations, across
your Hybrid IT
environment
Enterprise grade
services for
Middleware, Data,
Analytics, DevOps
IBM Middleware, Data, Analytics and Developer Services
Cloud enabled middleware, messaging, databases, analytics, and
cognitive services to optimize current investments while rapidly
innovating
Core Operational Services
Simplify Operations Management, Security, and Hybrid integration
Provision infrastructure and apps across Multi-Cloud environments
Kubernetes-based Container
Platform
Industry leading container
orchestration platform across
private, dedicated & public clouds
Cloud Foundry
For prescribed app
development &
deployment
Runs on existing IaaS: System Z IBM
Spectrum
Third Party alliances: Dell Cisco NetApp Lenovo Canonical …
CMS
DevOps
Open
Source
29. Who are we targeting, and what they can do
Todd
Operations / Admin
Responsible for infrastructure, security,
and management of the environment.
Jane
Enterprise Developer
Responsible for modernizing existing applications
and creating new Cloud Native Workloads.
30. 1. Optimize legacy
apps with cloud
Containers &
Common Services
Next Generation Middleware,
Data & Analytics
Automation & Orchestration
Cloud-enabled
middleware
Self-service Experience
2. Open your datacenter to work with
cloud services
Integration Services
& Cloud Native Programming
Models
Integration & Hybrid
Cloud
APIs
Public Cloud
Services
Machine Learning
on p/z
Blockchain
Business Process
Data & Apps
3. Create new cloud
native applications
Cloud Native
Services & Runtimes
New
Applications
New Applications
On-Premises Software
& Services
Containers &
Common Services
Automation & Orchestration
Containers &
Common Services
Automation & Orchestration
Use Cases driving private cloud adoption
31. Your data center
• Learn from Knowledge Center
• Download Community Edition (does not include master/proxy HA)
• Download Enterprise Edition from Passport Advantage (accept licenses)
• Prepare VMs and Storage, Move binaries to Boot node
• Install (guided UI) – can be offline (no Internet connection)
• Import Helm Charts, Images into IBM Cloud Private
• Update ICp from boot node, user workloads unaffected
Download, Install, Configure, Update
Download binaries from passport advantage, prepare your infrastructure, install
Passport
Advantage
Master
VMs
Storage Proxy
VMs
Worker
VMs
IBM Cloud Private
Boot
node
Private Docker
Registry
Internal Services
Network mesh with tenant isolation
Persistent
Volumes
Offline
Install
Source
32. Free support
Getting Help
Free and Paid support
Slack Channel: Join us on Slack
Ask a question on Stack Overflow
Paid Support
Middleware Products
(WAS, DB2, MQ, etc.)
IBM Cloud Private
Support
IBM Cloud Private
Triage Team
Open Source Support
(Redis, etc.)
Purchased
Watson Cloud Platform
Products
Watson enabled chatbot as a
support entry point to improve
the overall support experience
Instead of building a single, monolithic application, the idea is to split your application into set of smaller, interconnected services
Each µService might have its own architecture, implementation language, configuration, release cycle
Each µService might expose a set of APIs to other services or clients.
Microservices tackle the problem of complexity
Each service can be constrained to scope of one business value
Easier to develop and maintain
Enables each service to be developed independently
Separate teams for each service, different technology stack
Enables each µServices to be deployed independently,
One team (UI for example) can iterate features more rapidly
Each service to be scaled independently
µServices makes DevOps possible - it is much easier to DevOps a set of µServices compared to a single monolithic app that needs to be updated all at once
However like any other approach, the µServices architecture has its drawbacks and costs.
Very small services == communication, maintenance, and operational overhead
Complexity arises from the fact that a µServices application is a distributed system - harder to test and operate
Tolerance for partial failure. Much more complex than intra-process method invocation in monolithic design
Very little help in terms of tools and IDEs
Implementing changes that span multiple services
Although its not recommended, but this might happen
Deploying a µServices-based application might be more complex – lots of moving parts
Containers are not new… technology goes back 10+ years in Linux.. With key contributions from IBM, Google, Sun and others
Docker is the most popular instance of Containers in the industry
A Kubernetes cluster consists of at least one master and multiple compute nodes.
The master is responsible for exposing the application program interface (API), scheduling the deployments and managing the overall cluster.
Each node runs a docker engine runtime, along with an agent that communicates with the master.
The node also runs additional components for logging, monitoring, service discovery and optional add-ons.
Nodes are the workhorses of a Kubernetes cluster. They expose compute, networking and storage resources to applications.
Nodes are virtual machines (VMs) running in Bluemix Infrastructure.
The node pulls the images from the container image registry and coordinates with the local container runtime to launch the container.
Source: https://thenewstack.io/kubernetes-an-overview/
Microsoft:
Azure
Azure Stack
Microsoft Cloud Platform System (CPS)
Graphical view of the capabilities – talk through the layers
… plus, CAM capability for multi-cloud orchestration
*****
When ready, your existing data/apps can also be referenced from public cloud
When really ready, your private cloud becomes an assistant to move your workloads into IBM Cloud ... you choose region
What I just laid out on the story…get to Quincy…this is what I want my speech at Interconnect to be…use these proof points…
- Kube and Service binaries are bundled together in Passport Advantage.
User downloads to any location, moves to data center (if need offline mode)
Install Kube using CLI or UI (UI provides guidance)
Import helm charts, images from bundle into running Icp
Start using!!!
Boot Node:
A boot or bootstrap node is used for running installation, configuration, node scaling, and cluster updates. Only one boot node is required for any cluster. A single node can be used as both master and boot. Deploys IBM® Cloud private on master and worker nodes. The boot node is also used to scale the size of the cluster on demand, and for doing rolling updates.
the boot node could be any node of cluster
the boot node is the node to run installer command or installer-ui to install, path
The boot node is used to update
the boot node need has the ssh network access without password to all the nodes of the cluster
Updating ICp
Download update binaries to boot node
Run update…it will update master nodes and proxy nodes. Worker nodes are not brought down…so no user workloads are affected
DETAIL: Since Master nodes control scheduling/restarting Pods, if a user workload goes down during an update, it may not be automatically restarted
Chat bot will start off and stores all Knowledge center, and all client issues resolved up to that second. Triage team is available when user needs a human.
When ready, your existing data/apps can also be referenced from public cloud
When really ready, your private cloud becomes an assistant to move your workloads into IBM Cloud ... you choose region