in

Anuncio de Amazon CodeCatalyst, un servicio de desarrollo de software unificado (versión preliminar) | Servicios web de Amazon

Hoy anunciamos el lanzamiento preliminar de Amazon Code Catalyst. Amazon CodeCatalyst, un servicio unificado de desarrollo y entrega de software, permite que los equipos de desarrollo de software planifiquen, desarrollen, colaboren, construyan y entreguen aplicaciones en AWS de forma rápida y sencilla, lo que reduce la fricción a lo largo del ciclo de vida del desarrollo.

En mi tiempo como desarrollador, la mayor emoción, además de enviar software a los usuarios, era el comienzo de un nuevo proyecto o ser invitado a unirse a un proyecto. Ambos surgieron con la anticipación de construir algo genial, cortar código nuevo y ver cómo una idea cobraba vida. Sin embargo, comenzar a veces fue un proceso lento. Mi equipo o yo necesitaríamos actualizar nuestros entornos de desarrollo locales, o máquinas completamente nuevas, con herramientas, bibliotecas y marcos de programación. Tuvimos que crear repositorios de código fuente y configurar otras herramientas compartidas como Jira, Confluence o Jenkins, configurar canalizaciones de compilación y otros flujos de trabajo de automatización, crear entornos de prueba, etc. El mantenimiento diario de los entornos de desarrollo y construcción consumía valiosos ciclos de equipo y energía. La colaboración entre el equipo también requirió esfuerzo, porque las herramientas para compartir información y tener una única fuente de verdad no estaban disponibles. El cambio de contexto entre proyectos y el manejo de dependencias en conflicto en esos proyectos, por ejemplo, Python 3.6 para el proyecto X y Python 2.7 para el proyecto Y, especialmente cuando teníamos una sola máquina para trabajar, aumentó aún más la carga.

¡No parece haber mejorado nada! En estos días, cuando hablo con los desarrolladores sobre sus experiencias, a menudo los escucho expresar que sienten que el desarrollo moderno se ha vuelto uniforme. más Complicado. Esto se debe a tener que seleccionar y configurar una colección más amplia de marcos y bibliotecas modernos, herramientas, servicios en la nube, canalizaciones de integración y entrega continuas, y muchas otras opciones que deben trabajar juntas para brindar la experiencia de la aplicación. Lo que antes era manejable por un desarrollador en una máquina ahora es una red compleja, dinámica y en expansión de decisiones y compensaciones, que se vuelve aún más desafiante por la necesidad de coordinar todo esto entre equipos dispersos.

Introduzca Amazon CodeCatalyst
Pasé un tiempo hablando con el equipo detrás de Amazon CodeCatalyst sobre sus fuentes de inspiración y objetivos. Tomando los comentarios de los equipos de servicio y los desarrolladores nuevos y experimentados aquí en AWS, examinaron los desafíos que suelen experimentar los equipos y los desarrolladores individuales al crear software para la nube. Después de recopilar y revisar estos comentarios, se dispusieron a crear una herramienta unificada que suaviza las asperezas que ralentizan innecesariamente la entrega de software, y agregaron funciones para facilitar que los equipos trabajen juntos y colaboren. Las características de Amazon CodeCatalyst para abordar estos desafíos incluyen:

  • Blueprints que configuran los recursos del proyecto, no solo el andamiaje para nuevos proyectos, sino también los recursos necesarios para respaldar la entrega y la implementación del software.
  • Entornos de desarrollo basados ​​en la nube bajo demanda, para facilitar la replicación de entornos de desarrollo consistentes para usted o sus equipos.
  • Gestión de problemas, lo que permite realizar un seguimiento de los cambios en las confirmaciones, las solicitudes de extracción y las implementaciones.
  • Canalizaciones de compilación y lanzamiento automatizadas (CI/CD) utilizando una infraestructura de compilación administrada y flexible.
  • Tableros para mostrar una fuente de actividades del proyecto, como confirmaciones, solicitudes de incorporación de cambios e informes de prueba.
  • La capacidad de invitar a otros a colaborar en un proyecto con solo un correo electrónico.
  • Búsqueda unificada, lo que facilita encontrar lo que está buscando entre usuarios, problemas, código y otros recursos del proyecto.

Hay mucho en Amazon CodeCatalyst que no tengo espacio para cubrir en esta publicación, por lo que cubriré brevemente algunas características específicas, como planos, entornos de desarrollo y colaboración en proyectos. Otras próximas publicaciones cubrirán características adicionales.

