Разработчики и облачная IaaS: почему разработчикам следует создавать собственную облачную инфраструктуру

Разработчики и облачная IaaS: почему разработчикам следует создавать собственную облачную инфраструктуру

21 апреля 2022 г.

Я думал, что серверы предназначены для системных администраторов


Я не гуру Linux. Я внес свой вклад в разработку Linux, используя его и в качестве среды разработки, и в качестве цели развертывания.


Тем не менее, я до сих пор не решаюсь назвать себя кем-либо, кроме как новичком в отношении каких-либо деталей системного уровня Linux — таких вещей, как файловые системы, управление памятью, сеть, безопасность и т. д.


Я всегда считал, что разработчики приложений не должны беспокоиться об этих вещах, особенно когда все, что они хотят делать, это создавать и запускать приложения. Когда я начал работать в облаке, мой первый опыт был связан с платформой как услугой (PaaS) и бессерверным пространством.


Этот опыт еще больше укрепил мое мнение о том, что такие вещи, как серверы, виртуальные машины и весь механизм инфраструктуры как услуги (IaaS), были старой школой и предназначались для переноса устаревших рабочих нагрузок (в основном корпоративных) на облако.


Я считал, что «разработчикам» наплевать на IaaS. Я даже написал об этом в этой статье и затем с еще несколькими уточненными мыслями позже  [здесь] (https://ramansharma.substack.com/p/multiple-stops-on-the-cloud-compute-continuum-all-with-their-own-merits-6b921ed82f2).


Однако теперь я убедился, что облачные серверы для разработчиков — это реальная вещь.


«Разработчик» означает не только «программист»


Поначалу меня очень смущал один момент — разве разработчики не используют инфраструктуру только как средство для достижения цели?



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


Да, и еще, лучше, чтобы он не был у вас под столом, и неважно, настоящий ли это ящик или просто терминал, доступный вам через какое-то волшебство виртуализации.


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


Некоторые (из многих) причины запуска облачных серверов


Здесь я попытаюсь перечислить несколько причин, по которым я считаю, что всем разработчикам, независимо от фокуса — система, серверная часть, внешний интерфейс, обучение и т. д. — следует подумать о развертывании собственных облачных серверов.


  • Запуск приложений: это самый очевидный вариант. Если вам нужна среда, объединяющая вычислительные ресурсы (виртуальная машина), сеть (некоторая пропускная способность) и хранилище (локальный диск, подключенный к виртуальной машине) для запуска ваших приложений, то облачные серверы — идеальное решение для этого. В наши дни многие поставщики облачных услуг предлагают образы виртуальных машин, которые поставляются предварительно упакованными со стеками приложений и базовой операционной системой. Примерами являются LAMP, LEMP, NodeJS, Django, Laravel и т. д. Все, что вам нужно сделать, это создать экземпляр этих образов виртуальных машин и развернуть там код вашего приложения.

  • Запускать облачные среды разработки: Честно говоря, если мне нужно заняться разработкой, я предпочитаю делать это на мощном локальном компьютере (например, на мощном ноутбуке), но время от времени я чувствую что мне нужна среда разработки, к которой я мог бы получить доступ с чего-то вроде iPad. Я слышал, что дети в наши дни делают это довольно часто. Иметь полную копию Visual Studio Code (кому не нравится эта жемчужина IDE) в облаке и доступную через веб-браузер — звучит забавно. Не так ли?

  • Запустите собственную альтернативу Slack: Какой разработчик не любит использовать вариант с открытым исходным кодом для популярного приложения просто для развлечения? Вероятно, многие. Но если вам нравится возиться, вы можете удовлетворить свое желание чем-то вроде MatterMost.

  • Запустите свою собственную альтернативу Zoom: Ну да, зачем ограничиваться одним типом программного обеспечения для совместной работы/коммуникации, когда вы можете заменить два? Идеальное время, чтобы попробовать и потенциально внести свой вклад в достойную альтернативу с открытым исходным кодом для видеоконференций, такую ​​​​как Jitsi.

  • Запустите свой собственный VPN: я никогда не знал, насколько люди заботятся об этом, пока не пришли в DigitalOcean. Судя по всему, запуск собственного VPN-сервера — это круто среди разработчиков.

  • Ведите свой собственный блог : В Интернете есть много комментариев о владении вашим контентом в… э-э.. Интернете — Как «управляемый блог» может когда-нибудь исчезнуть или, что еще хуже, не будет способствовать тому, чтобы вы получали выгоду от популярность вашего контента. Ведение собственного блога на WordPress или Ghost может стать ответом.

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


Также опубликовано здесь



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE