📜 ⬆️ ⬇️

OpenVPN in Microsoft Azure for virtual merging of subscriptions. Experience GanttPRO - project management service

Hello! Today we will talk about GanttPRO - the online Gantt chart for planning, creating and managing projects. For their work, the service team under the BizSpark grant uses the Microsoft Azure infrastructure. BizSpark has a feature - when a company enters the program, it receives up to 8 Azure accounts. Each month, each account can consume up to $ 150. Often this is enough, sometimes - not enough, especially in the case of virtual machines.

In this article, the GanttPRO team will tell not only about specific actions that will allow to combine virtual machines in different subscriptions, but also about the project as a whole. Of course, if you are an experienced administrator or developer, you can spend time and figure it out. However - spend time.

And let's start with the theory and motivation of the project. If you are a system administrator, a developer working with opensource solutions in the Azure cloud, or a project manager, this article will be useful for you.

In project management, it is difficult to be successful without illustrating a graph or plan. When the manager has all the tasks, processes and participants visualized and displayed in a convenient way, it is much easier to manage the project.
')
In fact, there is no need to invent an easy way to visualize a project thanks to the discovery of American engineer Henry Gantt , who more than 100 years ago proposed a convenient principle for representing the duration and sequence of tasks. Speech on the Gantt chart.

This is a bar chart consisting of lanes, which are tasks. Each strip has a start and end point. Those. These are the moments where the task begins and ends. Accordingly, the length of the strip - the duration of the task. All bands are oriented along the time axis.

In theory and practice of project management, this chart has long been a standard. It is not surprising that most software designed for use in this area also uses it.

The Gantt GanttPRO online chart is also built on it. The interface is similar to Google Docs, both externally and in ease of use, as if you suddenly decided at Google Docs to start managing projects and working with the team. However, Google does not provide such a solution yet.



Simply setting the tasks and controlling their implementation are the basic functions of the diagram. In fact, management requires many other useful features for simplicity, clarity and convenience. For example: tasks are rarely isolated. As a rule, some of them are interconnected. This means that the tool must have a “Set Dependency” function.

Or another example. The manager needs the project to be always at hand to discuss it with the participants or include it in the presentation. So, without the function "Export" is not enough. Therefore, the classic functions of the Gantt chart in GanttPRO are greatly expanded. Here the user can not only create tasks and distribute them, but also set dependencies between them, follow the progress of each individual task and the project as a whole, create milestones and define a critical path.

The application provides many opportunities to manage the project team . Here you can share a project, import / export it from / to popular formats, leave comments under tasks and attach files, and much more.

There is also automatic scheduling here . The function allows you to avoid many hours of monotonous work. The service automatically, based on connections, calculates the order of tasks, the duration and progress of groups of tasks and the project as a whole, tells you when the project will be completed and what stages are dangerous due to the potential for delays.

Why it was decided to create GanttPRO

Developers, after analyzing the market, realized that they could not find a tool that would suit them. Some of them are inconvenient from the point of view of the interface, others do not have useful functionality. In general, they set a goal to create a service that will be both convenient and simple, and rich in interesting and useful features, and which will use the proven visualization method, i.e. Gantt chart.

The service is already used by over 190,000 users who have created more than 210,000 projects worldwide. He was considered useful and convenient for project management both somewhere far away in the USA, Canada, Britain, Australia and Germany, and already in project management somewhere near in Russia, Belarus and Ukraine.



The scope of the Gantt chart is extensive: software development, construction, sales, manufacturing, etc. However, if there is a need to simply plan your schedule and affairs, not a problem: an online diagram will help in managing any personal project, whether it is exam preparation or a month schedule.

What has been done in GanttPRO and what to expect in the future

More recently, new features have appeared in the service: a history of changes , cancellation of actions and restoration of the previous version. These are very handy features that were definitely not enough before. With them, the manager has even more opportunities to interact with the team and manage the project as a whole.

New features provide an opportunity to view the entire history of changes in the project, since all data is stored in the cloud. And also, if something went wrong, you can easily cancel any action and restore the project to the moment it was done. Everything is completely under the control of the manager.



