SYONE - Open Source Lisbon Blog

Open software, flexible Cloud - future proofing businesses

Written by Francisco Teixeira | 18/12/20 11:00

By Guest Author Francisco Teixeira, Partner Technical Manager @ Microsoft

November 24, 2020 - We are again going through a new period of state of emergency in Portugal where measures restrict us from being able to conduct our day-to-day lives as we did pre-COVID-19. It is inevitable that the pandemic will always be part of the news, online videos, publications, and articles that we find everywhere. And it is important to do so, as we need to learn, evolve, and prepare better for the future.

This was the motto for writing this article, to look at ways for organizations to become resistant to a new moment of confinement, where the movement of people is compromised and, consequently, industries such as tourism, transport, culture, catering, and many others, suffer the consequences of these limitations.

It is not an obvious relationship between the examples I used above to explain the impact in other sectors, but what I observe is a change in people's behavior, a reduction in confidence in interacting in person, signs of an increase in people's savings due to the state of general concern about what the future holds, or even the form and place where we work and the acceptance of this new paradigm where remote work prevails for those who work in areas of service providers.

An accelerated digital transformation 

We are all aware of the acceleration that society has undergone due to the changes that COVID-19 brought to the world; on top of that acceleration, we will find digital transformation. From enabling workers to be able to continue working from remote locations, equip schools with distance learning platforms, bring products for digital retail and e-commerce. 

I believe that support and measures aimed at companies to cope with the current situation must, of course, also serve to invest in digital transformation. In reinventing businesses so that they can prosper again and never try to survive. The logic is simple, in a context where the market is highly competitive, there will always be a platoon of companies that will transform faster than the others, these will be the favorites to lead the market in the near future.

Free software 

A note, as I refer to free software - without licensing costs - and not necessarily with open-source code. In recent years, the propensity to adopt new models of software use is notorious, namely either through software-as-a-service or even platform-as-a-service, where the costs are directly linked to the use of the services. Some of these pieces of software are even built on top of Open Source to which features such as resilience, governance, security, or compliance are added.

These are the characteristics that we typically associate with Enterprise-ready software, so we have a set of benefits in adopting these software blocks when designing scalable and flexible solutions. Service levels (or SLA’s), different regions available for implementing our services, centralized monitoring, and control. These are just some of the examples of advantages when I refer to free software.

Flexible Cloud

Cloud services, whether in their own infrastructure, hybrid or in public cloud, are the fundamental element when we analyze investment costs versus operating costs. In January 2020, forecasting the infrastructure that an organization will need during the year 2020, must have been an exercise that left out of the equation the most relevant variable today. We will have the cases of those who made these predictions on top of cloud infrastructure, taking advantage of all the flexibility that the pay-as-you-go model offers; on the other hand, whoever did the same exercise to acquire new hardware, probably either over-dimensioned or undersized this estimate.

Here I consider it relevant to mention a very important word, in the decision-making process of an organization, about which cloud services to choose: trust. Innovation, technical improvement of services, prices, are all variables that adjust, evolve, or change over time. Trust, on the other hand, is built.

Let me give you a list, of the main topics, to help you analyze the confidence index that a given supplier gives you:

• Depending on your organization's industry, does the supplier meet the compliance standards I need?

• What investments does the supplier make in issues related to security?

• What is the approach and policies regarding data privacy?

• What experience does the organization have in large-scale services and how does it make them available to its customers? 

Realize a Cloud scenario with free software

I wanted to close this article, using a transverse example to any organization in view of the whole context I described thus far. The digital transformation will certainly lead even more organizations to create their space on the Internet and create applications that allow them to continue operating in the current circumstances. 

The scenario that I will describe to you is that of creating a Web application, using CI / CD (Continuous Integration / Continuous Delivery) to automate the development, testing and deployment processes of these Web applications.

Why is CI / CD important? Again, if we look at the speed with which the digital transformation took place during the year 2020, we see that companies and people are accelerating at an increasingly faster pace. Since CI / CD is a way to speed up this whole process, it becomes clear that it is a simple decision to make - automating this whole process, will introduce optimizations throughout the cycle that I described.

Now, next you will find the reference architecture of the Azure Web Apps CI / CD solution, which in practice encompass the various services required for any organization to put into practice the minimum necessary to make their Web applications available online.

Let me guide you through this architecture, describing the various steps numbered in the image:

 

1. The developer or engineer writes and develops using, for example, Visual Studio

2. The source code is stored in Azure Repos - a source code repository integrated with Azure DevOps

3. A new code commit, if CI / CD is active, triggers the execution of an Azure DevOps Pipelines that will run tests to the committed code

4. In case of a successful execution, a new Azure DevOps Pipelines is launched for automated deployment of the new solution

5. The application is deployed on Azure Web Apps and is accessible by any user, anywhere in the world

6. The telemetry and auditing data for the web application are automatically stored in Azure Application Insights

7. The developer / engineer uses this information to correct the solution and, as a result of the usage analysis, develops further improvements in the application

8. New features are added to the Product Backlog, so that they can be developed in future development cycles

For how much could any organization have access to these services and features? Using the calculator of the cloud services referenced above, assembling the architecture presented above, we easily reached the value: € 96.04 per month, would be the base value for creating the reference architecture that I described.

I would like to end this article by:

• Saying thanks, for the time you spent reading it

Hoping that it has served as an inspiration for us to try to save as many organizations as possible from not accelerating towards digital transformation

Wishing you to keep safe and healthy

Thank you!

Reference: https://azure.microsoft.com/en-us/solutions/architecture/azure-devops-continuous-integration-and-continuous-deployment-for-azure-web-apps/