- PVSM.RU - https://www.pvsm.ru -

Как IaaS помогает программистам-фрилансерам: опыт 1cloud

По данным глобального опроса [1] Payoneer, программисты-фрилансеры зарабатывают больше многих других специалистов, работающих «на удаленке». Достаточно вспомнить историю [2] бывшего инженера Google Джеймса Найта (James Knight). После ухода из компании 27-летний девелопер смог увеличить свой заработок вдвое, параллельно путешествуя с женой по Европе.

Фриланс постепенно становится не просто «символом дауншифтинга» — разработчики-фрилансеры зарабатывают не хуже своих коллег из корпораций, зачастую работая с большим комфортом. Но популярность этого формата приводит к растущей конкуренции среди самих фрилансеров — к примеру, на фриланс-бирже Toptal.com отбор проходят лишь 3% [3] кандидатов.

Чтобы соответствовать предъявляемым требованиям и пройти конкурс, нужно не только иметь голову на плечах, но и пользоваться современными технологиями, упрощающими разработку.

Одной из таких технологий является IaaS.

Как IaaS помогает программистам-фрилансерам: опыт 1cloud - 1 [4]
/ Flickr / Wall Boat [5] / PD

1. Тестирование в облаке: качественный QA позволяет не потерять клиентов

По данным [6] исследования компании AppDynamics, занимающейся APM-технологиями [7], 90% пользователей перестают работать с приложениями из-за технических сбоев. Поэтому тестирование ПО является критически важной частью работы разработчика.

Так как у фрилансера регулярно появляются новые заказчики, для тестов разработчикам приходится каждый раз создавать «чистую» систему, предельно схожую с целевой системой клиента. Это позволяет проверить приложение в «боевых условиях», поскольку нет гарантий, что продукт будет работать везде, если он заработал на компьютере девелопера. Для этого порой приходится перебирать различные комбинации аппаратного и программного обеспечения, на что тратится много времени и денег.

Помочь с решением этой проблемы способен IaaS-провайдер, который дает возможность быстро развернуть необходимую тестовую среду. Технический специалист и резидент Quora Спенсер Грин (Spencer H. Greene), например, отмечает [8], что нагрузочное тестирование приложений в системе, которая один в один повторяет целевую, позволяет наиболее точно оценить их «работоспособность».

Используя конфигуратор 1cloud, пользователи могут «поднять [9]» виртуальный сервер за 2 минуты. В этом случае разработчику нужно лишь выбрать интересующую его конфигурацию в панели управления. Далее он может сосредоточиться на тестировании и отладке приложений.

Помимо упрощения конфигурации аппаратной и программной сред, облако также позволяет имитировать критические сценарии, недоступные в обычном тестовом окружении. Речь идет о сценариях аварийного восстановления работы сервера или, например, скачках трафика.

Согласно исследованию [10] Gartner, в 2015 году уже 80% организаций в той или иной степени задействовали облачные структуры для своих проектов. Разработка и тестирование в облаке постепенно становятся [11] естественной практикой в ИТ-индустрии, а потому скоро могут стать стандартом и для фрилансеров.

2. Масштабирование: когда клиентом становится крупная компания

Непредсказуемость в работе — это характеристика фриланса в целом. Приходится быстро подстраиваться под требования каждого клиента. При разработке простого приложения для конкретной ОС достаточно и одной виртуальной машины, но что делать, если стоит задача разработать веб-клиент для крупной структуры?

Одним из плюсов IaaS-провайдеров является гибкость предоставляемых услуг. Разработчики могут арендовать облачную инфраструктуру любого размера: от одного сервера до целой сети связанных между собой виртуальных машин. Стоимость напрямую зависит от мощностей арендуемого оборудования, а срок аренды может составлять как день, так и час. Такая гибкость позволяет фрилансеру экономить на инфраструктуре и платить за вычислительные ресурсы только тогда, когда они нужны для работы.

IaaS-провайдеры также предоставляют дополнительные сервисы, которые могут помочь разработчику еще лучше адаптироваться под конкретную задачу. Например, в 1cloud существует услуга «Объектное хранилище [12]», с её помощью клиенты могут хранить практически неограниченное количество данных. Это могут быть как резервные копии файлов, так и статическое содержание веб-сайтов или записи систем видеонаблюдения (если вы, например, работаете над созданием систем обеспечения безопасности).

