How to work with Open Source projects in Microsoft Azure. Part 1
How to optimize the cost of software development and delivery, where to start the transition to Open Source technologies and how to work with Open Source projects in the Microsoft Azure cloud? Find detailed instructions in our new blog posts series.
Adopting a DevOps philosophy, coupled with migration to Open Source with Microsoft Azure, delivers commercial technology-agnostic solutions of a higher quality and at lower costs. Maksim Kanev, Deputy CTO and Head of DevOps practices at WaveAccess, outlines how to implement DevOps tools and operations to create, deploy and support Open Source projects using Microsoft Azure. In the first blog post, we will unveil the most popular journeys of the business digital transformation and the way Azure can be applied for technology approbation.
From their experience, WaveAccess specialists have come across two of the most popular paths of digital transformation that businesses are traditionally following:
Digital transformation journey №1
Unfortunately, the most common path is not yet the most efficient one.
Imagine a negative situation happens: for example, a customer repeatedly expresses dissatisfaction with the service, and the end users do not receive the promised updates. In this case a client either chooses another vendor, or alternatively a custom software is built to solve these problems. Tech leaders or company executives tend to first try to find a solution on their own by learning from others’ experiences and engaging the help of external experts.
Next, an idea is born on how to improve the efficiency of a business, product or operation. Its implementation is entrusted to a working group, which is often not a separate team brought together to solve a specific problem, but people “pulled out” from the usual development process. Which can lead to not only the service performance suffering but this can often result in high staff turnover, as specialists cannot cope with the workload assigned to them.
After 2–5 releases (which, in practice, takes from one to three months) the working group is disbanded without meeting the expectations of the management, and at this point an external guru is invited to save the day. Of course, they are expected to come up with a quick solution on how to address the problem.
After this, there are usually two typical outcomes:
-
The guru manages to convince the management to change tactics, and the process runs smoothly according to a successful plan, that is now in place
-
Or the guru’s work produces even more problems, and the company is again, left without a solution
Digital transformation journey №2
One can avoid such situations, described above, if the process of introducing new technologies and business transformation starts with an in-depth analysis of the bigger picture and study of the product and services is done from a perspective of customer satisfaction.
With this approach, after the problem is clearly and concisely stated, a stand-alone transformation project is created, and a separate working group is formed — from employees not involved in other tasks. This is usually more expensive than using existing resources (even taking into account overtime and bonuses), but in the long run, this approach is fully justified, because of this simple fact. It is more reasonable to invest in the time for analysis than to lose the team members, and, in addition, ruin the entire project and product.
It is important for the new transformation team to document the existing business processes and critical functions: request documentation, comments and descriptions from developers and engineers and also receive feedback on the service quality and functionality provided to the end users. They then should set about designing a new solution in accordance with the feedback received and goals for new and existing processes.
In such cases, it makes sense to test new technologies, where Microsoft Azure is the most likely choice. You can temporarily allocate some of the resources to test new servers, ready-made solutions for data collecting and processing, and for content delivery to the client (if needed). The team can also use a machine learning tool that provides a large number of data analysis and prediction models.
After this, ready-made solutions are implemented, and the first group of interested users is invited to express their opinion on the proposed services. If the feedback is positive at this stage, then it makes sense to design the implementation of these solutions into the existing infrastructure. You should consider Microsoft Azure if the security requirements and existing budget allow you to use the Azure servers’ capacity.
Further, according to the results of the pilot operation, an updated version of the service is recorded, which is subsequently put into commercial exploitation. Still, during this time, the transformation team needs to keep on collecting feedback from both users of the new system and those who have not seen it yet, and shape this feedback into new requirements for existing and updated services.
Microsoft Azure to validate technologies
As stated above, Microsoft Azure works perfectly for testing technologies. The platform boasts a number of advantages:
-
Simplified resource management within a subscription
There is a resource group where all security settings are applied. You can use automation tools, and also determine the level of consumption relative to the available resources.
-
Minimum granularity of resource consumption — up to 100 ms
Serverless technology enables us to perform various functions on the backend through the API without starting a single server.
-
Service availability guaranteed at 99.999%
As a consumer of these services, a company can offer stability of service and functionality directly to its customers.
-
Over 100 data centers around the world
If the service is geographically dispersed, then you can provide its higher level, in terms of response time and content delivery, by placing capacities in data centers across the globe or in areas located close to customers.
-
High degree of automation of resource management operations
Azure Resource Manager templates, Terraform, or other Open Source technologies can be used to manage and dynamically scale computing power in the Azure cloud.
-
Ready-made managed services of popular Open Source solutions
These are databases, Kubernetes Services, various caches. The use of managed services undoubtedly simplifies the introduction of new technologies into the IT landscape.
-
More than 160 points of the content delivery network
It particularly enables you to provide the client with videos, images or documents quickly or even in a real-time mode.
-
24/7 support from the Microsoft global partner network
You can engage reliable contractors with proven and certified experience in the project.
To dive deeper into this topic, we recommend that you explore the hands-on content on the Microsoft Learn portal.
The next blog post will feature a roadmap for an efficient and cost-effective IT landscape upgrade with Microsoft Azure, along with a coherent journey from MVP to commercial operation with Kubernetes.
We will assist you in architecting and developing a real Continuous Integration / Continuous Delivery (CI/CD) operating environment for your organization.
Let us tell you more about our projects!
Сontact us:
hello@wave-access.com