📜 ⬆️ ⬇️

Scenarios of application of free tools Veeam for development and testing in Microsoft Azure

We continue to talk about the decisions of independent developers, which are presented on the Azure cloud platform and in the Azure Marketplace. Today, Alexander Shirmanov, R & D Director at Veeam, talks about the scenarios for the use of free tools from Veeam presented in the Azure Marketplace . You can always find more stories on the link to Habré . - Vladimir Yunev, Microsoft
Today I want to analyze several scenarios of using the public cloud, demonstrating how they can be used to perform those types of work that have been postponed until now.

I will take the following example of infrastructure: there is some software product, an application, on which engineers constantly work (naturally, in order to bring it to perfection). The main components are:



Pic1

Previously, to work on a product, it was necessary to deploy just 3 virtual machines - one for each of the components. But the product is being improved, and each of the components can now include several roles - for example, the website now involves not one, but several VMs, and, accordingly, requires load balancing (Load balancer). The load in the "middle link" is also distributed. Well, the database server now uses SQL Server AlwaysOn Availability Groups. As a result, the infrastructure with which engineers work takes on the form shown in Figure 2.
')

Fig. 2

It is clear that the environment in which tests are performed, which is used by developers and other members of the product team, is a little like the one in which end users usually work. But it is her, the user environment, you need to be able to recreate for production purposes.
So I decided to share examples of tasks that I regularly have to perform during the creation of test infrastructure for production needs.

1. Creating an infrastructure for developing, testing and verifying software quality


Problem


The need for infrastructure to fulfill the tasks of developing, testing and verifying the quality of software is urgent for both manufacturing companies and small teams of internal development departments. It is relevant in all cases when a large enterprise acquires software from third-party suppliers who must ensure its operation in production conditions.

In an ideal world, of course, you can count on a detailed copied user infrastructure. But our world is real, and in it, among other things, there are a number of reasons "against" the deployment of such a copy: it is difficult to manage change, because teams that have full access to the OS make changes literally on the fly. Deploying such an infrastructure takes time and effort, and resources for support are limited. Well, often the company simply does not have the hardware resources to deploy.

Consider this situation in relation to our example - suppose that the IT administrator is very limited in resources. Until now, it was enough to deploy 3 virtual machines (one for each component). But now the task has become more complicated, and due to the fact that the production environment was not modeled and the solution was not tested in it, the consequences of putting production into production were pretty bleak, including the need for a full rollback to the previous version. In addition, in the face of such restrictions, developers and beta testers from among users could not test the product in working with real data, which also led to unexpected results after the release.

But even if the situation described above does not belong to the category of those with whom you have met, then you probably heard about cases when a particular project in the company is suspended due to lack of resources that some of the current projects have not released.

And what if to solve such problems involve public cloud resources?

Solution


Naturally, for all the machines included in the production infrastructure, which I use, recovery points are regularly created. And so I tried to restore one of the services from a backup directly to the cloud infrastructure of Microsoft Azure's Infrastructure as a Service (IaaS)

As a result, I received not only all the same necessary resources, but also practically fresh real data (just 2 hours old), which allowed the engineers to complete their work without hindrance before issuing a production solution.

For this I needed this (see Figure 3):


After the restoration to the cloud, the users of my service were provided with access to the infrastructure exactly the same as if it were a real production infrastructure, moreover, they could work with real, live data.

2. Testing patches and updates


Here is another well-known scenario. In an ideal world for testing patches, hotfixes and updates, etc. I would use an exact copy of the production infrastructure, where I would try out new products before applying them in production. In reality, of course, most IT professionals cannot boast of such a copy available to them. Instead, the following options are possible:


Solution


Again, I use the resources of the public cloud, where I create copies of the production infrastructure, which, after testing is completed, I can disable or demolish. I can test and document my change plan, which will then be sent to management. At the same time, I can take screenshots, collect journal entries, record video, etc. etc., that is, to collect the necessary information in any convenient way. Log records will be needed by engineers to understand how the infrastructure behaves after the patch is installed, and the screenshots will confirm to managers that the change implementation process is documented. And good documentation on the process, in turn, will help colleagues when some of them need to implement similar changes.

Actually, the procedure that I performed to create a test environment is similar to that described in the previous section - except that you may need to restore less than VM in Microsoft Azure (depending on a number of settings). For example, if you have 3 identical web servers, then you can test one of them. The same applies to the database, and to the "middle link" (see Fig.4).

3. Testing backups and disaster recovery plans


Let us ask ourselves a simple question: how often do we test backups? A disaster recovery plan? Once a week, a month, a year, or never?

Of course, there are always compelling reasons - there is no time, no human resources, there is no opportunity to provide a dedicated environment for these purposes. In an ideal world, of course, it is necessary to perform these tests, but in reality this is not always the case.

And again a public cloud can come to the rescue. Restoring from a backup to the cloud infrastructure has several advantages, for example:


Solution


Actually, everything that I already wrote about above, so I will not repeat. But there is something else that I did not mention earlier. Infrastructure components: firewalls, load balancers, DNS servers, etc., will have to be configured in the public cloud. This is done once and for all (that is, for the entire duration of the subscription) - of course, except in cases of some global restructuring. But in the event of an accident, you have an identical infrastructure, the cost of which maintenance is based on the cost of the subscription, and not on investments in expensive equipment.

IT professionals are not always inclined to use a public cloud to support production infrastructure. However, you should think about this possibility when drawing up a disaster recovery plan. After all, if you have to switch to a backup, then you will almost immediately have the necessary resources at your disposal, including network and hardware — and only an exact copy of the infrastructure deployed at a remote site in the branch office could compete with them.

Conclusion


It is not always necessary to completely transfer the entire infrastructure to the public cloud, in many cases it is more efficient to use a hybrid approach. Using a public cloud to solve some of the typical tasks discussed in this article can be a good help in routine work and do a good job for both software engineers and end users of software.

about the author


Alexander Shirmanov, R & D Director, Veeam



Azure Marketplace


More than 3,300 different solutions you can find on the Azure Marketplace page. You can find more information about the Azure Marketplace solution store on our Russian-language portal .

Azure users can get quick access to Veaam solutions through the convenient Azure Marketplace. Start working with Veeam today!

Source: https://habr.com/ru/post/282568/


All Articles