In the near future, a release is being prepared, in which there will be many interesting and useful chips. This is especially true of teamwork. Users will be able to set their own settings for displaying the tool when working together, see how many people and exactly who are working on the project online, change the scale in the history to view the project, apply new filters in it and much more.

Why does GanttPRO use Microsoft Azure cloud service:


It so happened that the developers in the production use linux-machines. So they are more familiar and more convenient. The question remained how to raise the VPN network between them in the Azure infrastructure.
After a couple of unsuccessful attempts and a few tips from Microsoft experts, the team came to a decision that has been successfully working for more than a year. And she shares with you instructions on how to set everything up:

We create VM for VPN gateway

In “portal.azure.com” choose “+ New” → “Virtual machines” → “Ubuntu Server 14.04 LTS” → “Create”



Configure basic settings
"Name" - openvpn-gateway
"User name" - ubuntu-admin
Select the item "SSH public key"
Copy the "SSH public key"
"Resource group" - newgroup
"Location" - North Europe
→ OK



Size
"Choose virtual machine size" - A1 Standard
→ Select

Configure optional features
“Disk type” - Standard
"Public IP address" - Create new → Static

“Network security group” → Create new → Create a new group and add access rules for 1194 UDP Any
→ OK → OK



We are waiting for the virtual machine to be created. In the properties of the virtual machine, you can see the resulting IP.



Connect to the newly created virtual machine.



To install and configure programs, log in as root using sudo

$ sudo -i 

Update package list in repository

 # apt-get update 

Install the necessary packages and configure

 # apt-get install openvpn easy-rsa # mkdir /etc/openvpn/easy-rsa # cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa # mv /etc/openvpn/easy-rsa/easy-rsa /etc/openvpn/easy-rsa/2.0 

Generating server keys

 # cd /etc/openvpn/easy-rsa/2.0 # cp openssl-1.0.0.cnf openssl.cnf # source ./vars # ./clean-all # ./build-ca     . 



 # ./build-key-server < > (   openvpn-gateway) 

We answer questions of the interactive menu

 # ./build-dh 

Copy keys

 # cp -r /etc/openvpn/easy-rsa/2.0/keys/ /etc/openvpn/ 

We write the config file for the server /etc/openvpn/server.conf with the following content:

 port 1194 proto udp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/openvpn-gateway.crt key /etc/openvpn/keys/openvpn-gateway.key dh /etc/openvpn/keys/dh2048.pem server 10.8.0.0 255.255.255.0 (  ) client-config-dir ccd ifconfig-pool-persist ipp.txt cipher BF-CBC client-to-client keepalive 10 60 comp-lzo max-clients 20 user nobody group nogroup persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 mute 20 

create folder ccd

 # mkdir /etc/openvpn/ccd 

Restart openvpn

 # service openvpn restart 

After the restart, the server should have a tun0 network interface with ip 10.8.0.1



Server is ready.

Customer setup

On the server we generate a key for the client

 # cd /etc/openvpn/easy-rsa/2.0 # source vars # ./build-key-pkcs12 < > 

We answer the questions of the interactive menu. On the client, you need to install the openvpn package.

 # apt-get install openvpn 

Copy the file <client name> .p12 generated to the server to the / etc / openvpn folder
Write the config file for /etc/openvpn/openvpn-gateway.conf with the following content:

 dev tun proto udp remote <ip     > 1194 client resolv-retry infinite pkcs12 < >.p12 ns-cert-type server comp-lzo yes persist-key persist-tun status openvpn-status.log log /var/log/openvpn.log verb 3 keepalive 10 60 

Restart the service.

 # service openvpn restart 

After the restart, the client should have a tun0 network interface with ip 10.8.0.x through ip 10.8.0.1 our server should respond.

Working in GanttPRO with Microsoft Azure is convenient. Microsoft Azure gives us the opportunity to quickly scale and not worry about the safety of data. In this case, the choice of the stack of technologies is ours;)

Thank!

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


All Articles