Información general

  • ¿Qué es AWS Step Functions?

    AWS Step Functions es un servicio completamente administrado que facilita la coordinación de componentes de aplicaciones y microservicios distribuidos usando flujos de trabajo visuales. La creación de aplicaciones a partir de componentes individuales que realizan cada uno una función discreta le permite escalar y modificar las aplicaciones con rapidez. Step Functions es una manera fiable de coordinar los componentes y procesar las funciones de su aplicación. Step Functions proporciona una consola gráfica con la que ordenar y visualizar los componentes de su aplicación en varios pasos. De este modo, crear y ejecutar aplicaciones multipaso resulta sencillo. Step Functions activa y monitoriza cada paso de manera automática, y realiza reintentos cuando se producen errores, por lo que su aplicación se ejecuta en orden y según lo previsto. Step Functions registra el estado de cada paso, de manera que, cuando algo sale mal, puede diagnosticar y depurar los problemas con rapidez. Puede cambiar y agregar pasos sin escribir código, lo que le permite evolucionar la aplicación con facilidad e innovar con mayor velocidad.

  • ¿Qué beneficios tiene diseñar mi aplicación utilizando la organización de servicios para coordinar tareas?

    El desglose de una aplicación en componentes (o pasos) de servicio garantiza que el error de un componente no desactive el sistema completo, que cada componente se escale de forma independiente, y que los componentes se puedan actualizar sin necesidad de volver a implementar el sistema completo tras cada modificación. La coordinación de componentes de servicio implica la administración de las dependencias de ejecución, la programación y la concurrencia de acuerdo con el flujo lógico de la aplicación. En una aplicación de este tipo, los desarrolladores pueden utilizar la organización del servicio para hacerlo y gestionar los errores.

  • ¿Qué tipos de casos de uso se pueden resolver con AWS Step Functions?

    AWS Step Functions ayuda con cualquier problema informático o proceso de negocio que se puede subdividir en una serie de pasos. Entre los casos de uso comunes se incluyen:

    • Procesamiento de datos y documentos – Consolide datos de varias bases de datos en informes unificados. Ajuste y reduzca conjuntos de datos grandes en formatos útiles.
    • Operaciones de desarrollo – Cree herramientas para la integración y la implementación continuas. Cree aplicaciones basadas en eventos que respondan automáticamente ante los cambios de la infraestructura.
    • E-commerce – Automatice procesos de negocio críticos, como el procesamiento de pedidos y el seguimiento de inventario.
    • Aplicaciones web – Implemente procesos de registro de usuarios sólidos y autenticación de inicio de sesión.
  • ¿Cómo funciona AWS Step Functions?

    Con AWS Step Functions, puede definir su aplicación como una máquina de estados, una serie de pasos que juntos capturan el comportamiento de la aplicación. Los estados en la máquina pueden ser tareas, pasos secuenciales, pasos paralelos, rutas de ramificación (elección) o temporizadores (espera). Las tareas son unidades de trabajo y a este trabajo lo pueden realizar funciones de AWS Lambda, instancias de Amazon EC2 de cualquier tipo, contenedores o servidores locales. Se puede asignar una tarea a cualquier elemento que se pueda comunicar con la API de Step Functions. El código visual traza automáticamente cada estado en el orden de ejecución, lo que facilita el diseño de aplicaciones multipaso. La consola resalta el estado en tiempo real de cada paso y proporciona un historial detallado de cada ejecución. Step Functions utiliza y escala los pasos de su aplicación y la informática subyacente para garantizar que su aplicación se ejecute de manera fiable en caso de aumento de la demanda.

  • ¿Cómo puedo comenzar a utilizar AWS Step Functions?

    Para comenzar a utilizar AWS Step Functions, vaya a la página de detalles de AWS Step Functions y haga clic en el botón "Comience de forma gratuita". Si no tiene una cuenta de Amazon Web Services, se le pedirá que la cree. Tras la inscripción, puede ejecutar una guía paso a paso de muestra en la consola de AWS Step Functions que le orienta sobre los pasos necesarios para crear una máquina de estados. Vaya a AWS Step Functions desde la consola de administración de AWS. Después seleccione el plano "Hola Mundo" y agregue una función de Lambda "HelloWorld". Ya puede obtener una vista previa y ejecutar su máquina de estados. Para comenzar a utilizar AWS Step Functions en sus aplicaciones, consulte la documentación de AWS Step Functions.

  • ¿Qué lenguaje utiliza AWS Step Functions?

    Puede utilizar cualquier lenguaje de programación para escribir una actividad, siempre que pueda comunicarse con AWS Step Functions utilizando las API de servicios web. Por comodidad, puede usar un AWS SDK en el lenguaje que elija. AWS Lambda es compatible con código escrito en Node.js (JavaScript), Python, Java (compatible con Java 8) y C# (usando el runtime .NET Core). Las máquinas de estado se definen en JSON utilizando Amazon States Language.

  • ¿Puedo usar AWS Step Functions con mis recursos locales?

    Sí. Las aplicaciones de AWS Step Functions pueden combinar empleados que se ejecutan en el centro de datos con empleados que se ejecutan en la nube. Los empleados del centro de datos siguen ejecutándose como siempre, junto con los empleados en la nube.