3. Удаленный доступ: на случай, если дома «отключили свет»

Возможность работать из любой точки мира — одна из самых приятных особенностей фриланса. Однако даже потратив время на организацию удаленного доступа к своей системе, программист вынужден следить за ее бесперебойной работой. Из-за возможных отключений электричества программист-фрилансер не всегда может надолго покидать дом. Да, существуют решения, которые в случае чего позволяют перезагрузить систему удаленно, однако даже они могут не помочь.

В конце января один из хостинг-ресурсов LKML [13] — LKML.org — оказался недоступен [14]. Сервер, на котором размещался сайт, стоял дома у разработчика проекта Джаспера Спаанса (Jasper Spaans). Когда Джаспер находился в отпуске, у него дома отключили свет, и из-за скачка напряжения материнская плата сервера сгорела. Поэтому он не смог [15] подключиться удаленно и поднять сайт.

Избежать подобной ситуации помогают IaaS-провайдеры, которые предоставляют круглосуточный доступ к своей инфраструктуре. В таком решении есть несколько преимуществ:

  1. Разработчик не тратит время на настройку защищенного удаленного доступа.
  2. Инфраструктура облачного провайдера обладает высокой доступностью — 99,9% и более. При этом провайдеры, в том числе и 1cloud, предлагают денежную компенсацию в случае нарушения заявленных показателей доступности и требований SLA [16].

Причем IaaS-провайдер может обеспечить несколько вариантов удаленного доступа на случай неработоспособности одного из них. Недавно Microsoft заявили об обнаружении уязвимости в протоколе удаленного рабочего стола [17] (RDP). Компания выпустила «заплатку», однако она блокирует доступ к системе, на которой патч не был установлен. При этом справедливо и обратное — обновлённая операционная система «отказывается» показывать свой рабочий стол не обновлённому RDP-клиенту.

Для разрешения подобных ситуаций в 1cloud предусмотрена возможность [17] заходить на серверы через веб-консоль. Она отображает экран сервера даже в том случае, если другими средствами подключиться к «машине» не удаётся.

К слову сказать, после инцидента с отключением электричества Джаспер Спаанс также перенес LKML.org на облачный хостинг [18].

Как IaaS помогает программистам-фрилансерам: опыт 1cloud - 2
/ Flickr / Seeweb [19] / CC BY-SA [20]

4. Защита данных: бэкапы сохраняют время и нервы

Порой даже крупные компании сталкиваются с ситуацией, когда чья-то ошибка или системный сбой приводит к потере данных. В прошлом году один из резидентов Reddit поделился [21] историей и рассказал, как он, будучи младшим разработчиком, случайно удалил базу данных в продакшн-среде в первый же день своей работы. При этом выяснилось, что бэкапы для этой БД не восстанавливались.

Такая ситуация — кошмар для любого девелопера, особенно для разработчика-фрилансера, которому важно поддерживать свою репутацию на конкурентном рынке. Чтобы обезопасить себя, программисты-фрилансеры закупают сетевые хранилища и настраивают бэкапы, которые «отправляются» в несколько разных мест одновременно. Самостоятельно поддерживать такую систему дорого и времязатратно, плюс это отвлекает от разработки.

Облачные IaaS-провайдеры в данном случае помогают решить эти проблемы. Они освобождают программиста от необходимости настраивать бэкапы самостоятельно — достаточно указать глубину хранения копий. В 1cloud, например [22], параметр глубины хранения резервных копий кратен 7 дням. Само же резервное копирование выполняется ежедневно на территориально удаленный дисковый массив.

5. Коллаборация: если нужно работать над одним проектом в команде

Согласно исследованию [23] Intuit, к 2020 году в США фрилансеры составят 40% рабочего населения. Малые бизнесы будут формировать целые сети фрилансеров, нанимая «удаленых специалистов» из самых разных сфер. В то же время 80% больших корпораций планируют [23] значительно увеличить использование нештатной рабочей силы.

В таких условиях разработчику-фрилансеру все чаще приходится взаимодействовать с уже имеющимися в штате клиента программистами. Упростить коллаборацию также помогает облако, выступая в роли своеобразного посредника. Рабочее пространство в облаке централизованно, потому его легко сделать общедоступным. Подобное построение рабочих процессов выводит на новый уровень такие практики, как парное программирование и непрерывная интеграция.

