La capacidad de mantener los sistemas en línea, listos, eficientes y ágiles para responder a las solicitudes de los clientes, es el reto diario en la administración de la infraestructura.
Tener esta capacidad es muy importante para diferenciarnos y permanecer como la mejor opción en la mente de nuestros clientes.
Un entorno de infraestructura eficientemente organizado nos da ventajas a la hora de enfrentar incidencias, permitiéndonos aislar las fallas e identificar las causas en menor tiempo y con menores impactos.
Otra de sus ventajas es que permite monitorear y administrar fácilmente los costos y además resulta de gran ayuda en la búsqueda constante de optimización de recursos.
En este artículo hablaremos de tres herramientas que, al ser combinadas, nos ayudarán en la tarea de mantener nuestros entornos debidamente organizados y facilitarán la administración y control de costos.
Comenzaremos dando un vistazo a Resource Groups (grupos de recursos) y Tag Editor (editor de etiquetas), finalizando con Cost Allocation Tags (Etiquetas de asignación de costos).
La consola de AWS está organizada por tipos de servicio, sin embargo, con Resource Groups podemos crear una consola personalizada para organizar y consolidar los recursos de acuerdo a los criterios de sus etiquetas.
Con esta característica podemos administrar de manera sencilla aplicaciones en diferentes fases como desarrollo, preproducción y producción, así como administrar recursos de diferentes proyectos o aquellos usados por distintos departamentos, individuos o plataformas (Ej: Android o iOS).
Pensemos que existen varias versiones (alfa, beta, release) de una aplicación y mantenemos los sets de recursos de manera separada. Sin Resource Groups necesitaríamos navegar por múltiples consolas de servicios para modificar las configuraciones o revisar el estado de los recursos de cada versión de la aplicación.
En contraste, cuando usamos Resource Groups podemos crear un grupo de recursos para cada versión, abrir la página correspondiente a la versión requerida y listo, ya tenemos la información consolidada de todos los recursos y acceso a cada uno de los servicios mediante los links.
Con Resource Groups también podemos automatizar tareas en múltiples recursos relacionados y ejecutarlas en bloque.
Por ejemplo, si contamos con varias instancias Ec2 encontraremos muy útil ejecutar en un solo momento la instalación de actualizaciones o parches de seguridad, apertura de puertos para tráfico de red, recolectar logs específicos y datos de monitoreo de una flota de instancias.
Aquí puedes revisar la lista de servicios que funcionan con Resource Groups.
La base fundamental de Resource Groups son los tags. Sabemos que los tags son palabras o frases que nos sirven para identificar y organizar los recursos. Cada recurso puede contener hasta 50 tags aplicados por el usuario y cada tag consiste en una combinación de nombre y valor.
Aplicar tags facilita varios procesos propios de la administración de los recursos:
Podemos agregar tags de manera individual cuando estamos creando los recursos o también lo podemos hacer posteriormente. Sin embargo, Tag Editor nos permite agregar tags a múltiples recursos a la vez y nos ayudará bastante para desplegar una estrategia de identificación (tagging) consistente con nuestros objetivos.
Y ya que hablamos de estrategias de identificación de recursos (Tagging Strategy), hay que tener en cuenta que las aplicaciones, flujos o cargas de trabajo van evolucionando con el tiempo y por tanto son objeto de múltiples cambios.
Por lo anterior, es fundamental planear diligentemente los esquemas y la aplicación de los tags. De esto depende el éxito o fracaso de todo lo que estamos hablando aquí, no funcionará si tenemos que cambiar frecuentemente los tags según vamos aumentando la cantidad de recursos.
Aquí puedes consultar una guía de buenas prácticas para crear tags.
Volviendo a Tag Editor, este nos habilita para realizar búsquedas de recursos en una o más regiones. Podemos escoger hasta 20 tipos de recursos individualmente o crear una consulta sobre todos los tipos de recursos, se puede incluir tanto los que ya cuentan con tags como aquellos que no tienen ninguno. Después de encontrar los recursos podemos agregar, ver, editar o eliminar tags.
Como característica útil, tenemos la posibilidad de exportar los resultados de una búsqueda de recursos en un archivo de valores separados por comas, CSV.
Tenemos la opción de incluir los tags de los recursos durante su creación o posteriormente con ayuda de tag editor:
Para mayor información sobre configuración y manejo de Tag Editor puedes seguir este link.
Como lo mencionamos anteriormente este es el momento más importante para una buena gestión de recursos. Los siguientes son algunos aspectos a tener en cuenta:
Cost Allocation Tags es un servicio que nos habilita para descargar reportes de costos discriminados por proyectos, versiones, etc. Solo se deben activar los reportes con Tags definidos por el usuario y tendremos la información de costo de cada uno de los recursos de acuerdo a los tags que hayamos definido previamente.
La siguiente es la imagen de un fragmento del reporte de costos con el tag “powerbi” el cual activamos previamente:
Realizando un sencillo filtro en el archivo .csv descargado, podemos obtener la información de uso y costos. Los tags aquí definidos deben ser consistentes con la estrategia de tagging mencionada anteriormente.
Debemos activar Cost allocation tags definidos por el usuario y configurar Cost allocation report.
Resource Groups y Tag Editor requieren permisos para agregar o visualizar Tags en cada uno de los recursos involucrados, adicionalmente debemos contar con los permisos adecuados para ejecutar operaciones sobre Resource Groups y Tag Editor.
Aquí puedes conocer sobre los permisos necesarios.
Solo las cuentas de administración de una organización y las cuentas individuales que no forman parte de una organización tienen acceso al administrador de Cost Allocation Tags en la consola de Billing.
Mediante el uso de tags en conjunto con Resource Groups podemos visualizar información de recursos en un solo lugar, en vez de cambiar entre varias consolas o regiones.
Activando Cost Allocation Tags tendremos información de costos y usos de manera discriminada para los recursos con determinados tags.
Existen otras herramientas y servicios que no mencionamos aquí y de los que también podemos sacar provecho con una consistente aplicación de tags, es el caso de AWS Budgets, en donde podemos configurar notificaciones de límites de uso para recursos con un tag en particular.
Otros artículos de Desarrollo de Software
No Comments Yet
Let us know what you think