{"id":5946,"date":"2021-04-01T13:22:00","date_gmt":"2021-04-01T11:22:00","guid":{"rendered":"https:\/\/sodapl.com\/?p=5946"},"modified":"2022-10-24T08:05:11","modified_gmt":"2022-10-24T06:05:11","slug":"how-to-reduce-application-maintenance-costs-with-azure","status":"publish","type":"post","link":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/","title":{"rendered":"How to reduce application maintenance costs with Azure?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5946\" class=\"elementor elementor-5946 elementor-1335\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c661959 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c661959\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-679da97\" data-id=\"679da97\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dda2cef elementor-widget elementor-widget-text-editor\" data-id=\"dda2cef\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential mistakes that can cost you hundreds of zlotys. Do\u00a0you know how to\u00a0make your app maintenance cost-efficient?<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d99dee1 elementor-widget elementor-widget-heading\" data-id=\"d99dee1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">1. Who we are<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4def6bf elementor-widget elementor-widget-text-editor\" data-id=\"4def6bf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"eb54\" class=\"pw-post-body-paragraph kj kk iy kl b km mf ko kp kq mg ks kt ku mh kw kx ky mi la lb lc mj le lf lg ir ga\" data-selectable-paragraph=\"\">At\u00a0iteo, we\u00a0have been creating software tailored to\u00a0the individual needs and requirements of our consumers for over 10 years. We\u00a0always pay significant attention to\u00a0quality, modern technologies and both our clients and an app\u2019s users satisfaction. That\u2019s why we\u00a0focus not only on\u00a0visual aspects of our products but also on\u00a0their speed of operation, high efficiency, global availability, and fault tolerance. Our additional goal is automating the implementation processes as\u00a0much as\u00a0possible and minimizing the infrastructure costs.<\/p>\n<p id=\"1fcb\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">We\u00a0recently had an opportunity to\u00a0use our skills to\u00a0develop an application for one of our business partners. We\u00a0would like to\u00a0share our experiences related to\u00a0the process of producing and implementing this product.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-719173e elementor-widget elementor-widget-image\" data-id=\"719173e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g.jpeg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1_WQtPx-F1iysLcnQEWve75g\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NDMzMSwidXJsIjoiaHR0cHM6XC9cL3NvZGFwbC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzA0XC8xX1dRdFB4LUYxaXlzTGNuUUVXdmU3NWcuanBlZyJ9\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"537\" src=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-1024x687.jpeg\" class=\"attachment-large size-large wp-image-4331\" alt=\"\" srcset=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-1024x687.jpeg 1024w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-600x403.jpeg 600w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-300x201.jpeg 300w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-768x516.jpeg 768w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-1536x1031.jpeg 1536w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_WQtPx-F1iysLcnQEWve75g-2048x1375.jpeg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">iteo office<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ddd951f elementor-widget elementor-widget-heading\" data-id=\"ddd951f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">2. What we\u2019ve done<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ecac32b elementor-widget elementor-widget-text-editor\" data-id=\"ecac32b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"a4e4\" class=\"pw-post-body-paragraph kj kk iy kl b km mf ko kp kq mg ks kt ku mh kw kx ky mi la lb lc mj le lf lg ir ga\" data-selectable-paragraph=\"\">We\u00a0faced the task of creating an application aimed at\u00a0helping people suffering from Irritable Bowel Syndrome, also known as\u00a0IBS. It has a\u00a0number of features supporting the maintenance of a\u00a0healthy balance between nutrition and physical activity.<\/p>\n<p id=\"0fce\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">Apart from usual adversities such as\u00a0complex business logic, we\u00a0had to\u00a0face many other challenges. First of all, the client expected the app to\u00a0be\u00a0highly efficient, reliable, and smooth. We\u00a0always value user\u2019s convenience, so these assumptions were self-evident. Another crucial aspect was the ability to\u00a0easily and quickly scale performance. The client planned to\u00a0reach a\u00a0growing group of users \u2014\u00a0first on\u00a0the local market, and in\u00a0time on\u00a0a\u00a0global scale. The entire project was co-financed by\u00a0the European Union, so we\u00a0meticulously approached the cost of maintaining our solution. It was necessary not only to\u00a0precisely estimate the potential costs but also to\u00a0choose the services and solutions within the project\u2019s budget.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7cfc20 elementor-widget elementor-widget-image\" data-id=\"e7cfc20\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw.jpeg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1_0YIZsG5OsaY4YKnnAT0rCw\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NDMzMiwidXJsIjoiaHR0cHM6XC9cL3NvZGFwbC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzA0XC8xXzBZSVpzRzVPc2FZNFlLbm5BVDByQ3cuanBlZyJ9\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-1024x683.jpeg\" class=\"attachment-large size-large wp-image-4332\" alt=\"\" srcset=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-1024x683.jpeg 1024w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-600x400.jpeg 600w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-300x200.jpeg 300w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-768x512.jpeg 768w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-1536x1024.jpeg 1536w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_0YIZsG5OsaY4YKnnAT0rCw-2048x1365.jpeg 2048w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">iteo<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58bea3d elementor-widget elementor-widget-heading\" data-id=\"58bea3d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">3. How we handled it<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a82ff70 elementor-widget elementor-widget-heading\" data-id=\"a82ff70\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">a. Why the cloud<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f12e15 elementor-widget elementor-widget-text-editor\" data-id=\"1f12e15\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"1cfa\" class=\"pw-post-body-paragraph kf kg iu kh b ki xh kk kl km xi ko kp kq xj ks kt ku xk kw kx ky xl la lb lc in fw\" data-selectable-paragraph=\"\">To\u00a0meet all of the above requirements, we\u00a0considered various possibilities: on-premise solutions, Infrastructure as\u00a0a\u00a0Service (IaaS) and Platform as\u00a0a\u00a0Service (PaaS). Eventually, we\u2019ve decided that PaaS will be\u00a0the most optimal choice due to\u00a0its easy implementation and maintenance. Cloud service providers equip us with machines with already installed environments and we\u00a0don\u2019t have to\u00a0be\u00a0bothered with their updates. What\u2019s more, in\u00a0most cases the service provider also gives us a\u00a0Service Level Agreement (SLA) which usually exceeds 99,99%. Clients who haven\u2019t used the cloud yet, often express concerns about access to\u00a0their resources. Although we\u00a0don\u2019t have a\u00a0physical contact with the server, administrative panels allow us to\u00a0configure everything that\u2019s needed for the service launch and proper performance. Some clients are also concerned about the price which is usually a\u00a0bit higher then on-premise solutions or\u00a0standard hostings. Nevertheless, when we\u00a0include the costs of conservation and implementation, the offer seems quite competitive. What\u2019s more, the cost of cloud solutions depends usually on\u00a0their actual use and not the reserved power.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0fb209 elementor-widget elementor-widget-heading\" data-id=\"d0fb209\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">b. Why we chose Azure<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ca0606 elementor-widget elementor-widget-text-editor\" data-id=\"3ca0606\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"1cfa\" class=\"pw-post-body-paragraph kf kg iu kh b ki xh kk kl km xi ko kp kq xj ks kt ku xk kw kx ky xl la lb lc in fw\" data-selectable-paragraph=\"\">The main players on\u00a0today\u2019s public cloud computing market are: AWS, Azure and GCP. Given that the software was developed in\u00a0a\u00a0.NET environment, the Microsoft Azure cloud was the natural choice. Microsoft takes care of their products\u2019 close integration which makes the projects\u2019 implementation much faster. Additionally, iteo programming team has practical experience and competences in\u00a0the field of implementing business solutions on\u00a0Azure confirmed by\u00a0the Microsoft certification.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75ea566 elementor-widget elementor-widget-heading\" data-id=\"75ea566\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">c. Services we used<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-effcb04 elementor-widget elementor-widget-text-editor\" data-id=\"effcb04\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p id=\"2a91\" class=\"pw-post-body-paragraph kj kk iy kl b km mf ko kp kq mg ks kt ku mh kw kx ky mi la lb lc mj le lf lg ir ga\" data-selectable-paragraph=\"\">The application was implemented in\u00a0the PaaS approach using App Service. It makes the app management much easier, because we\u00a0don\u2019t have to\u00a0worry about potential server failures. App Service offers a\u00a0simple scalability, too. If the client wants to\u00a0widen the application\u2019s range, we\u00a0can enlarge the server\u2019s parameters to\u00a0handle larger loads with only a\u00a0few clicks.<\/p>\n<p id=\"2c89\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">All files, including the website\u2019s graphics or\u00a0documentation are kept in\u00a0Azure Storage Account. It\u2019s a\u00a0perfect solution for these kinds of applications because it doesn\u2019t require declaring and reserving particular space in\u00a0advance. It allows storing smaller and larger amounts of data with no\u00a0scalability. The solution\u2019s biggest advantage is its price which depends only on\u00a0the used disk space.<\/p>\n<p id=\"5d0f\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">Another benefit is integration of the App Service with Azure DevOps that combines many functionalities adjusted to\u00a0the development requirements, e.g. resource code repository. Azure\u2019s administration panel allows us to\u00a0launch the App Service with only a\u00a0few clicks and implement a\u00a0code from the DevOps repository.<\/p>\n<p id=\"a091\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">One of the most interesting features of DevOps is Azure Pipelines. It lets us automate the processes connected with code compilation and optimization, as\u00a0well as\u00a0configure the app in\u00a0the App Service. Thanks to\u00a0Continuous Integration, we\u2019re able to\u00a0provide new versions much faster, reducing the risk of errors. Configuration prepared in\u00a0a\u00a0new format (YAML) is easy to\u00a0modify and reusable. It allows a\u00a0simple implementation of varied code versions in\u00a0different environments.<\/p>\n<p id=\"1fc6\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">We\u00a0chose DaaS (Database as\u00a0a\u00a0Service) for a\u00a0database. The Azure SQL service offers all functionalities needed at\u00a0an unbeatable price. It\u2019s also worth mentioning that Azure SQL doesn\u2019t require expensive licences like SQL Server.<\/p>\n<p id=\"4b74\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">We\u00a0used the Key Vault component for a\u00a0safe confidential configuration elements storage. The service is almost free of charge and lets us store information such as\u00a0passwords and access keys. We\u00a0get an off-the-shelf encryption and a\u00a0highly detailed access control of the data. We\u00a0can also provide other Azure resources with access to\u00a0this information, creating a\u00a0central place for configuration storage. If we\u2019ll need to\u00a0replace the access key in\u00a0the future, we\u00a0can do\u00a0it very quickly. What\u2019s more, we\u00a0can be\u00a0sure that it\u2019s been replaced in\u00a0the configuration of all resources that need it.<\/p>\n<p id=\"e255\" class=\"pw-post-body-paragraph kj kk iy kl b km kn ko kp kq kr ks kt ku kv kw kx ky kz la lb lc ld le lf lg ir ga\" data-selectable-paragraph=\"\">To\u00a0simplify and lower the costs of the app\u2019s maintenance, we\u00a0integrated it with the Application Insights service. It allows collecting logs and diagnostic data both from the App Service and other Azure resources. It has a\u00a0wide range of features that enable easier problem diagnosis in\u00a0the app\u2019s performance, e.g. long processing time or\u00a0a\u00a0problem in\u00a0communication with an integrated external system. We\u00a0could once again experience how wonderfully Microsoft products cooperate. The .NET environment offers readymade suites which can be\u00a0seamlessly integrated with the source code. They allow gathering diagnosis information about the application\u2019s performance, e.g. the time executing requests. Application Insights can be\u00a0also integrated with the App Service which makes it easier to\u00a0monitor the load and find the best time to\u00a0carry out service work.<\/p>\n<figure class=\"lf lg lh li gt jv gh gi paragraph-image\"><\/figure>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c49f85 elementor-widget elementor-widget-image\" data-id=\"1c49f85\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_M8jhOBXCFmEMhjQGInqUhA.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"1_M8jhOBXCFmEMhjQGInqUhA\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NDMzMywidXJsIjoiaHR0cHM6XC9cL3NvZGFwbC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjFcLzA0XC8xX004amhPQlhDRm1FTWhqUUdJbnFVaEEucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"603\" height=\"291\" src=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_M8jhOBXCFmEMhjQGInqUhA.png\" class=\"attachment-large size-large wp-image-4333\" alt=\"\" srcset=\"https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_M8jhOBXCFmEMhjQGInqUhA.png 603w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_M8jhOBXCFmEMhjQGInqUhA-600x290.png 600w, https:\/\/sodapl.com\/wp-content\/uploads\/2021\/04\/1_M8jhOBXCFmEMhjQGInqUhA-300x145.png 300w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Pic. Azure solutions and components diagram<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14b8ccf elementor-widget elementor-widget-text-editor\" data-id=\"14b8ccf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We\u00a0used Terraform to\u00a0manage the infrastructure. It\u2019s an Infrastructure as\u00a0Code (IaC) solution that simplifies the processes related to\u00a0creating and controlling the deployment environments. It helped us create short scripts which can be\u00a0used to\u00a0build new, separate environments or\u00a0remove them in\u00a0only a\u00a0few minutes. The Terraform configuration, so called \u201cstate\u201d, is also saved in\u00a0Azure Storage Account which allows the deployment team to\u00a0work on\u00a0the infrastructure at\u00a0the same time.<\/p>\n<figure class=\"lf lg lh li gt jv gh gi paragraph-image\"><\/figure>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6519f9 elementor-widget elementor-widget-heading\" data-id=\"f6519f9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">d. How it works<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b40930 elementor-widget elementor-widget-text-editor\" data-id=\"7b40930\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Prepared architecture allowed us to\u00a0launch the app, that can handle both a\u00a0small and a\u00a0large traffic, at\u00a0a\u00a0low cost. The majority of the deployment process has been automated which enables us to\u00a0provide new updates and features quickly and easily, not worrying about potential errors during installation. All of the resources are stored in\u00a0the Microsoft Azure cloud, so the communication between them is fast and efficient. What\u2019s more, the app has one, central place for configuring all services, and the settlements add up to\u00a0a\u00a0single invoice from one provider.<\/p>\n<figure class=\"lf lg lh li gt jv gh gi paragraph-image\"><\/figure>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e24223 elementor-widget elementor-widget-heading\" data-id=\"0e24223\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">4. Summing up<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad058e1 elementor-widget elementor-widget-text-editor\" data-id=\"ad058e1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Recently, the application has had its premiere and is now available for clients. It has some good reviews and constantly increases its group of users. In\u00a0addition, the platform has great prospects for development, and thanks to\u00a0the architecture based on\u00a0Azure services, we\u00a0will be\u00a0able to\u00a0quickly adapt it to\u00a0new changes.<\/p>\n<figure class=\"lf lg lh li gt jv gh gi paragraph-image\"><\/figure>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7385e92 elementor-blockquote--skin-border elementor-widget elementor-widget-blockquote\" data-id=\"7385e92\" data-element_type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tDaria Marek, .NET Developer<br>\r\nPawe\u0142 Rudyk, .NET Developer\t\t\t<\/p>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential mistakes that can cost you hundreds of zlotys. Do\u00a0you know how to\u00a0make your app maintenance cost-efficient? 1. Who we are At\u00a0iteo, we\u00a0have been creating software tailored to\u00a0the individual needs and requirements of [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":4431,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1,885],"tags":[],"class_list":["post-5946","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-case-study","category-soda"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to reduce application maintenance costs with Azure? - SoDA<\/title>\n<meta name=\"description\" content=\"The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to reduce application maintenance costs with Azure? - SoDA\" \/>\n<meta property=\"og:description\" content=\"The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"SoDA\" \/>\n<meta property=\"article:published_time\" content=\"2021-04-01T11:22:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-24T06:05:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Team SoDA\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Team SoDA\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\"},\"author\":{\"name\":\"Team SoDA\",\"@id\":\"https:\/\/sodapl.com\/en\/#\/schema\/person\/2af89b8477c091cd60270b9624d57960\"},\"headline\":\"How to reduce application maintenance costs with Azure?\",\"datePublished\":\"2021-04-01T11:22:00+00:00\",\"dateModified\":\"2022-10-24T06:05:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\"},\"wordCount\":1383,\"publisher\":{\"@id\":\"https:\/\/sodapl.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png\",\"articleSection\":[\"Case Study\",\"SoDA\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\",\"url\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\",\"name\":\"How to reduce application maintenance costs with Azure? - SoDA\",\"isPartOf\":{\"@id\":\"https:\/\/sodapl.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png\",\"datePublished\":\"2021-04-01T11:22:00+00:00\",\"dateModified\":\"2022-10-24T06:05:11+00:00\",\"description\":\"The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential\",\"breadcrumb\":{\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage\",\"url\":\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png\",\"contentUrl\":\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png\",\"width\":1200,\"height\":628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/sodapl.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to reduce application maintenance costs with Azure?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sodapl.com\/en\/#website\",\"url\":\"https:\/\/sodapl.com\/en\/\",\"name\":\"SoDA\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/sodapl.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sodapl.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/sodapl.com\/en\/#organization\",\"name\":\"SoDA\",\"url\":\"https:\/\/sodapl.com\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sodapl.com\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/SoDA_LOGO_FULL_COLOR-cropped.svg\",\"contentUrl\":\"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/SoDA_LOGO_FULL_COLOR-cropped.svg\",\"width\":230,\"height\":68,\"caption\":\"SoDA\"},\"image\":{\"@id\":\"https:\/\/sodapl.com\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/pl.linkedin.com\/company\/sodapl-software-development-association-poland\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/sodapl.com\/en\/#\/schema\/person\/2af89b8477c091cd60270b9624d57960\",\"name\":\"Team SoDA\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/sodapl.com\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a90eecde66a72e8ce94a3114b764287ed7995f055dd3eb533f4f4210810d8441?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a90eecde66a72e8ce94a3114b764287ed7995f055dd3eb533f4f4210810d8441?s=96&d=mm&r=g\",\"caption\":\"Team SoDA\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to reduce application maintenance costs with Azure? - SoDA","description":"The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/","og_locale":"en_US","og_type":"article","og_title":"How to reduce application maintenance costs with Azure? - SoDA","og_description":"The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential","og_url":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/","og_site_name":"SoDA","article_published_time":"2021-04-01T11:22:00+00:00","article_modified_time":"2022-10-24T06:05:11+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png","type":"image\/png"}],"author":"Team SoDA","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Team SoDA","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#article","isPartOf":{"@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/"},"author":{"name":"Team SoDA","@id":"https:\/\/sodapl.com\/en\/#\/schema\/person\/2af89b8477c091cd60270b9624d57960"},"headline":"How to reduce application maintenance costs with Azure?","datePublished":"2021-04-01T11:22:00+00:00","dateModified":"2022-10-24T06:05:11+00:00","mainEntityOfPage":{"@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/"},"wordCount":1383,"publisher":{"@id":"https:\/\/sodapl.com\/en\/#organization"},"image":{"@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png","articleSection":["Case Study","SoDA"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/","url":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/","name":"How to reduce application maintenance costs with Azure? - SoDA","isPartOf":{"@id":"https:\/\/sodapl.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage"},"image":{"@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png","datePublished":"2021-04-01T11:22:00+00:00","dateModified":"2022-10-24T06:05:11+00:00","description":"The article presents several ways of reducing application maintenance costs. Some of the ideas can really surprise you! We\u2019ll also list some potential","breadcrumb":{"@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#primaryimage","url":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png","contentUrl":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/1_BmKa9dwuUHVBnrN_It5JIQ.png","width":1200,"height":628},{"@type":"BreadcrumbList","@id":"https:\/\/sodapl.com\/en\/how-to-reduce-application-maintenance-costs-with-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/sodapl.com\/en\/"},{"@type":"ListItem","position":2,"name":"How to reduce application maintenance costs with Azure?"}]},{"@type":"WebSite","@id":"https:\/\/sodapl.com\/en\/#website","url":"https:\/\/sodapl.com\/en\/","name":"SoDA","description":"","publisher":{"@id":"https:\/\/sodapl.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sodapl.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sodapl.com\/en\/#organization","name":"SoDA","url":"https:\/\/sodapl.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sodapl.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/SoDA_LOGO_FULL_COLOR-cropped.svg","contentUrl":"https:\/\/sodapl.com\/wp-content\/uploads\/2022\/09\/SoDA_LOGO_FULL_COLOR-cropped.svg","width":230,"height":68,"caption":"SoDA"},"image":{"@id":"https:\/\/sodapl.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/sodapl-software-development-association-poland"]},{"@type":"Person","@id":"https:\/\/sodapl.com\/en\/#\/schema\/person\/2af89b8477c091cd60270b9624d57960","name":"Team SoDA","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sodapl.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a90eecde66a72e8ce94a3114b764287ed7995f055dd3eb533f4f4210810d8441?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a90eecde66a72e8ce94a3114b764287ed7995f055dd3eb533f4f4210810d8441?s=96&d=mm&r=g","caption":"Team SoDA"}}]}},"_links":{"self":[{"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/posts\/5946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/comments?post=5946"}],"version-history":[{"count":4,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/posts\/5946\/revisions"}],"predecessor-version":[{"id":5950,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/posts\/5946\/revisions\/5950"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/media\/4431"}],"wp:attachment":[{"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/media?parent=5946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/categories?post=5946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sodapl.com\/en\/wp-json\/wp\/v2\/tags?post=5946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}