{"id":5479,"date":"2025-11-18T12:07:43","date_gmt":"2025-11-18T11:07:43","guid":{"rendered":"https:\/\/www.infinity-group.pl\/blog\/?p=5479"},"modified":"2026-03-06T15:42:09","modified_gmt":"2026-03-06T14:42:09","slug":"mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps","status":"publish","type":"post","link":"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/","title":{"rendered":"Mikroserwisy nie takie straszne \u2013 dzi\u0119ki Azure Container Apps"},"content":{"rendered":"\n<p>Sprawdzony monolit czy mikroserwisy \u2013 oto jest pytanie. i jest ono jak najbardziej uzasadnione. Monolit kusi swoj\u0105 prostot\u0105 \u2013 jedna aplikacja, jeden kod, mniej ruchomych cz\u0119\u015bci. \u0141atwiej go wdro\u017cy\u0107, \u0142atwiej monitorowa\u0107, a na pocz\u0105tku \u2013 \u0142atwiej r\u00f3wnie\u017c utrzyma\u0107. Ale co dalej, gdy system zaczyna si\u0119 rozwija\u0107? Ka\u017cda zmiana wymaga ostro\u017cno\u015bci, a rozbudowa monolitu cz\u0119sto prowadzi do skomplikowanego i trudnego w zarz\u0105dzaniu kodu.<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Summary<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Prze\u0142\u0105cznik Spisu Tre\u015bci\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#mikroserwisy-%e2%80%93-szansa-czy-pulapka\" >Mikroserwisy \u2013 szansa czy pu\u0142apka?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#czy-mikroserwisy-sa-dla-kazdego\" >Czy mikroserwisy s\u0105 dla ka\u017cdego?&nbsp;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#azure-container-apps-%e2%80%93-co-to-jest-i-dlaczego-warto\" >Azure Container Apps \u2013 co to jest i dlaczego warto&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#dedicated-plan-w-aca\" >Dedicated plan w ACA&nbsp;<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#bezpieczenstwo-i-zgodnosc\" >Bezpiecze\u0144stwo i zgodno\u015b\u0107&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#pelna-integracja-z-azure-devops\" >Pe\u0142na integracja z Azure DevOps&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#monitorowanie-aplikacji-z-wykorzystaniem-narzedzi-azure\" >Monitorowanie aplikacji z wykorzystaniem narz\u0119dzi Azure&nbsp;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#przykladowa-architektura-rozwiazania-z-azure-container-apps\" >Przyk\u0142adowa architektura rozwi\u0105zania z Azure Container Apps&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#kiedy-warto-siegnac-po-azure-container-apps\" >Kiedy warto si\u0119gn\u0105\u0107 po Azure Container Apps?&nbsp;<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#kiedy-warto\" >Kiedy warto?&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#kiedy-lepiej-rozwazyc-inne-podejscie\" >Kiedy lepiej rozwa\u017cy\u0107 inne podej\u015bcie?&nbsp;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#podsumowanie\" >Podsumowanie&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.infinity-group.pl\/blog\/2025\/11\/18\/mikroserwisy-nie-takie-straszne-dzieki-azure-container-apps\/#skontaktuj-sie-z-nami\" >Skontaktuj si\u0119 z nami<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p>Z drugiej strony mamy mikroserwisy, kt\u00f3re oferuj\u0105 elastyczno\u015b\u0107, niezale\u017cne skalowanie i mo\u017cliwo\u015b\u0107 rozwoju w kilku kierunkach jednocze\u015bnie. Brzmi jak strza\u0142 w dziesi\u0105tk\u0119, prawda? Problem polega na tym, \u017ce ich wdro\u017cenie wi\u0105\u017ce si\u0119 z wieloma wyzwaniami. Trzeba powa\u017cnie zastanowi\u0107 si\u0119 nad komunikacj\u0105 mi\u0119dzy us\u0142ugami, zapewnieniem wysokiej dost\u0119pno\u015bci, monitoringiem i automatyzacj\u0105 wdro\u017ce\u0144. To wszystko mo\u017ce przyt\u0142oczy\u0107, zw\u0142aszcza je\u015bli nie dysponujesz du\u017cym zespo\u0142em DevOps i nie chcesz sp\u0119dzi\u0107 tygodni na konfiguracji infrastruktury.<\/p>\n\n\n\n<p>Czy mikroserwisy to rozwi\u0105zanie wy\u0142\u0105cznie dla najwi\u0119kszych firm? A mo\u017ce istnieje spos\u00f3b, by upro\u015bci\u0107 ich zarz\u0105dzanie i sprawi\u0107, \u017ce b\u0119d\u0105 dost\u0119pne r\u00f3wnie\u017c dla mniejszych zespo\u0142\u00f3w i projekt\u00f3w? Z pomoc\u0105 przychodzi <strong>rozwi\u0105zanie Microsoftu \u2013 Azure Container Apps, z kt\u00f3rym wdra\u017canie i zarz\u0105dzanie mikroserwisami staje si\u0119 znacznie prostsze i kt\u00f3re eliminuje wiele problem\u00f3w zwi\u0105zanych z tradycyjnym podej\u015bciem mikroserwis\u00f3w<\/strong>. A jak dzia\u0142a? O tym w\u0142a\u015bnie przeczytasz w tym artykule.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"mikroserwisy-%e2%80%93-szansa-czy-pulapka\"><\/span>Mikroserwisy \u2013 szansa czy pu\u0142apka?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Mikroserwisy to jedno z najgor\u0119tszych poj\u0119\u0107 w \u015bwiecie architektury oprogramowania. Firmy technologiczne, blogi bran\u017cowe i konferencje IT od lat przedstawiaj\u0105 je jako przysz\u0142o\u015b\u0107 tworzenia skalowalnych aplikacji. Ale czy na pewno s\u0105 rozwi\u0105zaniem dla ka\u017cdego? <strong>Zalety takiego rozwi\u0105zania przedstawiali\u015bmy ju\u017c w artykule<\/strong> <a href=\"https:\/\/www.infinity-group.pl\/blog\/2024\/09\/04\/mikroserwisy-w-praktyce-czym-sa-jakie-niosa-korzysci-i-jak-wplywaja-na-biznes\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.infinity-group.pl\/blog\/2024\/09\/04\/mikroserwisy-w-praktyce-czym-sa-jakie-niosa-korzysci-i-jak-wplywaja-na-biznes\/<\/a>&nbsp;<\/p>\n\n\n\n<p>Mimo wszystkich swoich zalet, mikroserwisy nios\u0105 ze sob\u0105 r\u00f3wnie\u017c powa\u017cne wyzwania:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Z\u0142o\u017cono\u015b\u0107 systemu \u2013 zamiast jednej aplikacji mamy dziesi\u0105tki (a nawet setki) us\u0142ug, kt\u00f3re musz\u0105 ze sob\u0105 wsp\u00f3\u0142pracowa\u0107. Wprowadza to ogromne wyzwania zwi\u0105zane z komunikacj\u0105, wersjonowaniem API, a tak\u017ce sp\u00f3jno\u015bci\u0105 danych.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zarz\u0105dzanie infrastruktur\u0105 \u2013 ka\u017cda us\u0142uga musi by\u0107 wdra\u017cana, monitorowana i zabezpieczona. To oznacza konieczno\u015b\u0107 posiadania solidnego systemu orkiestracji kontener\u00f3w (np. Kubernetes) \u2013 to mo\u017ce sprawi\u0107 trudno\u015b\u0107 mniejszym zespo\u0142om.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zale\u017cno\u015bci mi\u0119dzy us\u0142ugami \u2013 w monolicie komunikacja mi\u0119dzy komponentami odbywa si\u0119 lokalnie w ramach jednej aplikacji. W mikroserwisach trzeba korzysta\u0107 z sieci (HTTP, gRPC, broker\u00f3w wiadomo\u015bci), co mo\u017ce prowadzi\u0107 do op\u00f3\u017anie\u0144, problem\u00f3w z dost\u0119pno\u015bci\u0105 i konieczno\u015bci obs\u0142ugi awarii.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Koszt i czas wdro\u017cenia \u2013 mimo \u017ce mikroserwisy pozwalaj\u0105 na wi\u0119ksz\u0105 swobod\u0119, ich wdro\u017cenie i utrzymanie wymaga znacznie wi\u0119kszych nak\u0142ad\u00f3w pracy i zasob\u00f3w.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"czy-mikroserwisy-sa-dla-kazdego\"><\/span>Czy mikroserwisy s\u0105 dla ka\u017cdego?&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Na szcz\u0119\u015bcie <strong>nie trzeba rezygnowa\u0107 z mikroserwis\u00f3w tylko dlatego, \u017ce s\u0105 skomplikowane<\/strong>. Nowoczesne platformy, takie jak Azure Container Apps , pomagaj\u0105 upro\u015bci\u0107 zarz\u0105dzanie i wdra\u017canie mikroserwis\u00f3w, eliminuj\u0105c wiele z wyzwa\u0144 zwi\u0105zanych z infrastruktur\u0105. W kolejnej cz\u0119\u015bci przyjrzymy si\u0119 bli\u017cej, jak dok\u0142adnie dzia\u0142a to rozwi\u0105zanie.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"azure-container-apps-%e2%80%93-co-to-jest-i-dlaczego-warto\"><\/span>Azure Container Apps \u2013 co to jest i dlaczego warto&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Azure Container Apps to w pe\u0142ni zarz\u0105dzana us\u0142uga kontenerowa serverless, kt\u00f3ra:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ukrywa infrastruktur\u0119 \u2013 nie musisz r\u0119cznie tworzy\u0107 ani konfigurowa\u0107 klastra Kubernetes, maszyn wirtualnych czy load balancer\u00f3w.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Obs\u0142uguje kontenery Docker \u2013 uruchomisz dowolny obraz, kt\u00f3ry mo\u017cna zbudowa\u0107 lokalnie lub w ACR (Azure Container Registry).&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wykorzystuje KEDA (Kubernetes Event-Driven Autoscaling) \u2013 dzi\u0119ki temu automatycznie dopasowuje liczb\u0119 instancji do ruchu HTTP, kolejki wiadomo\u015bci czy dowolnego zdarzenia.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zapewnia wbudowan\u0105 komunikacj\u0119 mi\u0119dzy us\u0142ugami \u2013 czyli routing wewn\u0105trz sieci domeny aplikacji bez dodatkowej konfiguracji.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Azure Container Apps (ACA) oferuje dwa g\u0142\u00f3wne tryby rozliczenia i wdro\u017cenia:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Consumption plan<\/strong> \u2013 tryb serverless, w kt\u00f3rym jedyn\u0105 op\u0142at\u0105 jest ta za rzeczywiste zu\u017cycie CPU\/RAM, a us\u0142ugi mog\u0105 skalowa\u0107 si\u0119 do zera.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Dedicated plan<\/strong> \u2013 wariant z dedykowanym klastrem Kubernetes, rezerwacj\u0105 zasob\u00f3w i pe\u0142n\u0105 integracj\u0105 z VNet. To tryb stworzony z my\u015bl\u0105 o <strong>korporacyjnych wymaganiach bezpiecze\u0144stwa i zgodno\u015bci.<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Tryb Consumption zapewnia mo\u017cliwo\u015b\u0107 szybkiego wdro\u017cenia i oszcz\u0119dno\u015b\u0107 koszt\u00f3w i niew\u0105tpliwie s\u0105 to plusy. Jednak w dzisiejszych czasach dla wielu organizacji to za ma\u0142o \u2013 izolacja sieciowa, zgodno\u015b\u0107 z politykami bezpiecze\u0144stwa i pe\u0142na kontrola nad infrastruktur\u0105 r\u00f3wnie\u017c odgrywaj\u0105 kluczow\u0105 rol\u0119. W takiej sytuacji <strong>najlepszym wyborem w Azure Container Apps (ACA) jest Dedicated plan, kt\u00f3ry umo\u017cliwia zaawansowane scenariusze korporacyjne.<\/strong> W dalszej cz\u0119\u015bci artyku\u0142u skupimy si\u0119 g\u0142\u00f3wnie na tym podej\u015bciu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"dedicated-plan-w-aca\"><\/span>Dedicated plan w ACA&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Dedicated plan to wariant us\u0142ugi ACA oparty na <strong>w pe\u0142ni zarz\u0105dzanym klastrze Kubernetes<\/strong> w Twojej subskrypcji Azure. W przeciwie\u0144stwie do wariantu Consumption Dedicated plan oferuje:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sta\u0142e zasoby \u2013 rezerwujesz klastry o okre\u015blonej wielko\u015bci (ilo\u015b\u0107 nod\u00f3w, vCPU, RAM), co daje przewidywalno\u015b\u0107 wydajno\u015bci.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VNet integration \u2013 mo\u017cesz do\u0142\u0105czy\u0107 klaster do wirtualnej sieci (VNet), co pozwoli na korzystanie z prywatnych endpoint\u00f3w i peeringu, oraz zapewni pe\u0142n\u0105 izolacj\u0119 ruchu.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Private Link \u2013 serwisy komunikuj\u0105 si\u0119 wewn\u0105trz Twojej prywatnej sieci, zgodnie z korporacyjnymi wymaganiami.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zgodno\u015b\u0107 i polityki \u2013 Dedicated plan wspiera Azure Policy, Azure Defender i inne mechanizmy Azure Security Center.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Tabela poni\u017cej opisuje kluczowe korzy\u015bci planu Dedicated.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Cechy&nbsp;<\/td><td>Korzy\u015bci w \u015brodowisku korporacyjnym&nbsp;<\/td><\/tr><tr><td>VNet Integration&nbsp;<\/td><td>Izolacja sieciowa, dost\u0119p tylko przez prywatne adresy IP.&nbsp;<\/td><\/tr><tr><td>Private Link \/ Endpointy&nbsp;<\/td><td>Ca\u0142y ruch do rejestr\u00f3w kontener\u00f3w i serwis\u00f3w ACA w sieci prywatnej.&nbsp;<\/td><\/tr><tr><td>Rezerwacja zasob\u00f3w&nbsp;<\/td><td>Gwarantowana wydajno\u015b\u0107 i SLA na poziomie korporacyjnym.&nbsp;<\/td><\/tr><tr><td>Azure Policy&nbsp;<\/td><td>Wymuszanie tagowania, audytu i regu\u0142 bezpiecze\u0144stwa.&nbsp;<\/td><\/tr><tr><td>P\u0142atno\u015b\u0107 za alokacj\u0119&nbsp;<\/td><td>Stabilny model kosztowy \u2014 op\u0142acasz zarezerwowane zasoby.&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"bezpieczenstwo-i-zgodnosc\"><\/span>Bezpiecze\u0144stwo i zgodno\u015b\u0107&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Izolacja sieci&nbsp;<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dedykowany klaster w Twojej VNet z wy\u0142\u0105czonym bezpo\u015brednim dost\u0119pem z Internetem i dost\u0119pem tylko przez prywatne \u0142\u0105cza.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mo\u017cliwo\u015b\u0107 zastosowania Azure Firewall lub Network Security Groups (NSG) do kontrolowania ruchu.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Kontrola to\u017csamo\u015bci&nbsp;<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Integracja z Azure Active Directory, Managed Identities i Role-Based Access Control (RBAC) na poziomie \u015brodowiska i poszczeg\u00f3lnych aplikacji.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mo\u017cliwo\u015b\u0107 przypisywania r\u00f3\u017cnych r\u00f3l i uprawnie\u0144 dla zespo\u0142\u00f3w pracuj\u0105cych nad r\u00f3\u017cnymi aplikacjami w ramach tego samego \u015brodowiska.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Audyt i polityki&nbsp;<\/li>\n<\/ol>\n\n\n\n<p>Azure Policy pozwala automatycznie wymusza\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wymagane skanowanie obraz\u00f3w kontener\u00f3w (Defender for Containers).&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tagowanie zasob\u00f3w i regu\u0142y naming convention.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ograniczenia IP \u017ar\u00f3d\u0142owych\/destynacyjnych.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"pelna-integracja-z-azure-devops\"><\/span>Pe\u0142na integracja z Azure DevOps&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Integracja Azure Container Apps z Azure DevOps pozwala firmom <strong>wdra\u017ca\u0107 aplikacje mikroserwisowe w spos\u00f3b powtarzalny, bezpieczny i w pe\u0142ni zautomatyzowany<\/strong>. Dzi\u0119ki wykorzystaniu infrastruktury jako kodu (IaC) oraz rozbudowanego mechanizmu pipeline\u2019\u00f3w CI\/CD, mo\u017cesz zyska\u0107:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pe\u0142n\u0105 automatyzacj\u0119 wdro\u017ce\u0144 \u2013 zmiany w kodzie lub plikach Bicep wyzwalaj\u0105 automatyczne pipeline\u2019y, kt\u00f3re buduj\u0105 obrazy kontener\u00f3w, przesy\u0142aj\u0105 je do Azure Container Registry i wdra\u017caj\u0105 do ACA.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Powtarzalno\u015b\u0107 i zgodno\u015b\u0107 z politykami IT \u2013 infrastruktura i konfiguracja \u015brodowisk s\u0105 zdefiniowane jako kod \u2013 wdra\u017casz je w ka\u017cdym \u015brodowisku identycznie, z uwzgl\u0119dnieniem polityk korporacyjnych.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bezpieczne po\u0142\u0105czenie z VNet \u2013 Azure DevOps mo\u017ce korzysta\u0107 z private agent\u00f3w zainstalowanych w Twojej VNet, co pozwala wdra\u017ca\u0107 zasoby ACA Dedicated w jeszcze bardziej bezpieczny spos\u00f3b.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wersjonowanie infrastruktury \u2013 pliki Bicep i konfiguracje pipeline\u2019\u00f3w przechowywane w repozytorium Git umo\u017cliwiaj\u0105 \u015bledzenie zmian i szybki rollback na wypadek problem\u00f3w.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zintegrowane testy i walidacje \u2013 mo\u017cesz doda\u0107 kroki waliduj\u0105ce szablony Bicep (az bicep build, what-if), testuj\u0105ce aplikacj\u0119 po wdro\u017ceniu lub wykonuj\u0105ce skany bezpiecze\u0144stwa.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kontrola dost\u0119pu \u2013 dzi\u0119ki integracji z Azure Active Directory i RBAC w DevOps, masz precyzyjn\u0105 kontrol\u0119 nad tym, kto mo\u017ce zatwierdza\u0107 zmiany, uruchamia\u0107 pipeline\u2019y czy modyfikowa\u0107 szablony infrastruktury.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"monitorowanie-aplikacji-z-wykorzystaniem-narzedzi-azure\"><\/span>Monitorowanie aplikacji z wykorzystaniem narz\u0119dzi Azure&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Dla \u015brodowisk korporacyjnych, w kt\u00f3rych kluczowe s\u0105 niezawodno\u015b\u0107 i szybka reakcja na incydenty, <strong>nieodzownym elementem jest skuteczne monitorowanie<\/strong>. Azure Container Apps oferuje pe\u0142n\u0105 integracj\u0119 z narz\u0119dziami do obserwowalno\u015bci, dzi\u0119ki czemu mo\u017cesz w prosty spos\u00f3b analizowa\u0107 stan aplikacji, wykrywa\u0107 b\u0142\u0119dy i reagowa\u0107 na nie w czasie rzeczywistym.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Azure Monitor i Log Analytics&nbsp;<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zbieranie log\u00f3w i metryk \u2013 ka\u017cda aplikacja uruchomiona w ACA mo\u017ce automatycznie przesy\u0142a\u0107 dane diagnostyczne do Azure Monitor. Logi, metryki i zdarzenia s\u0105 centralizowane w Log Analytics Workspace, co umo\u017cliwia zaawansowan\u0105 analiz\u0119.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kwerendy Kusto (KQL) \u2013 mo\u017cesz tworzy\u0107 z\u0142o\u017cone zapytania w j\u0119zyku KQL, by analizowa\u0107 konkretne zachowania aplikacji, np. liczb\u0119 b\u0142\u0119d\u00f3w HTTP 500 w ci\u0105gu ostatniej doby czy czasy odpowiedzi poszczeg\u00f3lnych us\u0142ug.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wizualizacja danych \u2013 dane z Log Analytics mo\u017cna wizualizowa\u0107, dzi\u0119ki czemu zespo\u0142y operacyjne maj\u0105 wgl\u0105d w kluczowe wska\u017aniki w czasie rzeczywistym.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Alerty i automatyzacja reakcji&nbsp;<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Alerty metryczne i logowe \u2013 mo\u017cesz ustawi\u0107 regu\u0142y, kt\u00f3re b\u0119d\u0105 automatycznie uruchamia\u0107 alerty na podstawie metryk (np. CPU &gt; 80% przez 5 minut) lub danych z log\u00f3w (np. wyst\u0105pienie wyj\u0105tku).&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Integracja z ITSM i DevOps \u2013 alerty mog\u0105 by\u0107 <strong>przekazywane do Microsoft Teams, ServiceNow, Jira lub innych system\u00f3w ITSM, co przyspiesza reakcj\u0119 zespo\u0142\u00f3w.<\/strong>&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Akcje automatyczne \u2013 mo\u017cliwo\u015b\u0107 uruchamiania Logic Apps, runbook\u00f3w lub webhook\u00f3w jako odpowiedzi na zdarzenie \u2013 np. restart kontenera, skalowanie aplikacji lub powiadomienie administratora.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"przykladowa-architektura-rozwiazania-z-azure-container-apps\"><\/span>Przyk\u0142adowa architektura rozwi\u0105zania z Azure Container Apps&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>No dobrze, om\u00f3wili\u015bmy podstawy dzia\u0142ania Azure Container Apps. Teraz warto r\u00f3wnie\u017c spojrze\u0107 na realny przyk\u0142ad wykorzystania tej platformy w architekturze aplikacji. Poni\u017cszy diagram prezentuje uproszczony model systemu opartego na mikrous\u0142ugach \u2013 zbudowanego z wykorzystaniem us\u0142ug Azure w \u015brodowisku dedykowanym ACA.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"984\" height=\"634\" src=\"https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-55.png\" alt=\"\" class=\"wp-image-5480\" title=\"\" srcset=\"https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-55.png 984w, https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-55-300x193.png 300w, https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-55-768x495.png 768w\" sizes=\"auto, (max-width: 984px) 100vw, 984px\" \/><\/figure>\n\n\n\n<p>W tym przyk\u0142adzie, kluczowe komponenty aplikacji \u2013 frontend (React), us\u0142ugi API (Customers, Products), integracje (DB Service, Integration Service) oraz system zarz\u0105dzania tre\u015bci\u0105 \u2013 zosta\u0142y <strong>rozdzielone na osobne aplikacje kontenerowe i uruchomione we wsp\u00f3lnym \u015brodowisku Azure Container Apps<\/strong>. Ca\u0142o\u015b\u0107 dzia\u0142a w Dedicated planie, z pe\u0142n\u0105 integracj\u0105 z prywatn\u0105 sieci\u0105 VNet.&nbsp;<\/p>\n\n\n\n<p>Komunikacja z u\u017cytkownikami ko\u0144cowymi odbywa si\u0119 przez Azure Front Door z aktywnym WAF\/CDN, co <strong>zapewnia bezpiecze\u0144stwo i wysok\u0105 dost\u0119pno\u015b\u0107<\/strong>. System korzysta z r\u00f3\u017cnych zasob\u00f3w platformy Azure, takich jak:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure SQL Database \u2013 dla warstwy danych aplikacji.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure Key Vault \u2013 do bezpiecznego przechowywania sekret\u00f3w, z dost\u0119pem przez Managed Identities.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure Cache for Redis \u2013 realizujacy cache aplikacyjny.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure Log Analytics \u2013 do centralnego monitorowania, alertowania i analizy log\u00f3w.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Azure Storage \u2013 jako repozytorium plik\u00f3w monitorowane poprzez us\u0142ug\u0119 skanowania plik\u00f3w dostarczan\u0105 przez Microsoft Defender for Cloud.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>System integruje si\u0119 tak\u017ce z us\u0142ugami zewn\u0119trznymi, takimi jak SendGrid i SMS API \u2013 pozwala to na wysy\u0142k\u0119 e-maili i powiadomie\u0144 SMS. Dost\u0119p administracyjny odbywa si\u0119 przez bezpieczne po\u0142\u0105czenie VPN.&nbsp;<\/p>\n\n\n\n<p>Taka architektura to jedynie prosty przyk\u0142ad, kt\u00f3ry pokazuje, jak mo\u017cna wykorzysta\u0107 Azure Container Apps w architekturze opartej o mikroserwisy. Powy\u017csza architektura aplikacji zbudowanej w oparciu o Azure Container Apps <strong>mo\u017ce zosta\u0107 skutecznie zintegrowana z Azure DevOps, co pozwala w pe\u0142ni zautomatyzowa\u0107 procesy budowania, testowania i wdra\u017cania kodu oraz infrastruktury<\/strong>. Z kolei na poni\u017cszym diagramie przedstawiono uproszczony przep\u0142yw DevOps dla tej architektury:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"621\" src=\"https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-56.png\" alt=\"\" class=\"wp-image-5481\" title=\"\" srcset=\"https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-56.png 986w, https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-56-300x189.png 300w, https:\/\/www.infinity-group.pl\/blog\/wp-content\/uploads\/2025\/11\/Zrzut-ekranu-56-768x484.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/figure>\n\n\n\n<p>Repozytoria kodu \u017ar\u00f3d\u0142owego (Azure Repos) przechowuj\u0105 aplikacje frontendowe i backendowe (np. React, .NET) oraz definicje infrastruktury jako kod (np. w plikach Bicep). Azure Piplines pozwala na stworzenie pipeline CI\/CD, kt\u00f3re:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>buduj\u0105 aplikacj\u0119 i kontenery,&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>publikuj\u0105 artefakty i obrazy do Azure Container Registry,&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wdra\u017caj\u0105 \u015brodowisko na podstawie plik\u00f3w Bicep.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Proces mo\u017ce by\u0107 dodatkowo rozszerzony o walidacj\u0119 szablon\u00f3w Bicep, skanowanie bezpiecze\u0144stwa, podpisywanie artefakt\u00f3w, czy automatyczne rollbacki. Wdro\u017cenia mog\u0105 by\u0107 realizowane z u\u017cyciem self-hosted agenta dzia\u0142aj\u0105cego wewn\u0105trz tej samej sieci VNet co \u015brodowisko ACA, co pozwala zachowa\u0107 pe\u0142n\u0105 izolacj\u0119 sieciow\u0105 i zgodno\u015b\u0107 z politykami bezpiecze\u0144stwa. Takie podej\u015bcie gwarantuje pe\u0142n\u0105 kontrol\u0119 nad ca\u0142ym cyklem \u017cycia aplikacji \u2013 od kodu \u017ar\u00f3d\u0142owego poprzez testy a\u017c po <strong>automatyczne, bezpieczne i powtarzalne wdro\u017cenia na poszczeg\u00f3lne \u015brodowiska.&nbsp;<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"kiedy-warto-siegnac-po-azure-container-apps\"><\/span>Kiedy warto si\u0119gn\u0105\u0107 po Azure Container Apps?&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Wprowadzenie mikroserwis\u00f3w do organizacji to powa\u017cna decyzja architektoniczna, kt\u00f3ra wymaga nie tylko <strong>przemy\u015blenia podzia\u0142u systemu na us\u0142ugi, ale te\u017c dobrania odpowiedniego modelu wdro\u017cenia i narz\u0119dzi.<\/strong> Azure Container Apps stanowi interesuj\u0105c\u0105 alternatyw\u0119 dla klasycznego Kubernetes \u2013 szczeg\u00f3lnie dla organizacji, kt\u00f3re chc\u0105 skupi\u0107 si\u0119 na rozwoju aplikacji, a nie zarz\u0105dzaniu infrastruktur\u0105.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"kiedy-warto\"><\/span>Kiedy warto?&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy zale\u017cy Ci na szybkim wdra\u017caniu mikroserwis\u00f3w, bez konieczno\u015bci utrzymywania klastra Kubernetes.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy chcesz uruchamia\u0107 kontenery w izolowanym, bezpiecznym \u015brodowisku zgodnym z korporacyjnymi politykami (np. VNet, RBAC, Azure Policy).&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy Twoje aplikacje maj\u0105 dynamiczne obci\u0105\u017cenie \u2013 ACA wspiera automatyczne skalowanie, w tym do zera.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy budujesz \u015brodowisko CI\/CD w oparciu o Azure DevOps i chcesz stosowa\u0107 Infrastructure as Code (np. Bicep).&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy korzystasz ju\u017c z us\u0142ug platformy Azure i chcesz zachowa\u0107 sp\u00f3jno\u015b\u0107 \u015brodowiska.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"kiedy-lepiej-rozwazyc-inne-podejscie\"><\/span>Kiedy lepiej rozwa\u017cy\u0107 inne podej\u015bcie?&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy potrzebujesz pe\u0142nej kontroli nad klastr\u0105 i konfiguracj\u0105 orkiestracji.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy planujesz zaawansowane scenariusze sieciowe.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gdy Twoje aplikacje nie korzystaj\u0105 z kontener\u00f3w i lepiej pasuj\u0105 do modelu opartym np. wirtualnych maszynach lub innych cloudowych rozwi\u0105zaniach typu azure App Services.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"podsumowanie\"><\/span>Podsumowanie&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Azure Container Apps to dojrza\u0142a platforma, kt\u00f3ra w po\u0142\u0105czeniu z Azure DevOps, Bicep i ekosystemem Azure, umo\u017cliwia budowanie nowoczesnych, skalowalnych i bezpiecznych \u015brodowisk mikroserwisowych \u2013 bez potrzeby posiadania zespo\u0142u DevOps na pe\u0142ny etat. Dzi\u0119ki trybowi Dedicated, ACA staje si\u0119 <strong>realn\u0105 alternatyw\u0105 dla Kubernetes w \u015brodowiskach o zwi\u0119kszonych wymogach bezpiecze\u0144stwa,<\/strong> gdzie istotne s\u0105: integracja z VNet, zgodno\u015b\u0107 z politykami, monitorowanie, kontrola koszt\u00f3w i automatyzacja. To rozwi\u0105zanie, kt\u00f3re zdejmuje z bark\u00f3w zespo\u0142\u00f3w projektowych ci\u0119\u017car infrastruktury, pozwalaj\u0105c im skupi\u0107 si\u0119 na dostarczaniu warto\u015bci biznesowej.&nbsp;<\/p>\n\n\n\n<p>Nasi eksperci specjalizuj\u0105 si\u0119 w wielu dziedzinach \u2013 r\u00f3wnie\u017c we wdro\u017ceniach architektury mikroserwisowej. Je\u017celi jest to rozwi\u0105zanie, kt\u00f3re chcesz zobaczy\u0107 w swojej organizacji \u2013 <strong>wype\u0142nij poni\u017cszy formularz.<\/strong><\/p>\n\n\n\n<div class=\"wp-block-contact-form-7-contact-form-selector\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f5-o1\" lang=\"pl-PL\" dir=\"ltr\" data-wpcf7-id=\"5\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/blog\/wp-json\/wp\/v2\/posts\/5479#wpcf7-f5-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formularz kontaktowy\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"5\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"pl_PL\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f5-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<h2 class=\"form-title\"><span class=\"ez-toc-section\" id=\"skontaktuj-sie-z-nami\"><\/span>Skontaktuj si\u0119 z nami\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div class=\"form-row\">\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Imi\u0119 i nazwisko*\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-company\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Firma*\" value=\"\" type=\"text\" name=\"your-company\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<div class=\"form-row\">\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"E-mail*\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n\t<div class=\"form-column\">\n\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"phone-number\"><input size=\"40\" maxlength=\"15\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" aria-invalid=\"false\" placeholder=\"Numer telefonu\" value=\"\" type=\"tel\" name=\"phone-number\" \/><\/span>\n\t\t<\/p>\n\t<\/div>\n<\/div>\n<p><span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Wiadomo\u015b\u0107\" name=\"your-message\"><\/textarea><\/span>\n<\/p>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Wy\u015blij\" \/>\n<\/p>\n<div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<p>*Wymagane\n<\/p>\n<p class=\"klauzula-naglowek\">Klauzula informacyjna dotycz\u0105ca przetwarzania danych osobowych:\n<\/p>\n<p>Administratorem Twoich danych osobowych jest Infinity Group Sp. z o.o. z siedzib\u0105 w Bia\u0142ymstoku.<br \/>\nDane podane w formularzu b\u0119d\u0105 przetwarzane w celu udzielenia odpowiedzi na zapytanie (art. 6 ust. 1 lit. f RODO \u2013 prawnie uzasadniony interes administratora polegaj\u0105cy na prowadzeniu korespondencji). Podanie danych jest dobrowolne, ale niezb\u0119dne do udzielenia odpowiedzi. Przys\u0142uguje Ci m.in. prawo sprzeciwu wobec przetwarzania danych oraz prawo wniesienia skargi do Prezesa Urz\u0119du Ochrony Danych Osobowych. Szczeg\u00f3\u0142owe informacje, w tym o odbiorcach danych, okresie przechowywania oraz mo\u017cliwym przekazywaniu danych poza EOG, znajdziesz pod linkiem \u201eInformacje o przetwarzaniu Twoich danych osobowych\u201d.\n<\/p>\n<\/form>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Sprawdzony monolit czy mikroserwisy \u2013 oto jest pytanie. i jest ono jak najbardziej uzasadnione. Monolit kusi swoj\u0105 prostot\u0105 \u2013 jedna aplikacja, jeden kod, mniej ruchomych cz\u0119\u015bci. \u0141atwiej go wdro\u017cy\u0107, \u0142atwiej monitorowa\u0107, a na pocz\u0105tku \u2013 \u0142atwiej r\u00f3wnie\u017c utrzyma\u0107. Ale co dalej, gdy system zaczyna si\u0119 rozwija\u0107? Ka\u017cda zmiana wymaga ostro\u017cno\u015bci, a rozbudowa monolitu cz\u0119sto prowadzi&#8230;<\/p>\n","protected":false},"author":41,"featured_media":6144,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-5479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"_links":{"self":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts\/5479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/comments?post=5479"}],"version-history":[{"count":3,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts\/5479\/revisions"}],"predecessor-version":[{"id":5904,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/posts\/5479\/revisions\/5904"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/media\/6144"}],"wp:attachment":[{"href":"https:\/\/www.infinity-group.pl\/blog\/wp-json\/wp\/v2\/media?parent=5479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}