Scenarios for using the free Veeam development and testing tools in Microsoft Azure

    We continue to talk about third-party solutions that are presented on the Azure cloud platform and the Azure Marketplace. Today, scenarios for the use of free Veeam tools presented in the Azure Marketplace are described by Alexander Shirmanov, R&D Director at Veeam. You can always find more stories on the link to Habré . - Vladimir Yunev, Microsoft
    Today I want to analyze several scenarios for using the public cloud, demonstrating how with their help it is possible to carry out those types of work that until now have been put aside “in the long box”.

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

    • database server (backend)
    • "Middle link", i.e. service that performs basic work tasks (Middle-Tier)
    • Web site directly used by users (Front-Tier)


    Fig. 1

    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 uses not one, but several VMs, and, accordingly, requires 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 the engineers work acquires 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 not very similar to the one in which end users usually work. But it is precisely her user environment that needs 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 a test infrastructure for production needs.

    1. Creation of infrastructure for the development, testing and quality control of software


    Problem


    The need for infrastructure to perform the tasks of development, testing and quality control of software is urgent for manufacturing companies and for small internal development team teams. It is relevant in all cases when a large enterprise acquires software from third-party suppliers, which must ensure its operation in a production environment.

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

    Consider this situation in relation to our example - let's say 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 outputting to production were rather bleak, including the need for a complete rollback to the previous version. In addition, under the conditions of such restrictions, developers and beta testers 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.

    But what if we use public cloud resources to solve such problems?

    Solution option


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

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

    To do this, I needed this (see Fig. 3):

    • Backup (VBK) created using Veeam Backup & Replication (or Veeam Backup Free Edition or Veeam Endpoint Backup)
    • Microsoft Azure Subscription
    • Veeam Direct Restore to Microsoft Azure
    • Veeam FastSCP for Microsoft Azure ( I used it to download data to \ from the Azure VM)

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

    2. Testing patches and updates


    Here is another scenario that is familiar to everyone. 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 the novelties before applying them in production. In reality, of course, most IT professionals cannot boast of the copy at their disposal. Instead, the following options are possible:

    • patches and updates are checked on several test servers. Based on the results obtained, plans for implementing the changes are written and submitted for approval to management. This option has a number of potentially dangerous points, in particular, updates are not always tested together with all available dependencies.
    • option with "wave update", ie First, the patch is installed on 10% of the servers, and their condition is monitored for a week. Then another 10% will be patched, and in a week - all the rest. The advantage of this approach is that in case of a critical error it will not affect the entire infrastructure, but the minus is that the infrastructure is still at risk, and this risk is not always justified.

    Solution option


    Again I use the resources of the public cloud, where I create copies of the production infrastructure, which, after testing is complete, I can disconnect 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 videos, etc. etc., that is, to collect the necessary information in any convenient way. Engineers will need journal entries to understand how the infrastructure behaves after installing the patch, and screenshots will confirm to managers that the process of implementing the changes is documented. And good documentation on the process, in turn, will help colleagues when some of them need to introduce similar changes.

    Actually, the procedure that I performed to create a test environment is similar to that described in the previous section - unless it may be necessary to restore less VMs 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's ask a simple question: how often do we test backups? What about a disaster recovery plan? Once a week, a month, a year, or never at all?

    Of course, there are always good reasons - no time, no human resources, no way to provide a dedicated environment for these purposes. In an ideal world, of course, these tests must be performed, but in reality this does not always happen.

    And again, a public cloud can come to the rescue. Restoring from a backup to the cloud infrastructure has several advantages, for example:
    • There is no need for local equipment (load balancers, routers, switches, etc.)
    • Once the testing is completed, you can very quickly get rid of unused more resources
    • Additional equipment (firewalls, routers, etc.) is configured in the same cloud
    • The disaster recovery plan is carefully reviewed and documented.
    • A great chance to test and document the possibility of restoring infrastructure to a public cloud in case the entire infrastructure is damaged by an accident


    Solution option


    Actually, everything that I already wrote about above, therefore I will not repeat. But there is something else that I have not mentioned before. Infrastructure components: firewalls, load balancers, DNS servers, etc., will also 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 kind of global restructuring. But in the event of an accident, you have an identical infrastructure, the cost of maintaining which is based on the cost of the subscription, and not on the investment in expensive equipment.

    IT professionals are not always inclined to use the public cloud to support production infrastructure. However, it is worth considering such a possibility when preparing a disaster recovery plan. After all, if you have to switch to a backup, then you will immediately have at your disposal the necessary resources, including network and hardware - and only an exact copy of the infrastructure deployed at a remote site in the branch 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 development engineers and end users of the software.

    about the author


    Alexander Shirmanov, R&D Director, Veeam



    Azure marketplace


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

    Azure users can quickly access Veaam solutions through the convenient Azure Marketplace. Get started with Veeam today!

    Also popular now: