Blog de Amazon Web Services (AWS)

Mejorando la gestión de configuración en Verizon utilizando AWS Systems Manager

En las grandes organizaciones empresariales, es un desafío mantener la estandarización en todos los entornos. Esto es especialmente cierto si estos entornos se aprovisionan ellos mismos, y más aún cuando los nuevos usuarios acceden a estos servicios de aprovisionamiento.

En esta publicación, describo cómo en Verizon encontramos un equilibrio entre agilidad, gobierno y la estandarización de nuestros recursos de AWS.  Vamos a analizar una de las soluciones que utilizamos para permitir a los nuevos usuarios aprovisionar recursos de AWS y tambien configuren los paquetes de software en esos recursos. La solución utiliza ServiceNow y los siguientes servicios de AWS:

 

Visión General

Verizon busca proporcionar un servicio estandarizado de aprovisionamiento de recursos de AWS a nuevos usuarios. Necesitábamos una solución, que incorpore las mejores prácticas de auditoría y la gestión de la configuración, posterior a la implementación en cualquier entorno recientemente aprovisionado. Estas prácticas deben funcionar dentro de un modelo de autoservicio, totalmente auditable y requieren que:

  • Todas las solicitudes de servicio de aprovisionamiento de recursos apropiadas sean apropiadas para el ciclo de vida.
  • La gestión de la configuración se define y se aplica automáticamente según sea necesario.

 

Solución

Queríamos ofrecer una mejor experiencia para nuestros nuevos usuarios, y ayudarlos a aprovisionar recursos de conformidad con las prácticas de Gobierno y Seguridad de Verizon.

La experiencia del carrito de compras usando AWS Service Catalog y ServiceNow

Para cumplir con estos requisitos, utilizamos AWS Service Catalog para administrar todas nuestras plantillas de AWS CloudFormation  (después de ser limpiada a través de CFN-Nag). Luego los publicamos como productos en ServiceNow utilizando el Conector de Catálogo de Servicios de AWS para ServiceNow (por ejemplo, EC2 CloudFormation como un producto).

Los usuarios finales obtienen una experiencia similar a un carrito de compras, cada vez que aprovisionan recursos en su cuenta. Este proceso, nos ayuda a mantener recursos aprovisionados consistentes en todas las cuentas y cumplir con nuestros requisitos de conformidad.

Los productos o las plantillas de AWS CloudFormation, se publican en AWS Service Catalog, utilizando una canalización automatizada de Jenkins activada desde un repositorio de Git, como se muestra en el siguiente diagrama.

Todos los productos o las plantillas de AWS CloudFormation, se recuperan en AWS Service Catalog mediante el AWS Service Catalog Connector para ServiceNow y se muestran como productos. Los usuarios ven la siguiente lista de productos compatibles de la interfaz de usuario de Service Portal UI en ServiceNow.

Cuando el usuario selecciona un producto y lo aprovisiona en su cuenta, ServiceNow realiza llamadas de backend a las aplicaciones de Verizon, para realizar verificaciones de cumplimiento. Luego, realiza una llamada a AWS Service Catalog para aprovisionar el producto. Una vez que el aprovisionamiento es exitoso, el usuario ve la lista de productos aprovisionados. El usuario también puede usar la API para aprovisionar el producto.

Gestión de configuración utilizando AWS Systems Manager

Una vez que se aprovisiona el producto, los usuarios necesitan la capacidad de configurar sus instancias de forma segura, utilizando los servicios nativos de AWS. Como se mostró anteriormente, un usuario usa el producto EC2 y lo aprovisiona usando AWS Service Catalog. El usuario tiene una instancia EC2 para configurar su aplicación.

En Verizon, utilizamos Ansible para el aprovisionamiento posterior de la gestión de configuración de instancias EC2. Después de evaluar varias opciones, decidimos que Systems Manager tuvo un ajuste perfecto para usar como una solución de administración de configuración nativa de AWS. Aprovechamos los agentes de Systems Manager ya incorporados a nuestras AMIs. Por ejemplo, utilizamos el comando de ejecución de Systems Manager con un documento de ejecución ansible para ejecutar el Ansible Playbook y ejecutar un documento de shell-script para comandos bash. Para más información, ver Ejecución de Manuales de Ansible con EC2 Systems Manager Ejecutar comando y State Manager.

 

El Flujo

En la sección anterior de aprovisionamiento, usted vio cómo los usuarios aprovisionan recursos con AWS CloudFormation. ServiceNow mantiene información sobre los tipos de recursos que los usuarios intentan aprovisionar. Por ejemplo, si hay un producto con un recurso EC2, puede habilitar el comando de ejecución de Systems Manager para implementar el producto EC2 desde la interfaz de usuario de ServiceNow, como se muestra en la siguiente captura de pantalla.

Cuando un usuario selecciona el comando de ejecución de Systems Manager, permite a los usuarios incluir scripts de shell en línea o un Ansible Playbook. Luego pueden enviar el script como parte de la gestión de la configuración, como se muestra en el siguiente script de muestra:

---
- hosts: local
  tasks:
   - name: Install Nginx
     apt: pkg=nginx state=installed update_cache=true
     notify:
      - Start Nginx
  handlers:
   - name: Start Nginx
     service: name=nginx state=started- 

ServiceNow almacena la información en su base de datos para auditoría antes de realizar una llamada a la API de Systems Manager para ejecutar el comando en la instancia EC2 seleccionada. ServiceNow recupera la salida utilizando la identificación del comando desde el comando anterior y la muestra en la interfaz de usuario, como se muestra en la siguiente captura de pantalla.

Llamamos a esto un flujo de trabajo posterior al aprovisionamiento en ServiceNow, porque permite a los usuarios realizar acciones de configuración después de que el aprovisionamiento sea exitoso.

 

Configuraciones adicionales

El Connector para ServiceNow versión 2.0.2 incluye acciones operativas adicionales, la capacidad de administrador de ServiceNow y las características del portal de servicio ServiceNow. El enlace de documentación del Conector para ServiceNow incluye los detalles de las Características Adicionales del Administrador de ServiceNow. Los detalles incluyen la capacidad de eliminar un producto de AWS Service Catalog en ServiceNow que no tiene acciones  asociadas de autoservicio. Las configuraciones de ServiceNow Service Portal también detallan la capacidad de pedir productos de AWS Service Catalog, a través del ServiceNow Service Portal, utilizando las vistas de Catálogo de Servicios y Ordenar Algo.

 

Resumen

Esta solución es solo una de las muchas formas en que Verizon ayuda a los usuarios a aprovisionar recursos que cumplen con Verizon e implementar sus aplicaciones en la nube de AWS. Queremos empoderar a los nuevos usuarios de la nube para aprovisionar recursos más rápido, con menos clics, pero también de forma segura que cumpla con los requisitos de auditoría y conformidad.

 


 

Acerca del Autor

 

Krishna Gadiraju (GK) es un arquitecto de equipos de productos Cloud Governance y Cloud User Experience en Verizon. Apoya activamente a los equipos de desarrollo con la migración de aplicaciones locales a la nube al tiempo que garantiza que las cuentas de Verizon AWS cumplan con todos los requisitos de seguridad y de otro tipo. GK tiene certificaciones AWS DevOps Professional y GCP Associate. Es un presentador activo en conferencias en la nube y se puede contactar en https://www.linkedin.com/in/chaitanya-gk/