Comparaciones

  • ¿Cuándo debería utilizar AWS Step Functions en lugar de Amazon SQS?

    Debe plantearse el uso de AWS Step Functions cuando necesite coordinar componentes del servicio en el desarrollo de aplicaciones auditables y muy escalables. Debe plantearse el uso de Amazon Simple Queue Service (Amazon SQS) cuando necesite una cola alojada de confianza y muy escalable para enviar, almacenar y recibir mensajes entre servicios. Step Functions lleva un seguimiento de todas las tareas y los eventos de una aplicación. En Amazon SQS debe implementar su propio sistema de seguimiento del nivel de la aplicación, especialmente si la aplicación utiliza varias colas. Las API de visibilidad y la consola de Step Functions proporcionan una vista centrada en la aplicación que permite buscar ejecuciones, ver los detalles de una ejecución y administrar ejecuciones. Con Amazon SQS, es necesario implementar esa funcionalidad adicional. Step Functions ofrece varias características para facilitar el desarrollo de aplicaciones, como la transmisión de datos entre tareas y la flexibilidad al distribuir tareas. Con Amazon SQS, tenemos que implementar alguna funcionalidad a nivel de aplicación. Mientras que puede utilizar Amazon SQS para crear flujos de trabajo básicos y coordinar su aplicación distribuida, Step Functions le proporciona esta facilidad de forma estándar, además de otras capacidades a nivel de aplicación.

  • ¿Cuándo debería utilizar AWS Step Functions en lugar de AWS Batch?

    AWS Batch es un servicio que facilita la ejecución de flujos de trabajo de informática de lotes de cualquier escala en la nube de AWS. Debería utilizar AWS Step Functions cuando desee crear una aplicación distribuida como una serie de pasos, incluidos pasos secuenciales, paralelos o de lógica de ramificación (elecciones). Puede usar AWS Batch para ejecutar trabajos en su aplicación y Step Functions para enviar varios trabajos por lotes con interdependencias. Utilice Batch cuando desea realizar la administración automática de infraestructura informática para escalar hasta la cantidad de procesamiento por lotes necesaria.

  • ¿Cuándo debería utilizar AWS Step Functions en lugar de Amazon Simple Workflow Service (SWF)?

    Debería plantearse el uso de AWS Step Functions para todas las aplicaciones nuevas, ya que proporciona un enfoque más ágil y productivo para la coordinación de componentes de la aplicación mediante flujos de trabajo visuales. Si requiere que en sus procesos intervengan señales externas, o si desea lanzar procesos secundarios que devuelvan un resultado a uno principal, debería tener en cuenta usar Amazon Simple Workflow Service (Amazon SWF). Con Amazon SWF, en vez de escribir máquinas de estados en JSON declarativo, escribe un programa Decider para separar los pasos de actividad de los pasos de decisión. Esto le aporta control absoluto sobre la lógica de organización, pero incrementa la complejidad de desarrollar aplicaciones. Puede escribir programas Decider en el lenguaje de programación que desee, o puede utilizar el marco Flow para usar construcciones de programación que estructuren interacciones asíncronas.