Planos del proyecto
Cuando escuché por primera vez acerca de los planos, sonaban como una característica para construir un código inicial para un proyecto. Sin embargo, ¡son mucho más! Los blueprints de aplicaciones parametrizados le permiten configurar recursos de proyectos compartidos para respaldar el ciclo de vida de desarrollo de aplicaciones y la colaboración en equipo en minutos, no solo el código de inicio inicial para una aplicación. Los recursos que crea un blueprint para un proyecto incluyen un repositorio de código fuente, completo con código de muestra inicial y configuración de servicio de AWS para patrones de aplicaciones populares, que siguen las mejores prácticas de AWS de manera predeterminada. Si lo prefiere, puede usar un repositorio Git externo como GitHub. El blueprint también puede agregar un rastreador de problemas, pero también se pueden usar rastreadores externos como Jira. Luego, el modelo agrega una canalización de compilación y lanzamiento para CI/CD, a la que me referiré en breve, así como otras herramientas integradas.

Los recursos del proyecto y las herramientas integradas se configuran mediante blueprints, incluida la canalización de CI/CD y los recursos de AWS para alojar su aplicación, lo que le permite presionar «implementar» y ejecutar código de muestra en unos minutos, lo que le permite saltar y comience a trabajar en su lógica comercial específica.

En el lanzamiento, los clientes pueden elegir entre modelos con Typescript, Python, Java, .NET, Javascript para lenguajes y marcos React, Angular y Vue, con más por venir. Y no es necesario empezar con un plano. Puede crear proyectos con flujos de trabajo que se ejecutan en cualquier dispositivo que funcione con los sistemas operativos Linux y Windows.

Entornos de desarrollo basados ​​en la nube
Los equipos de desarrollo a menudo pueden encontrarse con un problema de «desviación del entorno», donde un miembro del equipo tiene una versión ligeramente diferente de una cadena de herramientas o biblioteca en comparación con todos los demás o los entornos de prueba. Esto puede introducir errores sutiles que pueden pasar desapercibidos durante algún tiempo. Las especificaciones del entorno de desarrollo y los demás recursos compartidos que crean los blueprints ayudan a garantizar que no haya variaciones innecesarias y que todos los miembros del equipo obtengan la misma configuración para brindar una experiencia consistente y repetible entre los desarrolladores.

Amazon CodeCatalyst utiliza un archivo de desarrollo para definir la configuración de un entorno de desarrollo bajo demanda basado en la nube, que actualmente admite cuatro opciones de tamaño de instancia redimensionable con 2, 4, 8 o 16 vCPU. El archivo de desarrollo define y configura todos los recursos necesarios para codificar, probar y depurar un proyecto determinado, lo que minimiza el tiempo que los miembros del equipo de desarrollo deben dedicar a crear y mantener sus entornos de desarrollo locales. Los archivos de desarrollo, que se agregan al repositorio de código fuente mediante el proyecto seleccionado, también se pueden modificar si es necesario. Con Dev Environments, el cambio de contexto entre proyectos genera menos gastos generales: con un clic, simplemente puede cambiar a un entorno diferente y está listo para comenzar a trabajar. Esto significa que puede trabajar fácilmente de forma simultánea en varias bases de código sin tener que volver a configurar. Al ser bajo demanda, los entornos de desarrollo también se pueden pausar, reiniciar o eliminar según sea necesario.

A continuación se muestra un ejemplo de un archivo de desarrollo que arranca un entorno de desarrollo.

schemaVersion: 2.0.0
metadata:
  name: aws-universal
  version: 1.0.1
  displayName: AWS Universal
  description: Stack with AWS Universal Tooling
  tags:
    - aws
    - a12
  projectType: aws
commands:
  - id: npm_install
    exec:
      component: aws-runtime
      commandLine: "npm install"
      workingDir: /projects/spa-app
events:
  postStart:
    - npm_install
components:
  - name: aws-runtime
    container:
      image: public.ecr.aws/aws-mde/universal-image:latest
      mountSources: true
      volumeMounts:
        - name: docker-store
          path: /var/lib/docker
  - name: docker-store
    volume:
      size: 16Gi

