Principios de la ingeniería de software sostenible

32/32

Lectura

¡Hola! Esta es una clase especial que forma parte del entrenamiento de la Escuela de Cloud Computing con Azure. Si es la primera vez que haces unos de estos laboratorios por favor realiza los siguientes pasos.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 43

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Resumen de los 8 principios de la ingeniería de software sostenible (disponible en los enlaces del material):
.

  1. Carbon: Build applications that are carbon efficient.
  2. Electricity: Build applications that are energy-efficient.
  3. Carbon Intensity: Consume electricity with the lowest carbon intensity.
  4. Embodied Carbon: Build applications that are hardware efficient.
  5. Energy Proportionality: Maximize the energy efficiency of hardware.
  6. Networking: Reduce the amount of data and distance it must travel across the network.
  7. Demand Shaping: Build carbon-aware applications.
  8. Optimization: Focus on step-by-step optimizations that increase the overall carbon efficiency.

.
Éstos son independientes de
.

  • Dominio de aplicación
  • Tipo o tamaño de la organización
  • Provedor de nube o (auto)servicio de host.
  • Librería o lenguaje de programación

Muchas gracias por el curso!

Estudié ingeniería en electrónica y telecomunicaciones y actualmente ingeniería en sistemas computacionales.
Me es sorprendente en que ninguna de las dos carreras tomen relevancia de esta área tan importante.
No había generado tal conciencia como hoy.

Al fin llego a este punto de tener poco conocimiento en ingeniería de software hoy ya tengo una idea un poco mas clara de como trabaja todo detrás de cámaras. Excelente curso Freddy hoy a por el examen!

Aunque el software no consume energía directamente, sí que incide enormemente en el gasto energético del hardware donde se ejecuta (ej: centro de datos, dispositivos móviles, accesorios inteligentes, etc.). Este impacto del software en el consumo de energía no es precisamente despreciable, especialmente si pensamos en los millones de dispositivos y de veces que se ejecuta cierto código. Con la idea de contribuir a generar productos más sostenibles, recientemente ha surgido un interés por concienciar al desarrollador de software sobre el gasto energético que generan sus productos. Las tecnologías de la información “verdes” (Green IT) tienen como objetivo procurar el uso de recursos hardware de forma sostenible para minimizar el impacto medioambiental y alargar la vida útil de las baterías de los dispositivos inteligentes. Esto significa que las metodologías de desarrollo de software actuales deben revisarse para centrarse en producir software más sostenible.

Perfecto. Thanks

Recomiendo todos los videos de Quantum Fracture sobre la electricidad. Son claros y abarcan muy bien estos temas
https://www.youtube.com/watch?v=rRWWirKLHAU&t=15s

A darle con muchos ánimos a este reto, GRACIAS Microsoft, Platzi y a todo el team que hace posible experiencias de este tipo…

Excelente

La ingeniería de software sostenible es una disciplina emergente en la intersección de la climatología, el software, el hardware, los mercados de la electricidad y el diseño de centros de datos. Los principios de la ingeniería de software sostenible son un conjunto básico de competencias necesarias para definir, compilar y ejecutar aplicaciones de software sostenibles.

La ingeniería de software sostenible se enfoca en desarrollar y mantener software de manera que sea eficiente, rentable y capaz de adaptarse a largo plazo. A continuación, te presento ocho principios fundamentales de la ingeniería de software sostenible:

Diseño modular y desacoplado: Divide el software en módulos independientes y desacoplados. Esto facilita la mantenibilidad y la capacidad de realizar cambios en partes específicas sin afectar al conjunto.

Reutilización de código: Fomenta la reutilización de código y componentes para evitar duplicación y reducir el esfuerzo de desarrollo. Utiliza bibliotecas, frameworks y patrones de diseño que promuevan la reutilización.

Documentación completa: Documenta el código y el diseño de manera exhaustiva. Esto incluye comentarios en el código, documentación técnica y manuales de usuario. Una documentación completa facilita la comprensión y el mantenimiento del software a lo largo del tiempo.

Pruebas automatizadas: Implementa pruebas automatizadas en todas las etapas del desarrollo, desde pruebas unitarias hasta pruebas de integración y pruebas de aceptación. Las pruebas automatizadas ayudan a identificar errores temprano y garantizan que los cambios no introduzcan regresiones.

Gestión eficiente de dependencias: Controla y gestiona las dependencias del proyecto de manera eficiente. Utiliza herramientas de gestión de dependencias y versiones para garantizar la consistencia y evitar conflictos.

Optimización de recursos: Utiliza los recursos de manera eficiente, incluyendo memoria, CPU y ancho de banda. Optimiza el rendimiento del software para reducir su impacto en el consumo de recursos y mejorar la escalabilidad.