В функциональном смысле виртуальные ресурсы не отличаются [24] от «железных» дома или в офисе, однако при необходимости позволяют гибко управлять вычислительными мощностями. В результате фрилансер может решать широкий спектр задач, которые возникают во время разработки: от нагрузочного тестирования до облачного хранения данных.

P.S. Ранее мы рассказывали, как компании сэкономить [25] деньги в облаке, и c какими трудностями веб-студий [26] и франчайзи «1С» [27] помогает справиться IaaS-провайдер.

Автор: 1cloud

Источник [28]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/gtd/278424

Ссылки в тексте:

[1] опроса: https://www.payoneer.com/downloads/freelancer-income-report-2018.pdf

[2] историю: https://www.bloomberg.com/news/articles/2016-01-19/why-an-ex-google-coder-makes-twice-as-much-freelancing

[3] 3%: http://www.toptal.com/top-3-percent#consider-unrivaled-developers

[4] Image: https://habrahabr.ru/company/1cloud/blog/353992/

[5] Wall Boat: https://www.flickr.com/photos/wallboat/36819065315/

[6] данным: http://www.apmdigest.com/nearly-90-percent-surveyed-stop-using-apps-due-to-poor-performance

[7] APM-технологиями: https://en.wikipedia.org/wiki/Application_performance_management

[8] отмечает: https://www.quora.com/How-do-you-load-test-a-web-application

[9] поднять: https://1cloud.ru/services/vps-vds?utm_source=habrahabr&utm_medium=cpm&utm_campaign=freelance&utm_content=site

[10] исследованию: https://www.gartner.com/id=2098416

[11] становятся: https://techcrunch.com/2016/09/03/the-death-of-localhost-and-the-rise-of-cloud-development/

[12] Объектное хранилище: https://1cloud.ru/news/obektnoe-hranilishche-dannyh?utm_source=habrahabr&utm_medium=cpm&utm_campaign=freelance&utm_content=site

[13] LKML: https://en.wikipedia.org/wiki/Linux_kernel_mailing_list

[14] недоступен: https://habrahabr.ru/company/1cloud/blog/347314/

[15] не смог: https://twitter.com/spaans/status/951129383414222850

[16] SLA: https://1cloud.ru/conditions/sla?utm_source=habrahabr&utm_medium=cpm&utm_campaign=freelance&utm_content=site

[17] протоколе удаленного рабочего стола: https://1cloud.ru/news/rdp-mojet-perestat-rabotat?utm_source=habrahabr&utm_medium=cpm&utm_campaign=freelance&utm_content=site

[18] хостинг: https://www.reg.ru/?rlink=reflink-717

[19] Seeweb: https://www.flickr.com/photos/seeweb/8096485855

[20] CC BY-SA: https://creativecommons.org/licenses/by-sa/2.0/

[21] поделился: https://www.reddit.com/r/cscareerquestions/comments/6ez8ag/accidentally_destroyed_production_database_on/

[22] например: https://1cloud.ru/help/backup/backup_overview?utm_source=habrahabr&utm_medium=cpm&utm_campaign=freelance&utm_content=site

[23] исследованию: http://http-download.intuit.com/http.intuit/CMO/intuit/futureofsmallbusiness/intuit_2020_report.pdf

[24] не отличаются: https://1cloud.ru/blog/rabochee-mesto-programmista-v-oblake?utm_source=habrahabr&utm_medium=cpm&utm_campaign=freelance&utm_content=site

[25] компании сэкономить: https://zen.yandex.ru/media/id/5a8d66d828c6a1237a7f54ce/kak-kompanii-sekonomit-dengi-v-oblake-5aafa6f79e29a20ea35262a5

[26] веб-студий: https://habrahabr.ru/company/1cloud/blog/341866/

[27] франчайзи «1С»: https://zen.yandex.ru/media/id/5a8d66d828c6a1237a7f54ce/lichnyi-opyt-chto-iaasprovaider-mojet-predlojit-franchaizi-1s-5a90507248c85e4fe5f18ce1

[28] Источник: https://habrahabr.ru/post/353992/?utm_source=habrahabr&utm_medium=rss&utm_campaign=353992