Integración

  • ¿Cómo funciona AWS Step Functions con otros servicios de AWS?

    AWS Step Functions funciona con muchos servicios de AWS, incluso AWS CloudFormation, AWS Lambda, Amazon EC2, Amazon EC2 Container Service (ECS), Amazon API Gateway, Amazon CloudWatch, AWS CloudTrail y Amazon EC2 Auto Scaling. A continuación, se muestran algunas acciones que puede realizar con los diferentes servicios de AWS:

    • Lance varios recursos relacionados necesarios para las actividades y máquinas de estado de AWS Step Functions con AWS CloudFormation
    • Implemente tareas con programas o funciones de Lambda que se ejecuten en EC2 o en contenedores de ECS
    • Vincule sus API de Step Functions con métodos en una API de API Gateway
    • Escale la flota de tareas de EC2 a las actividades de AWS Step Functions como respuesta a las métricas de CloudWatch
  • ¿Cómo funciona AWS Step Functions con AWS Lambda?

    Puede utilizar funciones de AWS Lambda para realizar tareas dentro de su máquina de estados. AWS Step Functions transfiere la entrada a la función de Lambda especificada y luego espera a que la función de Lambda devuelva un resultado. Con AWS Lambda, puede crear tareas sin aprovisionar o administrar servidores, en todos los idiomas que admite Lambda. Para obtener más información sobre el uso de Step Functions con Lambda, consulte la documentación de Step Functions.

  • ¿Cómo funciona AWS Step Functions con Amazon EC2 y otros recursos informáticos?

    Las tareas se encargan de realizar todo el trabajo en su máquina de estados. Una tarea puede ser una actividad, que puede estar formada por cualquier código en cualquier idioma. Las actividades se pueden alojar en Amazon EC2, Amazon ECS, dispositivos móviles... – Básicamente en cualquier equipo que se pueda comunicar con el API de AWS Step Functions. Las actividades aplican "long-poll" a Step Functions mediante llamadas al API para solicitar trabajo, recibir datos de entrada, realizar el trabajo y devolver un resultado.

  • ¿De qué manera funciona AWS Step Functions con Amazon API Gateway?

    Con tan solo unos clics en la consola de administración de AWS, puede vincular sus API de Step Functions con métodos en su API de API Gateway para que, cuando se envíe una solicitud HTTPS a un método API que usted defina, API Gateway invoque sus acciones de API de Step Functions. Puede usar una API de Amazon API Gateway para iniciar las máquinas de estado de Step Functions que coordinan los componentes de una aplicación backend distribuida. También puede integrar tareas de actividades humanas en los pasos de su aplicación, como solicitudes de aprobación y respuestas. También puede realizar llamadas asíncronas sin servidor a las API de servicios que use su aplicación.

  • ¿De qué manera funciona AWS Step Functions con Amazon CloudWatch?

    Amazon CloudWatch es un servicio de monitorización de los servicios y las aplicaciones de AWS que se ejecutan en AWS. Amazon CloudWatch obtiene métricas, las analiza, configura alarmas y reacciona automáticamente a los cambios en AWS Step Functions. A continuación, se muestran algunas acciones que puede realizar con Amazon CloudWatch y AWS Step Functions:

    • Monitoree las métricas del flujo de trabajo de Step Functions
    • Lance los flujos de trabajo de Step Functions como respuesta a CloudWatch Events
    • Genere alarmas que se activen cuando Step Functions sobrepase ciertos umbrales en las métricas
    • Programe los flujos de trabajo de Step Functions en intervalos de tiempo de, como mínimo, un minuto con CloudWatch Events

Seguridad

Introducción a AWS Step Functions

Visite la página de inicio