sphinx.addnodesdocument)}( rawsource children]docutils.nodessection)}(hhh](h title)}(h$Operations and Life Cycle Managementh]h Text$Operations and Life Cycle Management}(hhparenth _documenthsourceNlineNuba
attributes}(ids]classes]names]dupnames]backrefs]utagnamehhhhhh[/home/opnfv/slave_root/workspace/cntt-tox-ra1/doc/ref_arch/openstack/chapters/chapter07.rsthKubh)}(hhh](h)}(hIntroductionh]hIntroduction}(hh2hh0hhhNhNubah}(h!]h#]h%]h']h)]uh+hhh-hhhh,hKubh paragraph)}(hXl To create an Infrastructure as a Service (IaaS) cloud requires the
provisioning and deployment of the underlying infrastructure (compute,
networking and storage) and deployment, configuration and management of
the necessary software on the infrastructure; in the process of
deploying the software, configuration of the infrastructure may also
need to be performed.h]hXl To create an Infrastructure as a Service (IaaS) cloud requires the
provisioning and deployment of the underlying infrastructure (compute,
networking and storage) and deployment, configuration and management of
the necessary software on the infrastructure; in the process of
deploying the software, configuration of the infrastructure may also
need to be performed.}(hhBhh@hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh?)}(hXb Instead of deploying the infrastructure components and services
manually, the current best practice is to write *code* (Infrastructure
as Code, IaC) to define, provision, deploy, configure and manage the
IaaS cloud infrastructure and services. IaC tools allows the entire
provisioning, configuration and management processes to be automated.
The desired state of the infrastructure and services is represented in a
set of human readable, machine executable, and version-controlled files.
With version control, it is easy to roll back to an older version and
have access to the history of all committed changes.h](hpInstead of deploying the infrastructure components and services
manually, the current best practice is to write }(hpInstead of deploying the infrastructure components and services
manually, the current best practice is to write hhNhhhNhNubh emphasis)}(h*code*h]hcode}(hhhhYhhhNhNubah}(h!]h#]h%]h']h)]uh+hWhhNubhX (Infrastructure
as Code, IaC) to define, provision, deploy, configure and manage the
IaaS cloud infrastructure and services. IaC tools allows the entire
provisioning, configuration and management processes to be automated.
The desired state of the infrastructure and services is represented in a
set of human readable, machine executable, and version-controlled files.
With version control, it is easy to roll back to an older version and
have access to the history of all committed changes.}(hX (Infrastructure
as Code, IaC) to define, provision, deploy, configure and manage the
IaaS cloud infrastructure and services. IaC tools allows the entire
provisioning, configuration and management processes to be automated.
The desired state of the infrastructure and services is represented in a
set of human readable, machine executable, and version-controlled files.
With version control, it is easy to roll back to an older version and
have access to the history of all committed changes.hhNhhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh?)}(hXE The provisioning of the infrastructure is typically performed by
provisioning tools while the deployment of the software and the
configuration of the software, and where needed the infrastructure,
falls in the domain of configuration management tools. A single tool may
support both provisioning and configuration management.h]hXE The provisioning of the infrastructure is typically performed by
provisioning tools while the deployment of the software and the
configuration of the software, and where needed the infrastructure,
falls in the domain of configuration management tools. A single tool may
support both provisioning and configuration management.}(hhthhrhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh?)}(hX Operators may choose certain paradigms with respect to how they
provision and configure their IaaS cloud. These paradigms will drive the
selection of the provisioning and configuration tools. In this chapter
we will discuss the capabilities of provisioning and configuration
management systems; some Open Source tools may be mentioned but their
capabilities are beyond the scope of this chapter.h]hX Operators may choose certain paradigms with respect to how they
provision and configure their IaaS cloud. These paradigms will drive the
selection of the provisioning and configuration tools. In this chapter
we will discuss the capabilities of provisioning and configuration
management systems; some Open Source tools may be mentioned but their
capabilities are beyond the scope of this chapter.}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhh-hhubh)}(hhh](h)}(h"Procedural versus Declarative codeh]h"Procedural versus Declarative code}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+hhhhhhh,hK&ubh?)}(hX The procedural style IaC tools require code that specifies how to
achieve the desired state. Whilst the declarative style IaC tools
require code that specifies the desired state (what not how). The major
difference between the two styles emerges when changes to the desired
state are required. In the procedural style, the change is coded in
terms of the difference between the desired and current states while in
the declarative style the new desired state is specified. In the
procedural style since the state difference has to be coded, a new code
file has to be created for each change; in the declarative style the
existing code file is updated with the new state information. In the
declarative style knowledge of the current state is not required. In the
procedural style, knowledge of the current state has to be manually
figured by tracing the created code files and the order in which they
were applied.h]hX The procedural style IaC tools require code that specifies how to
achieve the desired state. Whilst the declarative style IaC tools
require code that specifies the desired state (what not how). The major
difference between the two styles emerges when changes to the desired
state are required. In the procedural style, the change is coded in
terms of the difference between the desired and current states while in
the declarative style the new desired state is specified. In the
procedural style since the state difference has to be coded, a new code
file has to be created for each change; in the declarative style the
existing code file is updated with the new state information. In the
declarative style knowledge of the current state is not required. In the
procedural style, knowledge of the current state has to be manually
figured by tracing the created code files and the order in which they
were applied.}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK(hhhhubeh}(h!]"procedural-versus-declarative-codeah#]h%]"procedural versus declarative codeah']h)]uh+h
hh-hhhh,hK&ubh)}(hhh](h)}(h'Mutable versus Immutable infrastructureh]h'Mutable versus Immutable infrastructure}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+hhhhhhh,hK8ubh?)}(hXI In the mutable infrastructure paradigm, software updates are made in
place. Over time this can lead to configuration drift where each server
becomes slightly different from all other servers. In the immutable
infrastructure paradigm, new servers are deployed with the new software
version and then the old servers are undeployed.h]hXI In the mutable infrastructure paradigm, software updates are made in
place. Over time this can lead to configuration drift where each server
becomes slightly different from all other servers. In the immutable
infrastructure paradigm, new servers are deployed with the new software
version and then the old servers are undeployed.}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hK:hhhhubeh}(h!]'mutable-versus-immutable-infrastructureah#]h%]'mutable versus immutable infrastructureah']h)]uh+h
hh-hhhh,hK8ubeh}(h!]introductionah#]h%]introductionah']h)]uh+h
hhhhhh,hKubh)}(hhh](h)}(h>Cloud Infrastructure provisioning and configuration managementh]h>Cloud Infrastructure provisioning and configuration management}(hhhhhhhNhNubah}(h!]h#]h%]h']h)]uh+hhhhhhh,hKAubh?)}(hX In the Reference Model,
:ref:`ref_model/chapters/chapter09:configuration and lifecycle management`
defines the functions of Configuration and Life Cycle Management (LCM).
To operate and manage a scalable cloud, that minimizes operational
costs, requires tools that incorporates systems for automated
provisioning and deployment, and managing configurations that ensures
the correctness and integrity of the deployed and configured systems.h](hIn the Reference Model,
}(hIn the Reference Model,
hhhhhNhNubh pending_xref)}(hJ:ref:`ref_model/chapters/chapter09:configuration and lifecycle management`h]h inline)}(hj h]hCref_model/chapters/chapter09:configuration and lifecycle management}(hhhj hhhNhNubah}(h!]h#](xrefstdstd-refeh%]h']h)]uh+j hj ubah}(h!]h#]h%]h']h)]refdocchapters/chapter07 refdomainj reftyperefrefexplicitrefwarn reftargetCref_model/chapters/chapter09:configuration and lifecycle managementuh+hhh,hKChhubhXU
defines the functions of Configuration and Life Cycle Management (LCM).
To operate and manage a scalable cloud, that minimizes operational
costs, requires tools that incorporates systems for automated
provisioning and deployment, and managing configurations that ensures
the correctness and integrity of the deployed and configured systems.}(hXU
defines the functions of Configuration and Life Cycle Management (LCM).
To operate and manage a scalable cloud, that minimizes operational
costs, requires tools that incorporates systems for automated
provisioning and deployment, and managing configurations that ensures
the correctness and integrity of the deployed and configured systems.hhhhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKChhhhubh)}(hhh](h)}(h!Underlying resources provisioningh]h!Underlying resources provisioning}(hj5 hj3 hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj0 hhhh,hKLubh?)}(hX This section deals with automated provisioning of the Cloud
Infrastructure; for example, provisioning the servers, switches,
routers, networking (e.g., subnets, routing tables, load balancers,
etc.), databases and all required operating systems (Servers, switches,
etc.).h]hX This section deals with automated provisioning of the Cloud
Infrastructure; for example, provisioning the servers, switches,
routers, networking (e.g., subnets, routing tables, load balancers,
etc.), databases and all required operating systems (Servers, switches,
etc.).}(hjC hjA hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKNhj0 hhubh?)}(hLThe following are the minimum tasks that need to be performed by
automation:h]hLThe following are the minimum tasks that need to be performed by
automation:}(hjQ hjO hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKThj0 hhubh bullet_list)}(hhh](h list_item)}(hX **Pre-boot configuration** such as BIOS/RAID/IPMI settings: Hardware
manufacturers typically have their proprietary interface for these
tasks but standards such as Redfish are being increasingly utilised.
Consider using tooling to ensure consistency across all
infrastructure components.h]h?)}(hX **Pre-boot configuration** such as BIOS/RAID/IPMI settings: Hardware
manufacturers typically have their proprietary interface for these
tasks but standards such as Redfish are being increasingly utilised.
Consider using tooling to ensure consistency across all
infrastructure components.h](h strong)}(h**Pre-boot configuration**h]hPre-boot configuration}(hhhjn hhhNhNubah}(h!]h#]h%]h']h)]uh+jl hjh ubhX such as BIOS/RAID/IPMI settings: Hardware
manufacturers typically have their proprietary interface for these
tasks but standards such as Redfish are being increasingly utilised.
Consider using tooling to ensure consistency across all
infrastructure components.}(hX such as BIOS/RAID/IPMI settings: Hardware
manufacturers typically have their proprietary interface for these
tasks but standards such as Redfish are being increasingly utilised.
Consider using tooling to ensure consistency across all
infrastructure components.hjh hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKWhjd ubah}(h!]h#]h%]h']h)]uh+jb hj_ hhhh,hNubjc )}(h**Bootloader installation** of base Network Operating System (NOS) on
networking equipment or the Operating System (OS) should be performed
using PXE; again consider tooling to ensure consistency across all
infrastructure components.
h]h?)}(h**Bootloader installation** of base Network Operating System (NOS) on
networking equipment or the Operating System (OS) should be performed
using PXE; again consider tooling to ensure consistency across all
infrastructure components.h](jm )}(h**Bootloader installation**h]hBootloader installation}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+jl hj ubh of base Network Operating System (NOS) on
networking equipment or the Operating System (OS) should be performed
using PXE; again consider tooling to ensure consistency across all
infrastructure components.}(h of base Network Operating System (NOS) on
networking equipment or the Operating System (OS) should be performed
using PXE; again consider tooling to ensure consistency across all
infrastructure components.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hK\hj ubah}(h!]h#]h%]h']h)]uh+jb hj_ hhhh,hNubeh}(h!]h#]h%]h']h)]bullet-uh+j] hh,hKWhj0 hhubh?)}(hX- To ensure operational efficiency and save cost and time, the lifecycle
management for physical and virtual servers must be automated using
tools which will handle the repetitive tasks like provisioning,
configuration, and monitoring.
`Foreman `_ is commonly used
to automate the provisoning and management of bare metal infrastructure.
Foreman is an open-source project, base of several commercial products.
Foreman provides the full management of PXE configuration and the
installation for many Operating Systems (CentOS, Fedora, Ubuntu, Debian,
Red Hat Entreprise Linux, OpenSUSE, etc.).
Foreman service can be installed by Ansible ``_
playbooks. Ansible playbooks are basic tools for the automation of the
infrastructure virtualization layer deployments.h](hTo ensure operational efficiency and save cost and time, the lifecycle
management for physical and virtual servers must be automated using
tools which will handle the repetitive tasks like provisioning,
configuration, and monitoring.
}(hTo ensure operational efficiency and save cost and time, the lifecycle
management for physical and virtual servers must be automated using
tools which will handle the repetitive tasks like provisioning,
configuration, and monitoring.
hj hhhNhNubh reference)}(h(`Foreman `_h]hForeman}(hForemanhj hhhNhNubah}(h!]h#]h%]h']h)]namej refurihttps://www.theforeman.org/uh+j hj ubh target)}(h h]h}(h!]foremanah#]h%]foremanah']h)]refurij uh+j
referencedKhj ubhX is commonly used
to automate the provisoning and management of bare metal infrastructure.
Foreman is an open-source project, base of several commercial products.
Foreman provides the full management of PXE configuration and the
installation for many Operating Systems (CentOS, Fedora, Ubuntu, Debian,
Red Hat Entreprise Linux, OpenSUSE, etc.).
Foreman service can be installed by Ansible }(hX is commonly used
to automate the provisoning and management of bare metal infrastructure.
Foreman is an open-source project, base of several commercial products.
Foreman provides the full management of PXE configuration and the
installation for many Operating Systems (CentOS, Fedora, Ubuntu, Debian,
Red Hat Entreprise Linux, OpenSUSE, etc.).
Foreman service can be installed by Ansible hj hhhNhNubj )}(h``_h]hhttps://docs.ansible.com/}(hhttps://docs.ansible.com/hj hhhNhNubah}(h!]h#]h%]h']h)]namehttps://docs.ansible.com/j j uh+j hj ubj )}(hh]h}(h!]https-docs-ansible-comah#]h%]https://docs.ansible.com/ah']h)]refurij uh+j j Khj ubhx
playbooks. Ansible playbooks are basic tools for the automation of the
infrastructure virtualization layer deployments.}(hx
playbooks. Ansible playbooks are basic tools for the automation of the
infrastructure virtualization layer deployments.hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKahj0 hhubeh}(h!]!underlying-resources-provisioningah#]h%]!underlying resources provisioningah']h)]uh+h
hhhhhh,hKLubh)}(hhh](h)}(hVIM deploymenth]hVIM deployment}(hj$ hj" hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKpubh?)}(hX2 When the underlying resources are installed and configured, the VIM
software is deployed. An automated deployment is highly recommended
for the same reasons of efficiency. Open-source installers are
available to perform the deployments of the OpenStack services.
A subset of these tools is described below.h]hX2 When the underlying resources are installed and configured, the VIM
software is deployed. An automated deployment is highly recommended
for the same reasons of efficiency. Open-source installers are
available to perform the deployments of the OpenStack services.
A subset of these tools is described below.}(hj2 hj0 hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKrhj hhubj^ )}(hhh](jc )}(hX `OpenStack TripleO `_,
"OpenStack on OpenStack"
TripleO is an official OpenStack project which allows to deploy and
manage a production cloud onto bare metal hardware using a subset
of existing OpenStack components. The first step of deployment is
the creation of an “undercloud” or deployment cloud. The
undercloud contains the necessary OpenStack components to deploy
and manage an “overcloud”, representing the deployed cloud.
The `architecture document
`_
describes the solution. Nova and Ironic are used in the undercloud to manage
the servers in bare metal environment. TripleO leverages
on Heat tempates.
h](h?)}(h\`OpenStack TripleO `_,
"OpenStack on OpenStack"h](j )}(hB`OpenStack TripleO `_h]hOpenStack TripleO}(hOpenStack TripleOhjI hhhNhNubah}(h!]h#]h%]h']h)]nameOpenStack TripleOj +http://opendev.org/openstack/tripleo-commonuh+j hjE ubj )}(h. h]h}(h!]openstack-tripleoah#]h%]openstack tripleoah']h)]refurijZ uh+j j KhjE ubh,
“OpenStack on OpenStack”}(h,
"OpenStack on OpenStack"hjE hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKxhjA ubh?)}(hX TripleO is an official OpenStack project which allows to deploy and
manage a production cloud onto bare metal hardware using a subset
of existing OpenStack components. The first step of deployment is
the creation of an “undercloud” or deployment cloud. The
undercloud contains the necessary OpenStack components to deploy
and manage an “overcloud”, representing the deployed cloud.
The `architecture document
`_
describes the solution. Nova and Ironic are used in the undercloud to manage
the servers in bare metal environment. TripleO leverages
on Heat tempates.h](hX TripleO is an official OpenStack project which allows to deploy and
manage a production cloud onto bare metal hardware using a subset
of existing OpenStack components. The first step of deployment is
the creation of an “undercloud” or deployment cloud. The
undercloud contains the necessary OpenStack components to deploy
and manage an “overcloud”, representing the deployed cloud.
The }(hX TripleO is an official OpenStack project which allows to deploy and
manage a production cloud onto bare metal hardware using a subset
of existing OpenStack components. The first step of deployment is
the creation of an “undercloud” or deployment cloud. The
undercloud contains the necessary OpenStack components to deploy
and manage an “overcloud”, representing the deployed cloud.
The hjs hhhNhNubj )}(h`architecture document
`_h]harchitecture document}(harchitecture documenthj| hhhNhNubah}(h!]h#]h%]h']h)]namearchitecture documentj jhttps://docs.openstack.org/tripleo-docs/latest/install/introduction/architecture.html#project-architectureuh+j hjs ubj )}(hm
h]h}(h!]architecture-documentah#]h%]architecture documentah']h)]refurij uh+j j Khjs ubh
describes the solution. Nova and Ironic are used in the undercloud to manage
the servers in bare metal environment. TripleO leverages
on Heat tempates.}(h
describes the solution. Nova and Ironic are used in the undercloud to manage
the servers in bare metal environment. TripleO leverages
on Heat tempates.hjs hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hK{hjA ubeh}(h!]h#]h%]h']h)]uh+jb hj> hhhh,hNubjc )}(hX `Airship v2 `_
Airship is supported by the OpenStack Foundation.
It is a collection of interopable open-source components allowing
to declaratively automate cloud provisioning. The
configurations are defined by YAML documents. All services are
running on containers. Airship v2 is aligned with maturing CNCF
projects such as Kubernetes, Kubectl, Kubeadmin, Argo, Cluster API,
Kustomize, and Metal3. Airship v2.1, released in November 2021,
leverages on Kubernetes 1.21. It includes cloud provisioning at edge
and for 3rd party cloud. The use of the OpenStack-Helm project allows
the deployment of OpenStack on top of Kubernetes.Airship is not only
a provisioning tool, but also a also a configuration management
system.
h](h?)}(h*`Airship v2 `_h](j )}(hj h]h
Airship v2}(h
Airship v2hj hhhNhNubah}(h!]h#]h%]h']h)]name
Airship v2j https://www.airshipit.org/uh+j hj ubj )}(h h]h}(h!]
airship-v2ah#]h%]
airship v2ah']h)]refurij uh+j j Khj ubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubh?)}(hX Airship is supported by the OpenStack Foundation.
It is a collection of interopable open-source components allowing
to declaratively automate cloud provisioning. The
configurations are defined by YAML documents. All services are
running on containers. Airship v2 is aligned with maturing CNCF
projects such as Kubernetes, Kubectl, Kubeadmin, Argo, Cluster API,
Kustomize, and Metal3. Airship v2.1, released in November 2021,
leverages on Kubernetes 1.21. It includes cloud provisioning at edge
and for 3rd party cloud. The use of the OpenStack-Helm project allows
the deployment of OpenStack on top of Kubernetes.Airship is not only
a provisioning tool, but also a also a configuration management
system.h]hX Airship is supported by the OpenStack Foundation.
It is a collection of interopable open-source components allowing
to declaratively automate cloud provisioning. The
configurations are defined by YAML documents. All services are
running on containers. Airship v2 is aligned with maturing CNCF
projects such as Kubernetes, Kubectl, Kubeadmin, Argo, Cluster API,
Kustomize, and Metal3. Airship v2.1, released in November 2021,
leverages on Kubernetes 1.21. It includes cloud provisioning at edge
and for 3rd party cloud. The use of the OpenStack-Helm project allows
the deployment of OpenStack on top of Kubernetes.Airship is not only
a provisioning tool, but also a also a configuration management
system.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubeh}(h!]h#]h%]h']h)]uh+jb hj> hhhh,hNubjc )}(hX `StarlingX `_
StarlingX is dedicated to cloud infrastructure deployment at
the edge, taking into account the specific edge use cases requirements
for low latency and precision clock synchronisation. It aims to install
a containerised version of OpenStack services, leveraging on Kubernetes,
Docker registry, Airship Armada, and Helm.
OpenStack-Helm is used as a starting point. OpenStack is installed and
managed as an Armada application. Armada Applications are a set of one or
more interdependent Application Helm charts. In the case of StarlingX,
there is generally a Helm chart for every OpenStack service.
h](h?)}(h(`StarlingX `_h](j )}(hj h]h StarlingX}(h StarlingXhj hhhNhNubah}(h!]h#]h%]h']h)]namej j https://www.starlingx.io/uh+j hj ubj )}(h h]h}(h!] starlingxah#]h%] starlingxah']h)]refurij uh+j j Khj ubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubh?)}(hX? StarlingX is dedicated to cloud infrastructure deployment at
the edge, taking into account the specific edge use cases requirements
for low latency and precision clock synchronisation. It aims to install
a containerised version of OpenStack services, leveraging on Kubernetes,
Docker registry, Airship Armada, and Helm.h]hX? StarlingX is dedicated to cloud infrastructure deployment at
the edge, taking into account the specific edge use cases requirements
for low latency and precision clock synchronisation. It aims to install
a containerised version of OpenStack services, leveraging on Kubernetes,
Docker registry, Airship Armada, and Helm.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubh?)}(hX OpenStack-Helm is used as a starting point. OpenStack is installed and
managed as an Armada application. Armada Applications are a set of one or
more interdependent Application Helm charts. In the case of StarlingX,
there is generally a Helm chart for every OpenStack service.h]hX OpenStack-Helm is used as a starting point. OpenStack is installed and
managed as an Armada application. Armada Applications are a set of one or
more interdependent Application Helm charts. In the case of StarlingX,
there is generally a Helm chart for every OpenStack service.}(hj' hj% hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubeh}(h!]h#]h%]h']h)]uh+jb hj> hhhh,hNubeh}(h!]h#]h%]h']h)]j j uh+j] hh,hKxhj hhubeh}(h!]vim-deploymentah#]h%]vim deploymentah']h)]uh+h
hhhhhh,hKpubh)}(hhh](h)}(hConfiguration Managementh]hConfiguration Management}(hjL hjJ hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjG hhhh,hKubh?)}(hX The configuration management system ensures the correctness and
integrity of the deployed and configured systems. The tools provide the
assurance that the expected software is running with the expected
configurations on correctly configured nodes that continue to be
configured correctly.h]hX The configuration management system ensures the correctness and
integrity of the deployed and configured systems. The tools provide the
assurance that the expected software is running with the expected
configurations on correctly configured nodes that continue to be
configured correctly.}(hjZ hjX hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjG hhubh?)}(hAConfiguration Management is composed of the following activities:h]hAConfiguration Management is composed of the following activities:}(hjh hjf hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjG hhubj^ )}(hhh](jc )}(hX Desired (Target) State: a version of the software and hardware and
their configurations. Depending upon the configuration management
system these configurations are specified in cookbooks, playbooks,
manifests, etc. The configuration specifications in these artefacts
is used to configure the different types of nodes, BIOS, operating
systems, hypervisor and OpenStack services (through settings within
their config files such as nova.conf, etc.).h]h?)}(hX Desired (Target) State: a version of the software and hardware and
their configurations. Depending upon the configuration management
system these configurations are specified in cookbooks, playbooks,
manifests, etc. The configuration specifications in these artefacts
is used to configure the different types of nodes, BIOS, operating
systems, hypervisor and OpenStack services (through settings within
their config files such as nova.conf, etc.).h]hX Desired (Target) State: a version of the software and hardware and
their configurations. Depending upon the configuration management
system these configurations are specified in cookbooks, playbooks,
manifests, etc. The configuration specifications in these artefacts
is used to configure the different types of nodes, BIOS, operating
systems, hypervisor and OpenStack services (through settings within
their config files such as nova.conf, etc.).}(hj} hj{ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjw ubah}(h!]h#]h%]h']h)]uh+jb hjt hhhh,hNubjc )}(hcCurrent State: the current configuration of software and hardware as
provided by monitoring systemsh]h?)}(hcCurrent State: the current configuration of software and hardware as
provided by monitoring systemsh]hcCurrent State: the current configuration of software and hardware as
provided by monitoring systems}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hjt hhhh,hNubjc )}(hState variance mitigation: The CM system, on discovering a variance
between the desired and current states, acts to drive the state to
the desired state. Each CM system accomplishes the task in different
ways.
h]h?)}(hState variance mitigation: The CM system, on discovering a variance
between the desired and current states, acts to drive the state to
the desired state. Each CM system accomplishes the task in different
ways.h]hState variance mitigation: The CM system, on discovering a variance
between the desired and current states, acts to drive the state to
the desired state. Each CM system accomplishes the task in different
ways.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hjt hhhh,hNubeh}(h!]h#]h%]h']h)]j j uh+j] hh,hKhjG hhubeh}(h!]configuration-managementah#]h%]configuration managementah']h)]uh+h
hhhhhh,hKubeh}(h!]>cloud-infrastructure-provisioning-and-configuration-managementah#]h%]>cloud infrastructure provisioning and configuration managementah']h)]uh+h
hhhhhh,hKAubh)}(hhh](h)}(h(Cloud Infrastructure and VIM Maintenanceh]h(Cloud Infrastructure and VIM Maintenance}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubh?)}(hHCloud Infrastructure and VIM Maintenance activities can be classified ash]hHCloud Infrastructure and VIM Maintenance activities can be classified as}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh enumerated_list)}(hhh](jc )}(h\Deployment of additional infrastructure components (or removal of
infrastructure components)h]h?)}(h\Deployment of additional infrastructure components (or removal of
infrastructure components)h]h\Deployment of additional infrastructure components (or removal of
infrastructure components)}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(h*Cloud Infrastructure Configuration changesh]h?)}(hj h]h*Cloud Infrastructure Configuration changes}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(hVIM Configuration changesh]h?)}(hj* h]hVIM Configuration changes}(hj* hj, hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj( ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(hqVersion changes (upgrade) of Cloud Infrastructure software (for
example, Host Operating System, Hypervisor, etc.)h]h?)}(hqVersion changes (upgrade) of Cloud Infrastructure software (for
example, Host Operating System, Hypervisor, etc.)h]hqVersion changes (upgrade) of Cloud Infrastructure software (for
example, Host Operating System, Hypervisor, etc.)}(hjE hjC hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj? ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(h8Version changes of VIM Software (or component services)
h]h?)}(h7Version changes of VIM Software (or component services)h]h7Version changes of VIM Software (or component services)}(hj] hj[ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjW ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubeh}(h!]h#]h%]h']h)]enumtypearabicprefixhsuffix.uh+j hj hhhh,hKubh?)}(h8**Deployment (or removal) of infrastructure components**h]jm )}(hj| h]h4Deployment (or removal) of infrastructure components}(hhhj~ hhhNhNubah}(h!]h#]h%]h']h)]uh+jl hjz ubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh?)}(hX In declarative tools, the code with the specified desired state (for
example, number of compute servers) is modified to the new desired
state. The IaC tool then ensures that the desired state is achieved. In
procedural tools, the step-by-step code to deploy (remove)
infrastructure components needs to be specified. Existing code can be
cloned, and appropriate changes made to get to the desired state.h]hX In declarative tools, the code with the specified desired state (for
example, number of compute servers) is modified to the new desired
state. The IaC tool then ensures that the desired state is achieved. In
procedural tools, the step-by-step code to deploy (remove)
infrastructure components needs to be specified. Existing code can be
cloned, and appropriate changes made to get to the desired state.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh?)}(h%**Configuration and Version Changes**h]jm )}(hj h]h!Configuration and Version Changes}(hhhj hhhNhNubah}(h!]h#]h%]h']h)]uh+jl hj ubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubh?)}(hConfiguration and Version Changes are made in a similar fashion to the
“Deployment of infrastructure components” except that the IaC tools used
maybe different.h]hConfiguration and Version Changes are made in a similar fashion to the
“Deployment of infrastructure components” except that the IaC tools used
maybe different.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj hhubeh}(h!](cloud-infrastructure-and-vim-maintenanceah#]h%](cloud infrastructure and vim maintenanceah']h)]uh+h
hhhhhh,hKubh)}(hhh](h)}(h!Logging, Monitoring and Analyticsh]h!Logging, Monitoring and Analytics}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hKubj^ )}(hhh](jc )}(hLoggingh]h?)}(hj h]hLogging}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(h
Monitoringh]h?)}(hj h]h
Monitoring}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(hAlertingh]h?)}(hj h]hAlerting}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(h3Logging, Monitoring, and Analytics (LMA) Framework
h]h?)}(h2Logging, Monitoring, and Analytics (LMA) Frameworkh]h2Logging, Monitoring, and Analytics (LMA) Framework}(hj+ hj) hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj% ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubeh}(h!]h#]h%]h']h)]j j uh+j] hh,hKhj hhubh)}(hhh](h)}(hLoggingh]hLogging}(hjH hjF hhhNhNubah}(h!]h#]h%]h']h)]uh+hhjC hhhh,hKubh?)}(hX A log, in the context of computing, is the automatically produced and
time-stamped documentation of events relevant to a particular system.
All software, including operating systems, middleware and applications
produce log files. Enterprises and vendors may have custom monitoring
and logging solutions. The intent of the logging and monitoring is to
capture events and data of interest to the Cloud Infrastructure and
workloads so that appropriate actions can be taken. For example,h]hX A log, in the context of computing, is the automatically produced and
time-stamped documentation of events relevant to a particular system.
All software, including operating systems, middleware and applications
produce log files. Enterprises and vendors may have custom monitoring
and logging solutions. The intent of the logging and monitoring is to
capture events and data of interest to the Cloud Infrastructure and
workloads so that appropriate actions can be taken. For example,}(hjV hjT hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjC hhubj^ )}(hhh](jc )}(hqOperating systems and web servers maintain an access log of all
access requests, session details and file access.h]h?)}(hqOperating systems and web servers maintain an access log of all
access requests, session details and file access.h]hqOperating systems and web servers maintain an access log of all
access requests, session details and file access.}(hjk hji hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhje ubah}(h!]h#]h%]h']h)]uh+jb hjb hhhh,hNubjc )}(hnDatabases maintain a transaction log of all transaction executed
including an added, changed and deleted data.h]h?)}(hnDatabases maintain a transaction log of all transaction executed
including an added, changed and deleted data.h]hnDatabases maintain a transaction log of all transaction executed
including an added, changed and deleted data.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj} ubah}(h!]h#]h%]h']h)]uh+jb hjb hhhh,hNubjc )}(hX Audit logs record chronological documentation of any activities that
could have affected a particular operation or event. Data typically
includes resources accessed, destination and source addresses, and a
timestamp and login information for the person who accessed the
resources.
h]h?)}(hX Audit logs record chronological documentation of any activities that
could have affected a particular operation or event. Data typically
includes resources accessed, destination and source addresses, and a
timestamp and login information for the person who accessed the
resources.h]hX Audit logs record chronological documentation of any activities that
could have affected a particular operation or event. Data typically
includes resources accessed, destination and source addresses, and a
timestamp and login information for the person who accessed the
resources.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hjb hhhh,hNubeh}(h!]h#]h%]h']h)]j j uh+j] hh,hKhjC hhubh?)}(hkSome of the data is to support the metrics collection specified in the
:doc:`ref_model/chapters/chapter04`.h](hGSome of the data is to support the metrics collection specified in the
}(hGSome of the data is to support the metrics collection specified in the
hj hhhNhNubh)}(h#:doc:`ref_model/chapters/chapter04`h]j )}(hj h]href_model/chapters/chapter04}(hhhj hhhNhNubah}(h!]h#](j stdstd-doceh%]h']h)]uh+j hj ubah}(h!]h#]h%]h']h)]refdocj refdomainj reftypedocrefexplicitrefwarnj# ref_model/chapters/chapter04uh+hhh,hKhj ubh.}(hjy hj hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hKhjC hhubh?)}(h2Logs have multiple operational uses including for:h]h2Logs have multiple operational uses including for:}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhjC hhubj )}(hhh](jc )}(hX Regulatory Compliance and Security Information and Event Management
(SIEM) featuring the automated gathering, analysis and correlation of
log data across all systems and devices across an operator to provide
real-time analysis, event prioritization, reporting, notification and
alerting.h]h?)}(hX Regulatory Compliance and Security Information and Event Management
(SIEM) featuring the automated gathering, analysis and correlation of
log data across all systems and devices across an operator to provide
real-time analysis, event prioritization, reporting, notification and
alerting.h]hX Regulatory Compliance and Security Information and Event Management
(SIEM) featuring the automated gathering, analysis and correlation of
log data across all systems and devices across an operator to provide
real-time analysis, event prioritization, reporting, notification and
alerting.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(hMonitoring across systems in real-time to detect particular log
events, patterns, anomalies or inactivity to gauge system and
application healthh]h?)}(hMonitoring across systems in real-time to detect particular log
events, patterns, anomalies or inactivity to gauge system and
application healthh]hMonitoring across systems in real-time to detect particular log
events, patterns, anomalies or inactivity to gauge system and
application health}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hKhj ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(hDIdentify system and application performance and configuration issuesh]h?)}(hj) h]hDIdentify system and application performance and configuration issues}(hj) hj+ hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj' ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(hBRoot cause analysis for system and application failures and errorsh]h?)}(hj@ h]hBRoot cause analysis for system and application failures and errors}(hj@ hjB hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj> ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubjc )}(h6Ensuring that operational objectives and SLAs are met
h]h?)}(h5Ensuring that operational objectives and SLAs are meth]h5Ensuring that operational objectives and SLAs are met}(hj[ hjY hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhjU ubah}(h!]h#]h%]h']h)]uh+jb hj hhhh,hNubeh}(h!]h#]h%]h']h)]ju jv jw hjx jy uh+j hjC hhhh,hKubeh}(h!]loggingah#]h%]loggingah']h)]uh+h
hj hhhh,hKubh)}(hhh](h)}(h
Monitoringh]h
Monitoring}(hj hj~ hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj{ hhhh,hMubh?)}(hXs Monitoring is the process of collecting, aggregating, and analysing
values that improve awareness of the components’ characteristics and
behavior. The data from various parts of the environment are collected
into a monitoring system that is responsible for storage, aggregation,
visualisation, and initiating automated responses when the values meet
specific threshold.h]hXs Monitoring is the process of collecting, aggregating, and analysing
values that improve awareness of the components’ characteristics and
behavior. The data from various parts of the environment are collected
into a monitoring system that is responsible for storage, aggregation,
visualisation, and initiating automated responses when the values meet
specific threshold.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM hj{ hhubh?)}(hXB Monitoring systems fulfill many related functions. Their first
responsibility is to accept and store incoming and historical data.
While values representing the current point in time are useful, it is
almost always more helpful to view those numbers in relation to past
values to provide context around changes and trends.h]hXB Monitoring systems fulfill many related functions. Their first
responsibility is to accept and store incoming and historical data.
While values representing the current point in time are useful, it is
almost always more helpful to view those numbers in relation to past
values to provide context around changes and trends.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj{ hhubeh}(h!]
monitoringah#]h%]
monitoringah']h)]uh+h
hj hhhh,hMubh)}(hhh](h)}(hAlertingh]hAlerting}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hMubh?)}(hX" Alerting is the responsive component of a monitoring system that
performs actions based on changes in metric values. Alert definitions
are composed of two components: a metrics-based condition or threshold,
and an action to perform when the values fall outside of the acceptable
conditions.h]hX" Alerting is the responsive component of a monitoring system that
performs actions based on changes in metric values. Alert definitions
are composed of two components: a metrics-based condition or threshold,
and an action to perform when the values fall outside of the acceptable
conditions.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj hhubh?)}(hXw While monitoring systems are incredibly useful for active interpretation
and investigation, one of the primary benefits of a complete monitoring
system is letting administrators disengage from the system. Alerts allow
the specification of situations that make sense to actively manage,
while relying on the passive monitoring of the software to watch for
changing conditions.h]hXw While monitoring systems are incredibly useful for active interpretation
and investigation, one of the primary benefits of a complete monitoring
system is letting administrators disengage from the system. Alerts allow
the specification of situations that make sense to actively manage,
while relying on the passive monitoring of the software to watch for
changing conditions.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hMhj hhubeh}(h!]alertingah#]h%]alertingah']h)]uh+h
hj hhhh,hMubh)}(hhh](h)}(h2Logging, Monitoring, and Analytics (LMA) Frameworkh]h2Logging, Monitoring, and Analytics (LMA) Framework}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+hhj hhhh,hM'ubh?)}(hzIn this section, a possible framework utilising Prometheus, Fluentd,
Elasticsearch and Kibana is given as an example only.h]hzIn this section, a possible framework utilising Prometheus, Fluentd,
Elasticsearch and Kibana is given as an example only.}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+h>hh,hM)hj hhubh figure)}(hhh](h image)}(h.. figure:: ../figures/RA1-Ch07-Monitoring-Logging-Framework.png
:alt: Monitoring and Logging Framework
:name: Monitoring and Logging Framework
Monitoring and Logging Framework
h]h}(h!]h#]h%]h']h)]alt Monitoring and Logging Frameworkuri1figures/RA1-Ch07-Monitoring-Logging-Framework.png
candidates}*j suh+j hj hh,hM0ubh caption)}(h Monitoring and Logging Frameworkh]h Monitoring and Logging Framework}(hj hj hhhNhNubah}(h!]h#]h%]h']h)]uh+j hh,hM0hj ubeh}(h!] monitoring-and-logging-frameworkah#]h%] monitoring and logging frameworkah']h)]uh+j hM0hj hhhh,ubh?)}(hX The monitoring and logging framework
(:numref:`Monitoring and Logging Framework`) leverages
Prometheus as the monitoring engine and Fluentd for logging. In
addition, the framework uses Elasticsearch to store and organise logs
for easy access. Prometheus agents pull information from individual
components on every host. Fluentd, an Open Source data collector,
unifies data collection and consumption for better use and understanding
of data. Fluentd captures the access, application and system logs.h](h&The monitoring and logging framework
(}(h&The monitoring and logging framework
(hj4 hhhNhNubh)}(h*:numref:`Monitoring and Logging Framework`h]h literal)}(hj? h]h Monitoring and Logging Framework}(hhhjC hhhNhNubah}(h!]h#](j std
std-numrefeh%]h']h)]uh+jA hj= ubah}(h!]h#]h%]h']h)]refdocj refdomainjM reftypenumrefrefexplicitrefwarnj# monitoring and logging frameworkuh+hhh,hM2hj4 ubhX ) leverages
Prometheus as the monitoring engine and Fluentd for logging. In
addition, the framework uses Elasticsearch to store and organise logs
for easy access. Prometheus agents pull information from individual
components on every host. Fluentd, an Open Source data collector,
unifies data collection and consumption for better use and understanding
of data. Fluentd captures the access, application and system logs.}(hX ) leverages
Prometheus as the monitoring engine and Fluentd for logging. In
addition, the framework uses Elasticsearch to store and organise logs
for easy access. Prometheus agents pull information from individual
components on every host. Fluentd, an Open Source data collector,
unifies data collection and consumption for better use and understanding
of data. Fluentd captures the access, application and system logs.hj4 hhhNhNubeh}(h!]h#]h%]h']h)]uh+h>hh,hM2hj hhubeh}(h!].logging-monitoring-and-analytics-lma-frameworkah#]h%]2logging, monitoring, and analytics (lma) frameworkah']h)]uh+h
hj hhhh,hM'ubeh}(h!] logging-monitoring-and-analyticsah#]h%]!logging, monitoring and analyticsah']h)]uh+h
hhhhhh,hKubeh}(h!]$operations-and-life-cycle-managementah#]h%]$operations and life cycle managementah']h)]uh+h
hhhhhh,hKubah}(h!]h#]h%]h']h)]sourceh,uh+hcurrent_sourceNcurrent_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampNsource_linkN
source_urlN
toc_backlinksentryfootnote_backlinksK
sectnum_xformKstrip_commentsNstrip_elements_with_classesN
strip_classesNreport_levelK
halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace
language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid
dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh,_destinationN
_config_files]file_insertion_enabledraw_enabledKline_length_limitM'pep_referencesNpep_base_url https://www.python.org/dev/peps/pep_file_url_templatepep-%04drfc_referencesNrfc_base_urlhttps://tools.ietf.org/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlongsmart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform
docinfo_xformKsectsubtitle_xformembed_stylesheetcloak_email_addressesenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j j| hhhhhhj j j j j j j j jD jA jd ja j j j j j
j
j j j j jw jt jx ju j j j j jo jl j1 j. u nametypes}(j NhNhNhNj Nj Nj j jD Njd j j j
j Nj Njw Njx Nj Nj Njo Nj1 uh!}(j| hhh-hhhhj hj j0 j j j j jA j ja j[ j j j j j
j j jG j j jt j ju jC j j{ j j jl j j. j u
footnote_refs}
citation_refs}
autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK
id_countercollectionsCounter}Rparse_messages]transform_messages]transformerNinclude_log]
decorationNhhub.