Upload
suse-espana
View
48
Download
5
Embed Size (px)
Citation preview
Software Defined Datacenter
@SUSELinux_ESP
#SUSEExpertDays
2
Elementos Clave de una Infraestructura
definida por Software de éxito
Modular
Automatización
Orquestación
Administración
Autocura
Auto-servicio
3
Transforme su Centro de Datos con las soluciones
de Infraestructura Definida por Software de SUSE
Reduce costes
Aumenta la agilidad y eficiencia de TI
Asegura la continuidad del negocio
4
Infraestructura Definida por Software de SUSEUn modelo de infraestructura abierto y flexible
Entrega de Aplicacoines
Administración
Operaciones,
Monitoreo y
Parcheo
• SUSE Manager
• openATTIC
Despliegue de
Clusters
• Crowbar
• Salt
Orquestación
• Heat
• Kubernetes
Aplicaciones basadas en Micro Servicios
Kubernetes / Magnum
Infraestructura Física: Servidores, Switches, Almacenamiento
Nube Pública
SUSE Cloud Service Provider Program
ContenedoresPlataforma CaaS de SUSE
Todo Definido por Software
AlmacenamientoSUSE Enterprise
Storage
RedSDN y NFV
VirtualizaciónKVM, Xen, VMware,
Hyper-V, z/VM
Sistema OperativoSUSE Linux Enterprise Server
Plataforma como ServicioCloud Foundry
Nube Privada / IaaSSUSE OpenStack Cloud
55
SUSE Enterprise StorageAlmacenamiento Definido por Software
6
Dificultad para escalar
y gestionar el
crecimiento de datos
Caro
$
Retos del Almacenamiento Corporativo Tradicional
No es sencillo incorporarlo
al Centro de Datos Definido
por Software
7
$SUSE Enterprise StorageAlmacenamiento empresarialutilizando servidores y discos estándar
Último
hardware
Reduce
Gastos de
Capital
Flexibilidad
de hardware
8
SUSE Enterprise StorageEscalabilidad Ilimitada con Autocura
Bloque
Objeto
Fichero
Aumente su capacidad y
rendimiento simplemente
agregando al cluster más
almacenamiento o más
nodos de monitor.
Nodos de
Monitor
Nodo de Gestión
Nodos de
Almacenamiento
9
SUSE Enterprise StorageBasado en la Arquitectura de Ceph
Servidores Clientes
(Windows, VMware, Linux)Aplicaciones Ficheros Compartidos
Dispositivos de BloquesAlmacenamiento de
ObjetosInterfaz de Ficheros
RADOS (Common Object Store)
Storage
Server
OSD
Servidor
Servidor
Servidor
RB
D IS
CS
I
S3 S
WIF
T
CE
PH
S*
Red
Clu
ste
r
Mo
nit
ore
s
Storage
Server
OSD
Storage
Server
OSD
Storage
Server
OSD
Storage
Server
OSD
Storage
Server
OSD
10
SUSE Enterprise StorageImpulse la Transformación. Bi-Modal IT según Gartner
Soporte la inversión de hoy Adáptese al futuro
Centro de Datos Tradicional
• Silos de red, cómputo y almacenamiento
• Protocolos tradicionales – Fibre Channel, iSCSI,
CIFS/SMB, NFS
Orientado a Procesos
• Respuesta lenta
Probablemente se encuentra aquí
Centro de Datos Definido por Software
• Todo definido por software
Infraestructura Ágil
• Soportando un modelo DevOps
• Orientado al negocio
Aquí es donde necesita llegar
Modo 1 – Tradicional Modo 2 – Definido por Software
11
Casos de Uso
Videovigilancia
• Vigilancia de seguridad
• Cámaras de tráfico
• Lectores de matrículas
• Cámaras de cuerpo para
agentes de policía
• Reconocimiento visual
military/gubernamental
Almacenamiento de Máquinas Virtuales
Rendimiento E/S moderado
para los principals hipervisores
• kvm – RBD nativo
• Hyper-V – iSCSI
• VMware - iSCSI
Almacenamiento Masivo
• Datos de SharePoint
• Historiales médicos
• Imágenes médicas• Rayos-X
• Resonancias
• Tomografías
• Registros financieros
Archivo de Datos
Almacenamiento y
backup a largo plazo:
• HPC
• Retención de logs
• Documentos
fiscales
• Informes de
ingresos
12
SUSE Enterprise Storage Encaje perfecto en su arquitecura de Backup existente
¿Cómo encaja SUSE Enterprise Storage? Puede sustituir las aplicaciones de
deduplicación y optimiza las cintas al mantener más datos disponibles con un menor
coste y mayor rapidad de acceso.
Servidores de
Aplicaciones
Servidor de
Backup
Aplicación de
Deduplicación o Array
Biblioteca
de Cintas
SUSE
Enterprise
Storage
Reemplaza
Mejora
13
Adaptabilidad de SUSE Enterprise StorageUn Cliente Real
Situación del cliente
• Red de hospitales con software de backup
• El cliente tenía 240TB de datos y necesitaba capacidad
escalable para backups (en vez de un almacen de cintas)
• Eligió SUSE Enterprise Storage con servidores Thomas
Krenn x86-64 y conectado al software de backup con RBD
Backup
Server
Tape Device
Application
Servers
Networker
Agent
Networker
Agent Networker
Agent
Networker
Agent
Networker
Server Software
Backup Target: SUSE
Enterprise Storage
Monitor
Nodes
Management
Node
Storage
Nodes
Ventajas del almacenamiento
de objetos
• Costes de adquisición y administración
más bajos (comparados a los
dispositivos de deduplicación)
• Sin más migraciones
14
Caso de Uso: Archivado de Almacenamiento HPCArchive a un 2º nivel los datos que no se necesiten inmediatamente
Almacenamiento
principal
Cluster de
cómputo HPC
Gestor de política
“round robin”
SUSE Enterprise
Storage
Reduzca el TCO Crezca fácilmente Reduzca la huella Sin migraciones
15
SUSE Enterprise Storage 4Funciones Principales
• Múltiples modos acceso: bloques (RBD e
iSCSI), objetos (S3 y Swift) y ficheros
(CephFS), ¡listo para producción!
• Amplias posibilidades de hardware, incluido
soporte para ARM 64 bits
• Replicación asíncrona para almacenamiento
de bloques y replicación de objetos multisite
• Más facilidad de administración con SUSE
openATTIC
• Orquestación de clusters mejorada con Salt
• ¡En primicia! soporte para NFS Ganesha y
acceso NFS sobre buckets S3
Almacenamiento
de objetos
Almacenamiento
de bloques
Sistema de
archivos
16http://tinyurl.com/hdz8ywu
17
SUSE Enterprise Storage 4 – openATTICInterfaz gráfica de usuario avanzada de SUSE openATTIC
19
SUSE Enterprise Storage 4Síntesis de las características principales
20
SUSE Enterprise Storage Roadmap2016 2017 2018
V6
V7
V8
Confidential—For Internal Use Only. Information is forward looking and subject to change at any time.
SUSE Enterprise Storage 3 SUSE Enterprise Storage 4 SUSE Enterprise Storage 5
Desarrollado sobre
• Ceph Jewel release
• SLES 12 SP1 (Server)
Administración
• Initial Salt integration (tech preview)
Interoperabilidad
• CephFS (Tech Preview)
• AArch64 (Tech Preview)
Disponibilidad
• Multisite object replication (Tech Preview)
• Asynch block mirroring (Tech Preview)
Desarrollado sobre
• Ceph Jewel release
• SLES 12 SP 2 (Server)
Administración
• SES openATTIC management
• Initial Salt integration
Interoperabilidad
• AArch64
• CephFS (production use cases)
• NFS Ganesha (Tech Preview)
• NFS access to S3 buckets (Tech
Preview)
• CIFS Samba (Tech Preview)
• RDMA/Infiniband (Tech Preview)
Disponibilidad
• Multisite object replication
• Asynchronous block mirroring
Desarrollado sobre
• Ceph Luminous release
• SLES 12 SP 3 (Server)
Administración
• SES openATTIC management phase 2
• SUSE Manager integration
Interoperabilidad
• NFS Ganesha
• NFS access to S3 buckets
• CIFS Samba (Tech Preview)
• Fibre Channel (Tech Preview)
• RDMA/Infiniband
• Support for containers
Disponibilidad
• Asynchronous block mirroring
• Erasure coded block pool
Eficiencia
• BlueStore back-end
• Data compression
• Quality of Service (Tech Preview)
¡Ahora es el momento!
Dé el primer paso en OpenStack
con SUSE OpenStack Cloud
22
¿Es el momento de
pensar en OpenStack?
23
OpenStack es ya una tecnología
madura
81%Grandes empresas
que pretenden utilizar
OpenStack1
65%Despliegues de
OpenStack en
producción2
93%de las empresas ven
IaaS como el futuro
del centro de datos 1
33% más que el año pasado1
(1) Fuente: Encuesta de usuarios de OpenStack Foundation, abril de 2016
25
Tres Estrategias para la Adopción de SUSE OpenStack Cloud
26
“Being a flexible framework to build on is the most important
aspect of the OpenStack platform.
Being able to support both traditional and cloud-native
workloads is very important. Large enterprises don't have the
luxury of dropping their legacy applications and forklifting
them into the microservices-type designs from day one.
The benefits of the cloud are too great to only allow new
workloads onto the platform.”
Jonathan BryceExecutive Director
OpenStack Foundation
27
SUSE OpenStack Cloud
La base para centros de datos definidos por software
Ciclo versiones
orientado
emppresas y
soporte
extendidoLa major
interoperabilidad
Actualiza sin
interrupción
Excelente soporte
para toda la
plataforma
OpenStack Cloud
El mayor
soporte de
hipervisores
Instalación y
administración
rápidas y
sencillas
Total
fiabilidad
28
SUSE OpenStack 7
Basado en OpenStack Newton,
incluye nuevas funciones CaaS y
mejoras en la alta disponibilidad.
SUSE OpenStack Cloud 7 ofrece rapidez,
agilidad y una nube privada lista para
satisfacer las necesidades de negocio
actuales.
Comunicado de prensa: 25 de Octubre de 2016 en el OpenStack Summit, Barcelona; Disponible: Febrero de 2017
30
SUSE OpenStack Cloud 7Alcance del Proyecto
Service
Orchest.
File
Share
Service
Triple-O
Compute
OpenStack
Ansible
Shared
Libraries
Docs
Pluggable
Authent.
Bare
Metal
Provision
Self
Service
Dashboard
Block
Storage
Service
Object
Storage
Service
Data
Processing
aaS
App
Catalog
SDN
Rally
(Bench
marking
Tools)
DNS
Service
Kolla(Container
& Deploy
Tools)
Template
& Image
Repos.
Telemetry
CaaS
Secure /
Key
Vault
DBaaS
Kuryr(Docker
Network
Plug)
RefStack(Interop
Testing)
Tempest (Test Suite)
OpenStack
Client
(OSC)
NUEVO
Soporte Completo
Sólo el paquete
No Soportado
Tech Preview
31
SUSE OpenStack Cloud 7Servicios Nuevos o Expandidos
• Soporte de Magnum para orquestación
con Docker
• Integración de Manila con CephFS
• Plano de control z/VM
• Autodespliegue de servidores físicos
• Integración con Cloud Foundry
• Catálogo de servicios con Murano
• Soporte a partners
– Integración de plugins
– Integración de despliegue
32
SUSE OpenStack Cloud 7Mejoras operacionales
• Actualización sin interrupciones
• Despliegue en múltiples centros de
datos
• Alta disponibilidad en máquinas
virtuales
• Gestión y mantenimiento
– Reconfiguración de la red
– Logging centralizado y visualización de logs
33
SUSE OpenStack Cloud 7Actualizaciones en el Instalador
• Mayor escalabilidad
• Soporte de configuración:
– Magnum y Kubernetes
– Ironic
– Sahara
– Murano
34
Arquitectura de SUSE OpenStack CloudLa base para los Centros de Datos Definidos por Software
Contenedores
Infraestructura como
Servicio
Big
Data
001010110111
110101110111
101101011110
Plataforma como
Servicio
Sistema Operativo: SUSE Linux Enterprise Server
Dispositivos
Físicos
Sistemas
Virtuales
Servidores
Servidores Almacenamiento
Almacenamiento
Red
Red
Orquestación de Recursos en SUSE OpenStack Cloud
Nube
Pública
35
Soporte para múltiples hipervisoresProtección de la Inversión y Valor Añadido
Interfaz de
despliegue
Servidor Admin
SUSE Linux
Servidor Chef
Crowbar
Software mirror
DHCP/TFTP
Nodo de Control
SUSE Linux
Base de Datos
Cola de mensajes
Identidad
Almac. Imágenes
Cinder
Neutron
Dashboard
Scheduler
Otros
SUSE Linux
OpenStack compute +
Vmware Proxy
SUSE Linux
KVM/XEN/DockerOpenStack compute
Cloud UI
IBM System Z
OpenStack compute
z/VM
Hyper-V
OpenStack compute
Microsoft
z/VM®
36
Alta Disponibilidad en OpenStackPorque las paradas de servicio no son una opción
HA Proxy
Nodo 1 Nodo 2 Nodo 3
PACEMAKER
COROSYNC
Cluster de Servicios
SUSE Linux
KVM o Xen
OpenStack compute
PACEMAKER REMOTE
SUSE Linux
KVM o Xen
OpenStack compute
PACEMAKER REMOTE
SUSE Linux
KVM o Xen
OpenStack compute
PACEMAKER REMOTE
SUSE Linux
KVM o Xen
OpenStack compute
PACEMAKER REMOTE
Hipervisor / Carga de trabajo
Panel de Control
38
La Orquestación Aumentael Valor de Negocio de los Contenedores
Microservidor en
Contenedores
• Sin paradas de servicio
• Alta disponibilidad
• Migración sencilla entre
hosts
Autoservicios
bajo demanda
• *aaS (BBDD,DNS,FW, …)
• Entrega ágil
• Desarrollo continuo
Integración continua
• Mejora del ciclo de
vida de desarrollo
• Test
• Producción
Despliegue RedesAlta
DisponibilidadEscalado Monitorización
39
Plataforma Ágil Ideal para Contenedores
Reducido | Rápido | Ágil
Mini SUSE Linux
Enterprise Server
Ideal para
ambos modos
Diseñado
de cara al Futuro
40
¿Qué es Kubernetes?
Una plataforma open source para
automatizar el despliegue,
orquestación y operación de
aplicaciones empaquetadas como
contenedores sobre clusteres
distribuidos y altamente
escalables.
44
Kubernetes en 30 segundos …
K8S gestiona Nodes y los Nodes están formados por
Pods y los servicios de soporte a contenedores
Agrupe los contenedores de una aplicación o grupos de
servicios como Pods.
Defina su modelo de escalado y HA: K8S gestionará
todo el ciclo de vida de los Pods en el cluster.
Gestión basada en API y GUI, K8S:
- Orquesta
- Proporciona scale up/down/out
- Provee drivers para conexión con la infraestructura
subyacente (almacenamiento, red, …)
- Securiza
46
OpenStack Magnum en 30 segundos …
• Mapea los Nodes de K8S a instancias de
cómputo (Nova)
• Se encarga de implementar todos los drivers
que conectan con la arquitectura (red,
almacenamiento, …)
• Provee de capacidad adicional al cluster de
K8S para el escalado. Está puede ser virtual a
través de Nova o física a través de Ironic.
• Todo orquestado de manera transparente
mediante Heat
48
Cluster de Kubernetes con Magnum
Cube Master #n
Servidor API
Controller Manager
Scheduler
etcd
Usuario
OpenStack
Cube Minion #n
Kube-proxy
Kubelet
Container EngineDocker
Pod
Contenedor1
Contenedor 2
Servicio
Pods
OpenStack
Neutron
Balanceador de Carga
Usuario Internet
50
SUSE OpenStack Cloud Roadmap2016 2017 2018
V6
V7
V8
Confidential—For Internal Use Only. Information is forward looking and subject to change at any time.
SUSE OpenStack Cloud 6 SUSE OpenStack Cloud 7 SUSE OpenStack Cloud 8
Evolución y Mejoras
• OpenStack Liberty release
• SLES 12 SP1 all nodes
Servicios Nuevos o Ampliados
• IBM z/VM support
• Docker tech preview
• Shared file system support
• Distributed virtual routing
• Database as a Service tech
preview
Mejoras Operacionales
• Domains
• Backup and restore of
cloud configuration
• Improved installation wizard
• High availability for compute
nodes
Evolución y Mejoras
• OpenStack Newton release
• SLES 12 SP2 support
• Continued UX enhancements
Servicios Nuevos o Ampliados
• Magnum & Kubernetes
support for Docker container
orchestration
• Manila integration with
CephFS
Mejoras Operacionales
• Non-disruptive upgrade
• Multi-data center deployment
Evolución y Mejoras
• OpenStack Pike release
• SLES 12 SP3
• Converged platform
• Scalability enhancements
Servicios Nuevos o Ampliados
• ARM compute nodes
• PaaS Integration
Mejoras Operacionales
• Containerized control plane
SUSE OpenStack Cloud 7+
Evolución y Mejoras
• Scalability enhancements
Servicios Nuevos o Ampliados
• Manage from IBM z/VM
• Physical server as a Service
• Service Catalog
Mejoras Operacionales
• Multi-data center deployment
• Virtual machine HA
• Cloud monitoring and
management
5151
Nuevos modelos para el despliegue de aplicaciones
52
Nuevos servicios para desplegar aplicacionesNuevos modelos de despliegue para aplicaciones y contenedores
Despliegue de aplicaciones
Administración
Operaciones,
Monitoreo y
Parcheo
• SUSE Manager
• openATTIC
Despliegue de
Clusters
• Crowbar
• Salt
Orquestación
• Heat
• Kubernetes
Infraestructura Física: Servidores, Switches, Almacenamiento
Nube Pública
SUSE Cloud Service Provider Program
ContenedoresPlataforma CaaS de SUSE
Todo Definido por Software
AlmacenamientoSUSE Enterprise
Storage
RedSDN y NFV
VirtualizaciónKVM, Xen, VMware,
Hyper-V, z/VM
Sistema OperativoSUSE Linux Enterprise Server
Plataforma como ServicioCloud Foundry
Nube Privada / IaaSSUSE OpenStack Cloud
Aplicaciones basadas en Micro Servicios
Kubernetes / Magnum
54
¿Qué herramientas de contenedores y PaaSse utilizan para gestionar aplicaciones?
OpenStack public survey report October 2016
5555
Próximamente: SUSE Container as a Service Platform Powered by Kubernetes
56
Containers as a Service Platform (CaaSP)Basada en Kubernetes + MicroOS
Despliegue de aplicaciones
Administración
Operaciones,
Monitoreo y
Parcheo
• SUSE Manager
• openATTIC
Despliegue de
Clusters
• Crowbar
• Salt
Orquestación
• Heat
• Kubernetes
Infraestructura Física: Servidores, Switches, Almacenamiento
Nube Pública
SUSE Cloud Service Provider Program
ContenedoresPlataforma CaaS de SUSE
Todo Definido por Software
AlmacenamientoSUSE Enterprise
Storage
RedSDN y NFV
VirtualizaciónKVM, Xen, VMware,
Hyper-V, z/VM
Sistema OperativoSUSE Linux Enterprise Server
Plataforma como ServicioCloud Foundry
Nube Privada / IaaSSUSE OpenStack Cloud
Aplicaciones basadas en Micro Servicios
Kubernetes / Magnum
57
Plataforma de Contenedorescomo Servicio de SUSE
SUSE Linux
Enterprise
MicroOS
Kubernetes
Docker
Project
58
SUSE Container as a Service (CaaS)Ventajas en la utilización de Kubernetes
• Portable: posibilidad de nube pública, privada, híbrida y multinube
• Extensible: modular, conectable, enganchable
• Auto-cura: auto-colocación, auto-reinicio, auto-replicación y auto-
escalado de contenedores
• Compatible: reempaquete aplicaciones tradicionales como
contenedores
¿Por qué le debería interesar?• Despliegue sus aplicaciones rápidamente y de forma
predecible
• Escale sus aplicaciones sobre la marcha
• Despliegue nuevas funciones de manera continua
• Optimice el uso del hardware utilizando sólo los recursos
que necesite
59
SUSE Container as a Service PlatformResumen Ejecutivo
¿Qué?
• Basado en SUSE Linux Enterprise
MicroOS, Kubernetes y proyecto
Docker
• Contenedores o aplicaciones en
contenedores listas para ejecutar
• Sencillo de instalar y administrar
• Primera version disponible para
x86-64
¿Cuándo?
• Primera entrega a clientes: Julio 2017;
Beta: Marzo 2017
¿Por qué?• Mejora la eficiencia en TI
optimizando los costes
60
SUSE Container as a Service Platform¿Qué es SUSE Linux Enterprise MicroOS?
SUSE Linux Enterprise MicroOS es un
Sistema operativo Linux diseñado para
contenedores y optimizado para grandes
despliegues. Hereda el conocimiento de
SUSE Linux Enterprise y lo redefine en
una distribución reducida, eficiente
y fiable.
61
SUSE Container as a Service PlatformAlcance
Características de SUSE
Linux Enterprise MicroOS
• Actualizaciones
transaccionales
• Actualizaciones atómicas
• Actualizaciones automáticas
(se pueden deshabilitar)
• Ventana de mantenimiento
(definido en políticas de
actualización)
• Instalador fácil de utilizar
• Escalabilidad (desde unos
pocos hasta miles)
Características de
Kubernetes
• Panel de administración• Interfaz de usuario
sencilla
• Despliega y administra
clusters
• Registro público/privado
• Actualización continua
6262
Próximamente:Platform as a ServicePowered by Cloud Foundry
63
Plataforma como servicio (PaaS)Basada en Cloud Foundry
Despliegue de aplicaciones
Administración
Operaciones,
Monitoreo y
Parcheo
• SUSE Manager
• openATTIC
Despliegue de
Clusters
• Crowbar
• Salt
Orquestación
• Heat
• Kubernetes
Infraestructura Física: Servidores, Switches, Almacenamiento
Nube Pública
SUSE Cloud Service Provider Program
ContenedoresPlataforma CaaS de SUSE
Todo Definido por Software
AlmacenamientoSUSE Enterprise
Storage
RedSDN y NFV
VirtualizaciónKVM, Xen, VMware,
Hyper-V, z/VM
Sistema OperativoSUSE Linux Enterprise Server
Plataforma como ServicioCloud Foundry
Nube Privada / IaaSSUSE OpenStack Cloud
Aplicaciones basadas en Micro Servicios
Kubernetes / Magnum
64
¡SUSE entra en la fiesta del PaaS!
65
Miembros de Cloud Foundry
Platinum
Gold
Silver
66
¿Qué es Cloud Foundry?
Cloud Foundry el principal
projecto OpenSource para ofrecer
Plataforma como servicio (PaaS).
Con el tendrá a su disposición
una selección de nubes,
frameworks de desarrollo y
servicios de aplicaciones.
Vendor ManagesYou Manage
Applications
Runtimes
Security / Integration
Databases
Servers
Virtualization
Server HW
Storage
Networking
Infraestructura(como Servicio)
Applications
Runtimes
Security / Integration
Databases
Servers
Virtualization
Server HW
Storage
Networking
Plataforma(como Servicio)
Applications
Runtimes
Security / Integration
Databases
Servers
Virtualization
Server HW
Storage
Networking
Software(como Servicio)
67
Runtime Platform
Infrastructure Automation
Infrastructure
Application Framework
Un vistazo a Cloud Foundry Platform
68
Entrega de aplicaciones con Cloud Foundry
CF Push
Quiero desplegar mi aplicación
¡Gracias por su participación!
7171
Unpublished Work of SUSE LLC. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE LLC.
Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their
assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated,
abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE.
Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.
General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a
product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making
purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and
specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The
development, release, and timing of features or functionality described for SUSE products remains at the sole discretion
of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time,
without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this
presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-
party trademarks are the property of their respective owners.