How IaaS helps freelance programmers: 1cloud experience

    According to a global survey of Payoneer, 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.

    Freelance is gradually becoming not just a “symbol of downshifting” - freelance developers earn as much as their corporate colleagues, often working with great comfort. But the popularity of this format leads to increasing competition among freelancers themselves - for example, on the freelance exchange, only 3% of candidates are selected .

    To meet the requirements and pass the competition, you need not only to have a head on his 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 to not lose customers

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

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

    The IaaS provider is able to help with the solution of this problem, which makes it possible to quickly deploy the necessary test environment. Spencer H. Greene, a Quora technician and resident, for example, notes that stress testing applications in a system that repeats the target one-on-one allows you to more accurately evaluate their “performance”.

    Using the 1cloud configurator, users can “ lift ” the virtual server in 2 minutes. In this case, the developer only needs to select the configuration of interest to him in the control panel. Next, he can focus 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 normal test environment. We are talking about disaster recovery scenarios for the server or, for example, traffic spikes.

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

    2. Scaling: when a large company becomes a customer

    Unpredictability in work is a characteristic of freelance 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 enough, 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 a cloud infrastructure of any size: from one server to a whole network of interconnected virtual machines. The cost directly depends on the capacity of the leased equipment, and the lease term can be either a day or an hour. Such flexibility allows freelancers 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 the “ Object storage ” service, with its help clients can store an almost unlimited amount of data. These can be either backup copies of files, or static contents of websites or recordings of video surveillance systems (if, for example, you are working on creating security systems).

    3. Remote access: in case the house “turned off the light”

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

    At the end of January, one of the LKML hosting resources - - was not available . The server on which the site was located was at home with the project developer Jasper Spaans. When Jasper was on vacation, his house turned off the lights, and due to a power surge, the server motherboard burned out. Therefore hecould not 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 is highly available - 99.9% or more. At the same time, providers, including 1cloud, offer monetary compensation in case of violation of the stated availability indicators and SLA requirements .

    Moreover, the IaaS provider can provide several options for remote access in case one of them is inoperative. Recently, Microsoft announced the discovery of vulnerabilities in the Remote Desktop Protocol (RDP). The company issued a “patch”, but it blocks access to a 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 the non-updated RDP client.

    To resolve such situations, 1cloud provides the ability to access servers through 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 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 error or system failure leads to data loss. Last year, one of the Reddit residents shared a story and told how, as a junior developer, he accidentally deleted a database in the production environment on the first day of his work. It turned out that backups for this database were not restored.

    Such a 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 configure backups, which are "sent" to several different places at the same time. Maintaining such a system on your own is expensive and time-consuming, plus it distracts from development.

    Cloud IaaS providers in this case help to solve these problems. They free the programmer from the need to configure backups on their own - just specify the depth of storage of copies. In 1cloud, for example , the backup storage depth setting is a multiple of 7 days. The backup itself is performed daily on a geographically remote disk array.

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

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

    In such circumstances, a freelance developer is increasingly forced to interact with existing programmers on the client’s staff. The cloud also helps to simplify collaboration, acting as a kind of intermediary. The workspace in the cloud is centralized, so it’s easy to make it public. Such a construction of work processes takes to a new level such practices as pair programming and continuous integration.

    In a functional sense, virtual resources do not differ from “iron” at home or in the office, however, if necessary, they allow flexible control of computing power. As a result, a freelancer can solve a wide range of tasks that arise during development: from stress testing to cloud data storage.

    PS Earlier we talked about how companies can save money in the cloud, and what difficulties IaaS provider helps web studios and 1C franchisees cope with.

    Also popular now: