*Текстът е предоставен от StorPool Storage
StorPool е ултра бърза и лесна за управление софтуерна платформа за съхранение на данни в облачна среда. Тя гарантира надеждност, гъвкавост, скорост и рентабилност. Платформата се разработва от българската компания StorPool Storage. Сферата, в която компанията работи, е уникална за България. Повече от десетилетие екипът им изгражда и подобрява своята технология за съхранение на данни и управляваните от тях услуги. Днес компанията предоставя софтуерното си решение за съхранение на данни на дейта центрове в над 30 страни по света.
Какво е block storage?
Block storage е технологията, с която работи StorPool. Тя се използва за съхраняване на данни в облачна среда. Данните се разделят на блокове, които се съхраняват като отделни части, всяка с уникален идентификатор. Тези блокове се разполагат там, където е най-ефективно, в цялата система от сървъри, управлявана от StorPool.
Освен съхранението на ниво блок, се използват object storage и file storage. Въпреки еднаквата им крайна цел – да предоставят данни на потребителите и приложенията, при всеки от методите данните се съхраняват и извличат по различен начин.
Object storage разделя файловете с данни на части, наречени обекти, след което ги съхранява в едно хранилище, което може да бъде разпръснато в множество мрежови системи. Всеки обект получава уникален идентификатор, който се ползва за идентифициране на обекта, и всеки обект пази метаданни – информация за файловете, съхранявани в обекта. А file storage не се отличава от начина, по който се съхраняват данните на настолния ви компютър.
Как работи решението на StorPool?
StorPool е сред най-бързите софтуерни решения за block storage на пазара. Работи на стандартни x86 сървъри, като ги превръща във високопроизводителни и много достъпни виртуални масиви за съхранение. Разработен е, за да помогне за ефективното изграждане на облачни среди и елиминира необходимостта от скъпи и неефективни самостоятелни масиви за съхранение.
Какви работни позиции има в тази област?
Работните позиции в сферата са за хора, готови да учат цял живот, които не се страхуват от ежедневни предизвикателства. Хора с амбиции за развитие, страст към работата и отдаденост.
C Core Developer
В идеалния случай вие сте ентусиаст, който е написал собствен език и компилатор или собствена файлова система. Създали сте своя собствена операционна система, работеща на реален хардуер или имате принос за „инфраструктурен“ софтуерен проект като ядрото на Linux, Qemu/Libvirt, glibc, musl или подобен. Имате опит с проекти в областта на обработката на пакети, компилатори, хардуерна емулация и виртуализация или друг, подобен на горните примери.
Задачите на човека, който заема тази позиция в StorPool, включват работа върху ядрото на продукта, дебъгване, работа върху неговата оперативна съвместимост с хардуер, мрежи и мрежови топологии. Поради високата сложност на повечето задачи, трябва да сте изключително внимателни към детайла, тъй като работите с ядрото на продукта, от което зависи всичко останало.
Python/Rust Developer
Python/Rust Developer е човекът, който помага в поддръжката и внедряването на поддържащи инструменти и услуги. Хората на тази позиция се занимават и с реимплементиране на съществуващите Perl/Python инструменти и услуги в Rust, когато е необходимо.
Освен опитът с разработването на подобни услуги, вниманието към детайла и уменията за решаване на сложни проблеми, ще ви бъде особено полезно да разбирате как работят алгоритмите и операционните системи, както и да имате опит с CLI и с администрирането на Linux. За хората в екипа на StorPool е задължително владеенето на поне два от езиците: Python (особено Python 3), Rust, Perl, POSIX/Bash shell скрипт, PHP. Идеално би било да имате и опит с мреожва администрация и/или C.
Linux системен администратор
Освен силна мотивация за работа, са ви необходими умения в Unix система с shell CLI, например bash. Нужно е също да се ориентирате свободно във файловата система на Unix, да можете да инсталирате, актуализирате и премахвате пакети с пакетни системи като yum и apt, да управлявате дълготрайни процеси със systemd и да можете да боравите с елементи на мрежовата конфигурация като IP адрес, default gateway адрес и адрес на DNS сървър.
Предимства за подобен тип позиция са уменията за писане на скриптове в Python и/или Bash; поддържане на уеб сървър, RDMS (MySQL, PostgreSQL), сървър за игри или друг подобен; обслужване на сигнали от системата за мониторинг и действие по съответния начин; управление на виртуални машини с VirtualBox или негов еквивалент; работа със системи за оркестрация, напр. OpenNebula, OpenStack, CloudStack.
В задачите на системния администратор в StorPool влизат установяване и настройка на системи за съхранение на данни и внедрявания в облачна среда; осигуряване на техническа поддръжка; анализ и отстраняване на проблеми със системите за съхранение, мрежи и сървъри, работещи с Linux; дебъгване на shell скриптове; анализ на сигналите от системите за наблюдение и предприемане на съответните действия; участие в създаването и поддържането на актуална и надеждна база с документация; валидиране на нов хардуер при внедряване на StorPool.
Full-Stack Developer
В StorPool човекът на тази позиция се занимава с внедряване, доработване и поддръжка на графичния потребителски интерфейс (GUI) на продукта, както и на техния вътрешен инструмент, използван за таксуването на клиентите.
За да работите като Full-Stack Developer, са ви необходими опит в разработването на услуги, внимание към детайла и умения за решаване на проблеми. Също така, трябва да разбирате концепциите в работата на операционните системи, да имате опит като администратор, както и опит с Linux CLI и владеене на съвременен JavaScript (ES6+), React.js, Python и Django.
Automation Engineer
Отговорностите на Automation Engineer в StorPool са близки до тези на QA специалистите в други компании, които разработват софтуерни продукти: работа по инструментите ни за поддръжка; проектиране и внедряване на нови инструменти, услуги и интеграции; дебъгване на инструменти и услуги, които вече са в production; планиране и извършване на подобрения във всички съществуващи инструменти за автоматизация и отстраняване на грешки, които компанията използва в работата си.
Изискванията към кандидатите за позицията са да имат опит със скриптове за автоматизация; добро разбиране на Git; владеене на поне два от от езиците Python; Rust; Shell script; C; Perl; PHP. Полезно е и наличието на опит със CI/CD работни процеси, както и опит с DevOps, администриране на Linux и Kubernetes, Terraform, Openstack и/или Ansible.
След всичко прочетено вероятно сами стигнахте до заключението, че професионалната пътека в тази област е комбинация от постоянство, упоритост, търпение, концентрация, но и солидна доза свобода и възможност за креативност. Ако сте се насочили към специфичната сфера на работа на StorPool и имате само част от гореописания опит, това не бива да ви спира да кандидатствате. Екипът им постоянно развива и надгражда своите умения и вие също ще имате тази възможност.