Хабрахабр

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

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

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

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

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


/ Flickr / Wall Boat / PD

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


/ Flickr / Seeweb / CC BY-SA

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

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

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

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

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

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

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

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

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть