📜 ⬆️ ⬇️

How IaaS helps freelance programmers: 1cloud experience

According to the Payoneer global survey , freelance programmers earn more than many other professionals working on the remote. Suffice it to recall the story of former Google engineer James Knight. After leaving the company, the 27-year-old developer was able to double his earnings while traveling with his wife in Europe in parallel.

Freelance gradually becomes not just a “symbol of downshifting” - freelance developers earn no worse than their corporate colleagues, often working with greater comfort. But the popularity of this format leads to growing competition among the freelancers themselves - for example, only 3% of candidates pass the Toptal.com freelance market.

In order to meet the requirements and pass the competition, you need not only to have a head on your shoulders, but also to use modern technologies that simplify development.
')
One such technology is IaaS.


/ Flickr / wall boat / pd

1. Testing in the cloud: high-quality QA allows you not to lose customers


According to APM's research company AppDynamics, 90% of users stop working with applications due to technical failures. Therefore, software testing is a critical part of the developer’s work.

Since the freelancer regularly has new customers, for tests, developers have to create a “clean” system every time that is extremely similar to the client’s target system. This allows you to check the application in the "combat conditions", since there is no guarantee that the product will work everywhere if it is earned on the developer's computer. To do this, sometimes you have to go through various combinations of hardware and software, which takes a lot of time and money.

An IaaS provider is capable of solving this problem, which makes it possible to quickly deploy the required test environment. A technician and resident of Quora, Spencer Green (Spencer H. Greene), for example, notes that the load testing of applications in a system that repeats the target one-on-one allows us to most accurately evaluate their “performance”.

Using the 1cloud configurator, users can “ raise ” a virtual server in 2 minutes. In this case, the developer need only select the configuration of interest in the control panel. He can then concentrate on testing and debugging applications.

In addition to simplifying the configuration of hardware and software environments, the cloud also allows you to simulate critical scenarios that are not available in a typical test environment. We are talking about disaster recovery scenarios for server operation or, for example, traffic jumps.

According to a Gartner study , in 2015, already 80% of organizations involved cloud structures for their projects to one degree or another. Development and testing in the cloud is gradually becoming a natural practice in the IT industry, and therefore may soon become the standard for freelancers.

2. Scaling: when a large company becomes a customer


Unpredictability in work is a characteristic of freelancing as a whole. We have to quickly adapt to the requirements of each client. When developing a simple application for a specific OS, one virtual machine is sufficient, but what if the task is to develop a web client for a large structure?

One of the advantages of IaaS-providers is the flexibility of the services provided. Developers can rent cloud infrastructure of any size: from a single server to a network of interconnected virtual machines. The cost depends on the capacity of the leased equipment, and the rental period can be either a day or an hour. This flexibility allows the freelancer to save on infrastructure and pay for computing resources only when they are needed for work.

IaaS-providers also provide additional services that can help the developer to better adapt to a specific task. For example, in 1cloud there is a service " Object Storage ", with its help, customers can store almost unlimited amount of data. These can be either backup copies of files, static content of websites or recording of video surveillance systems (if you, for example, are working on creating security systems).

3. Remote access: in case the lights are turned off at home


The ability to work from anywhere in the world is one of the most enjoyable features of freelancing. However, even after spending time organizing remote access to his system, the programmer is forced to monitor its uninterrupted work. Due to possible outages, a freelance programmer cannot always leave the house for a long time. Yes, there are solutions that, if anything, allow you to reboot the system remotely, but even they may not help.

At the end of January one of the LKML hosting resources, LKML.org, was unavailable . The server that hosted the site was at home with the developer of the project Jasper Spaans (Jasper Spaans). When Jasper was on vacation, the lights were turned off at his home, and because of a voltage jump, the server motherboard burned out. Therefore, he was unable to connect remotely and raise the site.

IaaS providers who provide round-the-clock access to their infrastructure help to avoid this situation. There are several advantages to this solution:

  1. The developer does not waste time setting up secure remote access.
  2. The infrastructure of the cloud provider has high availability - 99.9% or more. At the same time, providers, including 1cloud, offer monetary compensation in case of violation of the declared availability indicators and SLA requirements.

And IaaS-provider can provide several options for remote access in case of inoperability of one of them. Recently, Microsoft announced the discovery of vulnerabilities in the Remote Desktop Protocol (RDP). The company has released a “patch”, but it blocks access to the system on which the patch was not installed. At the same time, the opposite is also true - the updated operating system “refuses” to show its desktop to an un-updated RDP client.

To resolve such situations, 1cloud provides the ability to access servers via the web console. It displays the server screen even if it is not possible to connect to the “machine” by other means.

By the way, after the power outage incident, Jasper Spaance also transferred LKML.org to cloud hosting.


/ Flickr / Seeweb / CC BY-SA

4. Data protection: backups save time and nerves


Sometimes even large companies are faced with a situation where someone’s mistake or system failure leads to data loss. Last year, one of the residents of Reddit shared a story and told how he, as a junior developer, accidentally deleted the database in the production environment on the first day of his work. It turned out that backups for this database were not restored.

This situation is a nightmare for any developer, especially for a freelance developer who needs to maintain his reputation in a competitive market. To protect themselves, freelance programmers purchase network storages and set up backups that are “sent” to several different places at the same time. Independently maintaining such a system is expensive and time consuming, plus it distracts from the development.

Cloud IaaS-providers in this case help to solve these problems. They release the programmer from having to set up backups on their own - it’s enough to indicate the storage depth of copies. In 1cloud, for example , the backup storage depth parameter is a multiple of 7 days. The very same backup is performed daily on a geographically remote disk array.

5. Collaboration: if you need to work on one project in a team


According to a study by Intuit, by 2020, freelancers in the United States will make up 40% of the working population. Small businesses will form a whole network of freelancers, hiring "remote specialists" from various fields. At the same time, 80% of large corporations plan to significantly increase the use of irregular labor.

In such conditions, the freelance developer increasingly has to interact with programmers already on the staff of the client. The cloud also helps to simplify the collaboration, acting as a kind of intermediary. Cloud workspace is centralized, so it’s easy to make publicly available. This construction of workflows brings to a new level practices such as pair programming and continuous integration.

In a functional sense, virtual resources do not differ from the "iron" at home or in the office, but if necessary, allow flexible management of computing power. As a result, a freelancer can solve a wide range of tasks that arise during development: from load testing to cloud storage.

PS Earlier, we told how companies save money in the cloud, and with what difficulties of web studios and 1C franchisee an IaaS provider helps to cope.

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


All Articles