Los desarrolladores que trabajan en entornos de desarrollo basados ​​en la nube provistos por Amazon CodeCatalyst pueden usar AWS Cloud9 como su IDE. Sin embargo, pueden trabajar fácilmente con Amazon CodeCatalyst desde otros IDE en sus máquinas locales, como JetBrains IntelliJ IDEA Ultimate, PyCharm Pro, GoLand y Visual Studio Code. Los desarrolladores también pueden crear entornos de desarrollo desde su IDE, como Visual Studio Code o para JetBrains mediante la aplicación JetBrains Gateway. A continuación, se utiliza JetBrains IntelliJ.

Construir y liberar canalizaciones
La canalización de compilación y lanzamiento creada por el blueprint se ejecuta en una infraestructura administrada y flexible. Las canalizaciones pueden usar compilaciones preaprovisionadas o computación bajo demanda, incluida una selección de tamaños de máquina, y puede traer sus propios entornos de contenedores. Puede incorporar acciones de compilación integradas o proporcionadas por socios (por ejemplo, Mend, que proporciona una acción de compilación de análisis de composición de software), y también puede incorporar GitHub Actions para componer canalizaciones completamente automatizadas. Las canalizaciones se pueden configurar mediante un editor visual o archivos YAML.

Las canalizaciones de compilación y lanzamiento permiten la implementación en servicios populares de AWS, incluidos Amazon Elastic Container Service (Amazon ECS), AWS Lambda y Amazon Elastic Compute Cloud (Amazon EC2). Amazon CodeCatalyst simplifica la configuración de entornos de prueba y producción y la implementación mediante canalizaciones en una o varias regiones o incluso varias cuentas por motivos de seguridad.

Colaboración en proyectos
Como servicio de desarrollo de software unificado, Amazon CodeCatalyst no solo facilita el inicio de la creación y entrega de aplicaciones en AWS, sino que también ayuda a los desarrolladores de todos los niveles a colaborar en proyectos a través de un único espacio de proyecto compartido y fuente de información. Se puede invitar a los desarrolladores a colaborar usando solo un correo electrónico. Al aceptar la invitación, el desarrollador ve el contexto completo del proyecto y puede comenzar a trabajar de inmediato utilizando los entornos de desarrollo del proyecto, sin necesidad de perder tiempo actualizando o reconfigurando su máquina local con las herramientas, bibliotecas u otros requisitos previos requeridos.

Se puede invitar a los miembros existentes de un espacio de Amazon CodeCatalyst, o a los nuevos miembros que utilizan su correo electrónico, a colaborar en un proyecto:

Cada uno recibirá un correo electrónico de invitación que contiene un enlace titulado Aceptar la invitacionque cuando se hace clic, abre una pestaña del navegador para iniciar sesión. Una vez que inician sesión, pueden ver todos los proyectos en el espacio de Amazon CodeCatalyst al que han sido invitados y también pueden cambiar rápidamente a otros espacios en los que son propietarios o para que han sido invitados.

Desde allí, pueden seleccionar un proyecto y obtener una descripción general inmediata de cómo están las cosas, por ejemplo, el estado de los flujos de trabajo recientes, cualquier solicitud de extracción abierta y los entornos de desarrollo disponibles.

En el tablero Problemas, los miembros del equipo pueden ver en qué problemas deben trabajar, seleccionar uno y comenzar.

Poder ver de inmediato el contexto del proyecto y tener acceso a entornos de desarrollo basados ​​en la nube bajo demanda, todo ayuda a poder comenzar a contribuir más rápidamente, eliminando los retrasos en la configuración.

¡Comience hoy con Amazon CodeCatalyst en el nivel gratuito!
Blueprints para andamiar no solo el código de la aplicación, sino también los recursos de proyectos compartidos que respaldan el desarrollo y la implementación de aplicaciones, el seguimiento de problemas, la colaboración por invitación por correo electrónico, los flujos de trabajo automatizados y más están disponibles hoy en la vista previa recientemente lanzada de Amazon Code Catalyst para ayudar a acelerar sus esfuerzos de desarrollo y entrega en la nube. Obtenga más información en la Guía del usuario de Amazon CodeCatalyst. Y, como mencioné anteriormente, el equipo planea publicaciones de blogs adicionales y otro contenido de apoyo para profundizar en la gama de funciones con más detalle, ¡así que asegúrese de estar atento a ellos!

Fuente

Written by TecTop

Apple ahora llama al sistema operativo de auriculares AR / VR ‘xrOS’

Oculte todo menos el área de trabajo en una hoja de cálculo de Excel