Preámbulo
Prefacio
1. Introducción al software verde
1.1. ¿Qué significa ser verde en TI?
1.2. Qué pensamos nosotras
2. Pilares del software verde
2.1 La razón por la que estamos aquí: carbono
2.1.1. Gases de efecto de invernadero
2.1.2. Clima versus tiempo atmosférico
2.1.3. ¿Qué hay del calentamiento global? ¿Cómo se relaciona con el cambio climático?
2.1.4. Monitoreando el cambio climático
2.2. Volviendo a lo básico: La electricidad
2.2.1. Trabajo, energía, electricidad, and facturas
2.2.2. Energía alta y baja en carbono
2.2.3. ¿Cómo podemos mejorar la eficiencia energética?
2.3. Hardware 101 para ingenieros de software
2.3.1. El aspecto físico
2.3.2. El lado operativo
2.4. Usted está listo
3. Eficiencia del código
3.1 La eficiencia lo es todo¿o no?
3.2 ¿Qué es eficiencia del código?
3.2.1. ¿Por qué la mayoría del código es deliberadamente ineficiente?
3.2.2. Los beneficios de la eficiencia
3.2.3. Productividad del desarrollador
3.3. Antecedentes: Código hipereficiente
3.3.1. Ejemplos destacados
3.3.2. Rendimiento versus eficiencia versus sostenibilidad
3.4. Elija la plataforma adecuada
3.5. Use patrones de diseño verde
3.5.1. Evite demasiadas capas
3.5.2. Sea cuidadoso con los microservicios
3.5.3. Reemplace servicios y bibliotecas ineficientes
3.5.4. No guarde ni haga demasiado
3.5.5. Saque provecho de los dispositivos del cliente
3.5.6. Gestión del aprendizaje automático
3.5.7. El gran problema con la eficiencia
3.6. La conclusión
4. Eficiencia operativa
4.1 La batalla contra las máquinas
4.1.2. Punto clave
4.1.3. Técnicas
4.1.4. Utilización de máquinas
4.1.5. Multitenencia
4.1.6. Servicios serverless
4.1.7. Hyperescaladores y beneficios
4.1.8. Prácticas SRE
4.1.9. LightSwitchOps
4.1.10. Localización, localización, localización
4.1.11. ¡Oh No! ¡La resistencia contraataca!
4.1.12. Herramientas y técnicas operativas verdes
5. Conciencia sobre el carbono
5.1. Intensidad de carbono de la electricidad
5.1.1. Variabilidad de la intensidad de carbono
5.1.2. Demanda de la electricidad
5.1.3. Herramientas útiles
5.2. Cambio de la demanda
5.2.1. Cambio de tiempo
5.2.2. Cambio de ubicación
5.3. Adaptación de la demanda
5.4. ¿Alguna objeción a esto?
5.4.1. El cambio de ubicación puede ser complicado
5.5. Ejemplos del mundo real
5.5.1. Google
5.5.2. Xbox
5.5.3. iPhone
5.5.4. Carbon Hack 22
5.12 Usted está consciente sobre el carbono
6. Eficiencia del hardware
6.1 Carbono incorporado
6.1.1. Longevidad de un dispositivo
6.1.2. Obsolescencia definida por software
6.1.3. Aplicaciones y servicios en la nube
6.1.4. Centros de datos autohospedados
6.1.5. Hardware especializado
6.2. Residuos electrónicos
6.2.1. ¿Qué están haciendo los productores de hardware para hacer sus operaciones más verdes?
6.3. ¡Eso es todo!
7. Redes
7.1. ¿Son lo suficientemente verdes las redes?
7.1.1. Mirando el panorama completo
7.3 Definiendo el Internet
7.3.1. ¿Qué son estos cables?
7.3.2. ¿Cómo se relacionan la computación y el almacenamiento?
7.3.3. ¿El todo es más que la suma de sus partes?
7.3.4. ¿Son buenos o malos los satélites del Internet?
7.4. El rol del software
7.5. ¿Por qué no podemos solo hacer que el enrutamiento sea más verde?
7.5.1. Protocolo de puerta de enlace de frontera (BGP)
7.6. Hacer verde el Internet de arriba a abajo
7.6.1. Lecciones del confinamiento
7.6.2. Cambio de la demanda
7.6.3. Caídas de tensión y degradaciones controladas, así como adaptación de la demanda
7.8. Entonces, ¿qué aprendimos de 2020?
7.9. En conclusión
8. Aprendizaje automático, IA, and LLM verdes
8.1. Crecimiento en tamaño y uso
8.2. Planificación del proyecto
8.3. Recolección de Datos
8.4. Diseño y entrenamiento de modelos de ML
8.4.1 El tamaño importa
8.4.2 El Tamaño no lo es todo
8.5. Despliegue y mantenimiento
8.6. ¿Por dónde debería empezar?
9. Medición
9.1. Lo perfecto
9.1.1. Datos de energía perfectos
9.1.2. Datos de intensidad de carbono perfectos
9.1.3. ¿Dónde encajan las reducciones basadas en el mercado?
9.1.4. Trazabilidad perfecta de carbono incorporado
9.1.5. El futuro del monitoreo perfecto
9.2. ¿Lo suficientemente bueno?
9.2.1. Uso de indicadores
9.2.2. Uso consistente de datos imperfectos para alcanzar reducciones
9.3. Revisión de metodologías actuales
9.3.1. Protocolo de gases de efecto invernadero (protocolo de GEI)
9.3.2. Especificación de la intensidad de carbono del software (SCI) de Green Software Foundation
9.3.3. Norma ISO 14064
9.4. Herramientas disponibles
9.9.1 Herramientas de proveedores de nube hiperescaladores
9.9.2 Opciones de código abierto para la nube
9.9.3 Herramientas del lado del cliente
9.5. ¡Usted lo logró!
10. Monitoreo
10.1. Disponibilidad como una estrella del norte
10.2. Cuatro jinetes del monitoreo basado en métricas
10.3. El nivel de servicio es la razón por la que estamos aquí
10.3.1. Cuando una métrica de carbono está lista
10.4. Observabilidad
10.4.1. La confrontación anticipada: observabilidad versus monitoreo
10.4.2. ¿Estamos listos para la observabilidad?
10.5. Llegaremos hasta aquí
11. Cobeneficios
11.1. ¿Se trata de dinero?
11.1.1. ¿Por qué lo más verde también es más barato?
11.2. ¿Qué pasa con la fiabilidad y la resiliencia?
11.2.1. Ejemplo
11.3. ¿Tal vez sea el rendimiento?
11.3.1. ¿Qué tan rápido es lo suficientemente rápido?
11.3.2. Mejor ajuste y rendimiento
11.4. ¡Tiene que ser seguridad!
11.4.1. La seguridad es verde
11.5. ¿Pero qué hay sobre los datos?
11.5.1. Control de los LLM
11.5.2. Piense en los modelos de datos
11.6. Realmente, esto es todo lo anterior
11.7. Bien, nosotras creemos que usted está listo
12. La matriz de madurez del software verde
12.1. La historia de las matrices de madurez
12.2. Matriz de madurez del software verde
12.2.1. Niveles
12.2.2. Ejes
12.2.3. Lista de chequeo de ejes
12.3. ¿Dónde Estamos Hoy?
13. ¿A dónde vamos desde aquí?
13.1. ¿Por qué nosotros?
13.2. Avanzando a través de la matriz
13.2.1. El desafío del 50 % en software verde
13.2.2. ¿Qué sigue?
13.2.3. A cada cosa le llega su momento
13.3. ¿El coste?
13.4. ¡Todas las cosas!
13.5. Entonces, ¿Cómo?
13.9 Reutilización de código
13.6. Entonces, ¿qué es el software verde?
14. Epílogo
15. Índice