Mantenimiento proactivo: Establece un proceso de mantenimiento proactivo para corregir errores, aplicar parches de seguridad y realizar actualizaciones. Evita la acumulación de deudas técnicas que dificulten la evolución del software.

Flexibilidad y escalabilidad: Diseña el software con la flexibilidad necesaria para adaptarse a cambios en los requisitos y a un aumento en la escala de uso. Utiliza arquitecturas escalables y patrones de diseño que permitan agregar nuevas funcionalidades de manera eficiente.

Estos principios son fundamentales para desarrollar software sostenible que pueda evolucionar y mantenerse a lo largo del tiempo, reduciendo los costos y los riesgos asociados con el mantenimiento y las actualizaciones.

Les comparto mi resumen del curso por si requieren repasar: Resumen el curso

Que bien, vamos por el desafío

Carbono: creación de aplicaciones eficientes en el uso del carbono

Electricidad: creación de aplicaciones con eficiencia energética

Intensidad del carbono: consumo de electricidad con la intensidad de carbono más baja

Carbono incorporado: creación de aplicaciones con eficiencia de hardware

Proporcionalidad de la energía: maximización de la eficiencia energética del hardware

Redes: reducción de la cantidad de datos y la distancia que deben recorrer a través de la red

Modelado de la demanda: creación de aplicaciones que tengan en cuenta el carbono

Optimización: enfoque en las optimizaciones paso a paso que aumentan la eficiencia total del carbono

Además, ha obtenido información sobre las dos filosofías de la ingeniería de software sostenible:

Todo el mundo debe participar en solucionar el problema climático

La sostenibilidad es suficiente, por sí sola, para justificar nuestro trabajo

How To Learn Anything - Elon Musk

https://www.youtube.com/watch?v=P3frGoU8124

Enjoy!

Tener una perspectiva de cómo es que nuestro trabajo afecta al ambiente es abrumador pero muy inspirador. Tocará trabajar para hacer de nuestro rol más sostenible!

la neta que me dejó con más aprendizajes de lo que esperaba, no sabía que internet funcionara de este modo, estoy aprendiendo a la par programación

1. Carbono: creación de aplicaciones eficientes en el uso del carbono
2. Electricidad: creación de aplicaciones con eficiencia energética
3. Intensidad del carbono: consumo de electricidad con la intensidad de carbono más baja
4. Carbono incorporado: creación de aplicaciones con eficiencia de hardware
5. Proporcionalidad de la energía: maximización de la eficiencia energética del hardware
6. Redes: reducción de la cantidad de datos y la distancia que deben recorrer a través de la red
7. Modelado de la demanda: creación de aplicaciones que tengan en cuenta el carbono
8. Optimización: enfoque en las optimizaciones paso a paso que aumentan la eficiencia total del carbono

Además, ha obtenido información sobre las dos filosofías de la ingeniería de software sostenible:

  1. Todo el mundo debe participar en solucionar el problema climático
  2. La sostenibilidad es suficiente, por sí sola, para justificar nuestro trabajo

Listo!

excelente

Excelente, gracias.

Estudio Ingeniería de sistemas e informática en la Universidad Nacional, allí vi una materia de Ingeniería de software pero solo eran diagramas :v ep, casos de uso, etc. etc. Sin embargo este curso de platzi fue más como ver otras 3 materias (redes y teleinformática, sistemas operativos e introducción a la robótica). Muy compacto para entender a grandes rasgos como funciona casi todo, excelente!.
1. Carbono: creación de aplicaciones eficientes en el uso del carbono 2. Electricidad: creación de aplicaciones con eficiencia energética 3. Intensidad del carbono: consumo de electricidad con la intensidad de carbono más baja 4. Carbono incorporado: creación de aplicaciones con eficiencia de hardware 5. Proporcionalidad de la energía: maximización de la eficiencia energética del hardware 6. Redes: reducción de la cantidad de datos y la distancia que deben recorrer a través de la red 7. Modelado de la demanda: creación de aplicaciones que tengan en cuenta el carbono 8. Optimización: enfoque en las optimizaciones paso a paso que aumentan la eficiencia total del carbono

exxamen resspuestasss
Resumen
1.
¿Cuántos bits utiliza una dirección ipv4?
32
2.
¿Cuántos bits tiene un byte?
8
3.
¿Qué es la CPU?
La unidad central de procesamiento
4.
El número 27 representado en binario es
11011
5.
La velocidad de los procesadores se mide en
Hertz
6.
Uno de los trabajos más importantes de la BIOS es identificar
El hardware y periféricos conectados
7.
¿En dónde se almacena los archivos del sistema operativo?
Disco duro
8.
La memoria RAM accede a los datos de forma
Aleatoria
9.
El chip ideal para procesar la representación gráfica de datos en pantalla es
GPU
10.
Un archivo de texto con la palabra “Platzi” debe pesar
6 bytes
11.
¿Qué sucede cuando borras un archivo?
Se elimina el índice de la cabecera del sistema de archivos

