{"id":2046,"date":"2022-09-14T12:36:18","date_gmt":"2022-09-14T11:36:18","guid":{"rendered":"https:\/\/keepler.io\/2022\/09\/14\/introduccion-a-azure-container-apps\/"},"modified":"2023-11-23T12:09:29","modified_gmt":"2023-11-23T12:09:29","slug":"introduccion-a-azure-container-apps","status":"publish","type":"post","link":"https:\/\/keepler.io\/es\/2022\/09\/14\/introduccion-a-azure-container-apps\/","title":{"rendered":"Introducci\u00f3n a Azure Container Apps"},"content":{"rendered":"<h3><span style=\"font-weight: 400;\">Un problema recurrente que nos encontramos es:<\/span><\/h3>\n<blockquote>\n<h3><em>&#8220;Tengo que trabajar con Cloud Native Apps, pero no quiero aprender kubernetes, OpenShift, etc&#8230;&#8221;<\/em><\/h3>\n<\/blockquote>\n<h3><strong>Azure Container Apps es la soluci\u00f3n a ese problema<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Azure Container Apps es un nuevo jugador en el ecosistema de contenedores de Azure. Lanzado por primera vez en 2022, es un servicio gestionado de contenedores sin servidor que ofrece una plataforma ideal para los desarrolladores de aplicaciones que quieren ejecutar microservicios en contenedores sin gestionar infraestructura.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tras el tel\u00f3n, cada aplicaci\u00f3n de contenedor se ejecuta en Azure Kubernetes Service, con KEDA, Dapr y Envoy incorporados.<\/span><\/p>\n<p><b>Las caracter\u00edsticas distintivas de Container Apps ofrecen frente a otras soluciones de contenedores en Azure son:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Optimizaci\u00f3n para ejecutar contenedores de prop\u00f3sito general, especialmente para aplicaciones que abarcan muchos microservicios desplegados en contenedores.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Est\u00e1 impulsado por Kubernetes y tecnolog\u00edas open-source como<\/span><span style=\"font-weight: 400;\">\u00a0<\/span><a href=\"https:\/\/dapr.io\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Dapr<\/span><\/a><span style=\"font-weight: 400;\">,\u00a0<\/span><a href=\"https:\/\/keda.sh\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">KEDA<\/span><\/a><span style=\"font-weight: 400;\"> y\u00a0<\/span><a href=\"https:\/\/www.envoyproxy.io\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">envoy<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Admite aplicaciones y microservicios de tipo Kubernetes con funciones como\u00a0la <\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/connect-apps\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">detecci\u00f3n de servicios<\/span><\/a><span style=\"font-weight: 400;\"> y el\u00a0<\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/revisions\" target=\"_blank\" rel=\"noopener\"><i><span style=\"font-weight: 400;\">traffic splitting<\/span><\/i><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Permite arquitecturas de aplicaciones basadas en eventos al soportar la escala seg\u00fan tr\u00e1fico y la extracci\u00f3n de <\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/scale-app\"><span style=\"font-weight: 400;\">fuentes de eventos como colas<\/span><\/a><span style=\"font-weight: 400;\"> (incluyendo <\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/scale-app\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">escalado a cero<\/span><\/a><span style=\"font-weight: 400;\">).<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Soporta procesos de larga duraci\u00f3n y puede ejecutar <\/span><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/background-processing\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">tareas en segundo plano<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<\/ul>\n<p><b>Otras funcionalidades de Container Apps:<\/b><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Entorno<\/b><span style=\"font-weight: 400;\">: Las aplicaciones de contenedores individuales se despliegan en un \u00fanico entorno de <\/span><i><span style=\"font-weight: 400;\">Container Apps<\/span><\/i><span style=\"font-weight: 400;\">, que act\u00faa como l\u00edmite alrededor de los grupos de aplicaciones de contenedores.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Revisiones<\/b><span style=\"font-weight: 400;\">: Azure Container Apps implementa el versionado de container<\/span><i><span style=\"font-weight: 400;\"> apps<\/span><\/i><span style=\"font-weight: 400;\"> mediante la creaci\u00f3n de revisiones. Una revisi\u00f3n es una foto fija de la versi\u00f3n de un container<\/span><i><span style=\"font-weight: 400;\"> app<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Sirve de base para el <\/span><b>despliegue de microservicios<\/b><span style=\"font-weight: 400;\">, entre los que destacan:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Escalado, versionado y actualizaciones independientes<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Detecci\u00f3n de servicios<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Integraci\u00f3n nativa de Dapr<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Soporte para VNETs externas (<\/b><b><i>public endpoint<\/i><\/b><b>), internas (sin <\/b><b><i>public endpoint<\/i><\/b><b>) y personalizadas.<\/b><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Sencillo Auth built-in.<\/b><\/li>\n<\/ul>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Azure Container Apps proporciona varias <\/span><b>funcionalidades de observabilidad integradas<\/b><span style=\"font-weight: 400;\"> que, en conjunto, ofrecen una <\/span><b>visi\u00f3n hol\u00edstica<\/b><span style=\"font-weight: 400;\"> del estado del container<\/span><i><span style=\"font-weight: 400;\"> app<\/span><\/i><span style=\"font-weight: 400;\"> a lo largo de su ciclo de vida: <\/span><i><span style=\"font-weight: 400;\">Log Streaming<\/span><\/i><span style=\"font-weight: 400;\">, <\/span><i><span style=\"font-weight: 400;\">Container console<\/span><\/i><span style=\"font-weight: 400;\"> e integraci\u00f3n plena con Azure Monitor.<\/span><\/li>\n<\/ul>\n<p><b>Administraci\u00f3n del ciclo de vida de las aplicaciones <\/b><span style=\"font-weight: 400;\">basado en revisiones:<\/span><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-46565 aligncenter\" src=\"https:\/\/i0.wp.com\/keepler.io\/wp-content\/uploads\/2022\/09\/application-lifecycle-management.png?resize=879%2C163&#038;ssl=1\" alt=\"\" width=\"879\" height=\"163\" \/><\/p>\n<h3>Conclusi\u00f3n<\/h3>\n<p><span style=\"font-weight: 400;\">Si no necesitas acceder a la API de Kubernetes y est\u00e1s trabajando en Cloud Native Apps, Azure Container Apps es tu servicio en Azure.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Y si no sabes lo que quieres, <strong>siempre puedes encontrar el servicio Azure que necesitas:<\/strong><\/span><\/p>\n<p>[\/fusion_text][fusion_table fusion_table_type=&#8221;1&#8243; fusion_table_rows=&#8221;9&#8243; fusion_table_columns=&#8221;2&#8243; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; class=&#8221;table-azure-containers&#8221; id=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221;]<\/p>\n<table class=\" alignleft\">\n<thead>\n<tr>\n<th><span style=\"font-weight: 400;\">Si necesitas<\/span><\/th>\n<th><span style=\"font-weight: 400;\">Usa esto<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Despliegue y escalado de contenedores en Kubernetes gestionados<\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/kubernetes-service\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Azure Kubernetes Service (AKS)<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Implantar y escalar contenedores en Red Hat OpenShift gestionado<\/span><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/openshift\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Azure Red Hat OpenShift<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Construir y desplegar aplicaciones modernas y microservicios utilizando contenedores <\/span><i><span style=\"font-weight: 400;\">serverless<\/span><\/i><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/container-apps\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Azure Container Apps<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Ejecutar c\u00f3digo basado en eventos y <\/span><i><span style=\"font-weight: 400;\">serverless<\/span><\/i><span style=\"font-weight: 400;\"> con una experiencia de desarrollo<em> end-to-end<\/em><\/span><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/functions\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Azure Functions<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Ejecutar aplicaciones web en contenedores en Windows y Linux<\/span><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/app-service\/containers\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Web App for Containers<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Lanzar contenedores con aislamiento del hipervisor<\/span><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/container-instances\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Container Instances<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Desplegar y utilizar aplicaciones distribuidas, escalables y siempre activas<\/span><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/service-fabric\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Service Fabric<\/span><\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Construir, almacenar, asegurar y replicar im\u00e1genes de contenedores y artefactos<\/span><\/td>\n<td><a href=\"https:\/\/azure.microsoft.com\/en-in\/services\/container-registry\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"><span style=\"color: #333333;\">Container Registry<\/span><\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>[\/fusion_table][fusion_text columns=&#8221;&#8221; column_min_width=&#8221;&#8221; column_spacing=&#8221;&#8221; rule_style=&#8221;default&#8221; rule_size=&#8221;&#8221; rule_color=&#8221;&#8221; content_alignment_medium=&#8221;&#8221; content_alignment_small=&#8221;&#8221; content_alignment=&#8221;&#8221; hide_on_mobile=&#8221;small-visibility,medium-visibility,large-visibility&#8221; sticky_display=&#8221;normal,sticky&#8221; class=&#8221;&#8221; id=&#8221;&#8221; font_size=&#8221;&#8221; fusion_font_family_text_font=&#8221;&#8221; fusion_font_variant_text_font=&#8221;&#8221; line_height=&#8221;&#8221; letter_spacing=&#8221;&#8221; text_color=&#8221;&#8221; animation_type=&#8221;&#8221; animation_direction=&#8221;left&#8221; animation_speed=&#8221;0.3&#8243; animation_offset=&#8221;&#8221;]<\/p>\n<p><strong>Referencias:<\/strong><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Container services: <\/span><a href=\"https:\/\/azure.microsoft.com\/en-us\/products\/category\/containers\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">https:\/\/azure.microsoft.com\/en-us\/products\/category\/containers\/<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Microservices on Azure: <\/span><a href=\"https:\/\/azure.microsoft.com\/en-gb\/solutions\/microservice-applications\/#overview\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">https:\/\/azure.microsoft.com\/en-gb\/solutions\/microservice-applications\/#overview<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\">Azure Container Apps Documentation: <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.microsoft.com\/en-us\/azure\/container-apps\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Un problema recurrente que nos encontramos es: &#8220;Tengo que trabajar con Cloud Native Apps, pero no quiero aprender kubernetes, OpenShift, etc&#8230;&#8221; Azure Container Apps es la soluci\u00f3n a ese problema Azure Container Apps es un nuevo jugador en el ecosistema de contenedores de Azure. Lanzado por primera vez en 2022, es un servicio gestionado de [&hellip;]<\/p>\n","protected":false},"author":134360170,"featured_media":34807,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[224],"tags":[281,280],"class_list":["post-2046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud","tag-herramientas","tag-tecnologias"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/keepler.io\/wp-content\/uploads\/2022\/09\/keepler-introduction-azure-container-apps.jpg?fit=1280%2C452&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p9CeZw-x0","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts\/2046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/users\/134360170"}],"replies":[{"embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/comments?post=2046"}],"version-history":[{"count":3,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts\/2046\/revisions"}],"predecessor-version":[{"id":39352,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts\/2046\/revisions\/39352"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/media\/34807"}],"wp:attachment":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/media?parent=2046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/categories?post=2046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/tags?post=2046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}