¿Qué es lo primero que carga un sistema operativo en RAM?
El kernel
13.
¿Qué es un switch en una red?
El dispositivo que conecta múltiples dispositivos a la misma red
14.
¿Qué es una IP?
Es un número asignado para identificar los computadores en la red
15.
¿Cuál es la IP que normalmente se refiere al mismo equipo o localhost?
127.0.0.1
16.
El router asigna ips de forma automática usando el protocolo
DHCP
17.
¿Qué rango de puertos de red requieren permisos de administrador en el sistema operativo para ser usados?
1 - 1024
18.
¿Qué es un DNS?
Es un sistema que asocia los nombre de dominio con la IP del servidor
19.
Si compras una conexión de 100Mbps en teoria cuál es la máxima velocidad de descarga:
~12.5MB/s
20.
Si un archivo tiene los permisos 750 que usuarios lo pueden editar
Administrador
21.
¿Cuál es el sistema operativo por defecto de un Arduino?
Ninguno
22.
¿Cómo un sistema operativo sabe que software usar para un tipo de archivo?
El sistema operativo lee la cabecera del archivo donde encuentra el tipo de archivo y tiene una base de datos que asocia las extensiones con un software
23.
Para tener una imagen con calidad de color de 32 bits, cada pixel debe ser representado con
4 Bytes
24.
¿Cuál de estos no es un codec de vídeo?
theora
25.
¿Qué es un System-on-a-Chip?
Un chip especial que agrupa CPU/GPU y otros chips de un dispositivo
26.
A nivel físico, la limitación de velocidad de una red depende de
La velocidad de la luz
27.
Tu computadora personal puede ser un servidor en Internet
Verdadero
28.
Tu dispositivo móvil puede ser un servidor en Internet
Verdadero
29.
Un Raspberry Pi con wifi puede ser un servidor en Internet
Verdadero
30.
Cuál de los siguientes sistemas operativos tiene un sistema de archivos
Todos los anteriores
Ver menos

Los seis principios que los ingenieros de software pueden utilizar para tomar decisiones que tengan un impacto significativo en la huella de carbono de sus aplicaciones. * **Eficiencia de carbono**: creación de aplicaciones eficientes en el uso del carbono * **Eficiencia energética**: creación de aplicaciones con eficiencia energética * **Conciencia de carbono**: creación de aplicaciones que tengan en cuenta el carbono * **Eficiencia de hardware**: creación de aplicaciones con eficiencia de hardware * **Medida**: información sobre cómo medir las emisiones de carbono * **Compromisos climáticos**: definición del mecanismo exacto de reducción de carbono

Estaba tomando el curso de Azure cuando estaba el reto de la Certificacion, pero me gano el tiempo y era demasiada la informacion para estudiar en la pagina, aparte no acabe el curso jajaja quiza en otro momento vuelva a retomar el curso pero con mas calma…

Super genial al día de hoy tienen muchos cursos Microsoft. Excelente.

Excelente curso. Un gran maestro Freddy. Da gusto sentir que se aprovecha el tiempo invertido. Gracias

.

Es muy interesante aprender sobre el software sostenible.

Es un excelente curso aprender mediante una total radiografía del Software en cada clase, de forma clara y concisa en lenguaje que se asimila de forma fácil muy dinámico y motivador para seguir especializándose en estos temas.

Hola , En este momento , estoy en la 2nda leccion de Microsoft learn, Escuela de Cloud, computing con Azure. Creo que esta dificil para mi y no estoy preparado para esa clase, aparte de que se requiere administracion basica de linux. La voy a dejar y en su momento la vuelvo a tomar.
Eduardo

MUCHAS GRACIAS…

Me encantó la seccion de bonus. GRACIAS

Muy bueno el curso !!!
Muchas gracias.

Excelente curso para entender como funciona todo por “detras”. Ahora a por el examen!!!

Por ello es importante la iteración ya que en caso de que nuestra aplicación ya sea funcional. Siempre existe una manera de agregarle eficiencia, en este caso lo es el hacerla más sostenible usando como parámetro estos principios.
Éxito a todos, les deseo un código más verde.

Me intriga el cloud computing, aqui esforzandome por obtener el Microsoft fundamentals

Buena suerte a todos en el examen 😄

Exelente

Excelente aporte.

Vamos por esa certificación! Ánimo!!