Рубрики
Uncategorized

Почему разработчики должны изучать операции

Обсуждая, почему разработчики должны изучать облачные операции. Теги с карьерой, DevOps, AWS.

Год назад я никогда не догадался, насколько знакомым я стал с AWS и операциями в этот момент вовремя. В прошлом году протяженность моего знания AWS добавила фотографии в ведро S3, следуя указаниям для класса в колледже. Я даже не полностью понял, что было, то, что я делал, или власть за обслуживанием, которую я только что воспользовался. С тех пор я создал, развернутые и обслуживаемые безсетесовыми API, приложениями переднего кода, PiCD-трубопроводы и приложения Analytics, использующие AWS. Я не только узнал о грунтовых операциях, но я также узнал, как я должен написать код, который лучше подходит для облачных приложений.

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

Как можно, чтобы кто-нибудь мог изучать операции

Старый (но, к сожалению, все еще использовал) способ организации команд для создания программного приложения — разделить проект на две основные области технологии, разработки программного обеспечения и операции. Разработка программного обеспечения — это то, что мне нравится и в конечном итоге хочется провести большую часть своего времени. Разработчики пишут код, который дает машины для построенной логики и процессов и процессов. Другая сторона монеты — это операции, которая управляет инфраструктурой, на которой развернут программное приложение. Когда я впервые узнал об этих двух сторонах, я изобразил две разные стереотипы в моей голове; Разработчики программного обеспечения были прохладными, хип, типы силиконовых долин, которые пили кофе весь день и кодируют на Mac, покрытые на наклейки, в то время как операционные боковые были перемещены менеджерами Mainframe или Sysadmins, которые работали на старых рабочих столах. Я был совершенно неправильным. У меня было это изображение в моей голове, потому что я боялся глубокой тьмы операций. Я слышал, что операции не было полностью хорошо задокументированным полевым полем, которое ознакомило скрипты Cryptic Shell и низкоуровневые команды. В то время как некоторые компании могут по-прежнему запускать свои инженерные команды таким образом, теперь я знаю, что дни этих жутких углов заполненных паутинами в Интернете не нужно больше существовать.

Приходите облачные поставщики: AWS, GCP, Azure, Digitalocean и множество других. На мой взгляд, поставщики облаков были единственным способом перемещения инфраструктурных и операционных команд в более новую, более быструю среду. Больше не нужно, чтобы компания не должна поддерживать центр обработки данных. Больше не нужно покупать и обновить оборудование. Больше не существует невероятных племенных знаний в операционных командах инженерной организации. Облачные провайдеры вымывают все это и делают инфраструктуру самообслуживания и легко. Сдвигая ответственность на компанию, целью которой и специализация — это операции, тонны времени освобождаются. Существует не только дополнительное время, но сейчас есть также легкий барьер для входа, так как кусок операций может быть расстраивается. Вот почему мы постоянно считаем все больше и больше ответственности в облачный провайдер (серверы -> ВМ -> IAAS -> PAAS -> FAAS); Им легче управлять, потому что они специализируются на нем, и не каждый хочет иметь дело с этим. Тонны решений могут быть достаточно универсальными, которые все еще соответствуют законопроекту для большинства инженерных команд. С этим нижним барьером к входу и меньшим кривой обучения, теперь ответственность управлять инфраструктурой может быть предоставлена той же командой, которая разрабатывает программное обеспечение. И когда я говорю «Управляющая инфраструктура», я имею в виду настройку этой инфраструктуры с момента управления фактическим оборудованием является работой облачных провайдеров.

Еще одним преимуществом перемещения всего до облака является то, что документация больше не является внутренней катастрофой. Вы использовали документацию AWS? Есть много документации. Примеры архитектуры, вызовы API, шаблоны облака. Кажется, все, что кто-то может когда-либо хотеть сделать, уже сделано и задокументировано. Я вижу это только как позитивное, потому что он дает более новым пользователям точка справки и передает лучшие практики. Я посмотрел на кучу документации, когда я впервые начал с AWS. Я не знал, что я делал, и никто не помогал мне учиться, кроме мелких людей Интернета. Сумма, которую я узнал, был огромным и важно. То, что я могу сделать за несколько дней с AWS привлек целую организацию такое же количество времени с меньшей стабильностью в конечном продукте. Неудивительно инженерные организации хотят переехать в облако с методологией DevOps.

Облачные провайдеры дают удивительную силу своих пользователей и приложений примирителей, а архитектуры, которые используются и придуманы, постоянно меняются, чтобы лучше использовать быструю, простому, Pay-People Cloud-Rentric. Без поставщиков облачных услуг способствуют выгодным предприятиям, сделайте услугами, удобными для пользователя и постоянно улучшаются при процессах, предоставляя разработчикам возможность воспользоваться этой большой мощью. Сдвигая ответственность за управление центром обработки данных от многочисленных компаний с различными уровнями владения, облачные поставщики могут сосредоточиться на том, что они делают лучше всего, в то время как их клиенты могут сосредоточиться на здании с результатом тонко настроенных центров обработки данных. С легкостью прядиться и разрывая облачную инфраструктуру, компании могут двигаться быстрее, когда речь идет о создании доказательств концепции и MVPS, а также экономика масштаба также позволяет облачными вычислениями стать дешевлеми. Я думаю, что огромная часть перехода к облачным вычислениям — дружелюбие пользователей. Есть партии в Интернете, говоря, что поставщики, такие как AWS, слишком велики, и слишком сложно учиться, но если вы бросите себя в огонь (вроде бы я), то учить AWS не невозможно, так как некоторые могут заставить вас думать. Как я уже сказал, в документации есть, и есть бесчисленные видео и курсы, которые существуют, чтобы научить людей, как работать с облачными поставщиками. Я даже начал пытаться сделать видео о здании с AWS. Если бы было нелегко, то люди не будут использовать его. Барьер для въезда с точки зрения затрат также ниже, что означает, что любой может создавать услуги за меньшие деньги и с меньшим количеством знаний о базовых технологиях (не то чтобы вы не должны исследовать эти основные технологии), чем раньше. Наконец, облачные поставщики могут улучшить свои процессы, чтобы сделать облачный опыт намного лучше. Более высокие ustimes, более полезные услуги, очистительную документацию; Это некоторые из преимуществ, которые мы пожинаем, когда мы несем ответственность сдвигаются на тех, кто делает работу лучше всего.

Власть за изучением операций как разработчик

Если дерево падает в лес, и никто не собирается слышать, что он делает звук? В той же вене, если разработчик записывает приложение и никогда не разворачивает его, приложение когда-либо существовало?

Вот где мы добираемся до настоящей причины, почему я пишу этот пост. Я в течение последних четырех лет я был в работе и вне деятельности по операциям в течение последних четырех лет как инженер-сетевой инженер, а теперь как инженер по программному обеспечению неполный рабочий день и неполный рабочий стол (или все, что я буду звонить). Меня удивило, как быстро разработчики просто оставили операции кому-то еще. Когда я пишу приложение, я хочу поделиться этим с другими, и если я смогу развернуть это приложение, я могу легко достичь людей. Продолжается во всем сейчас — это либо веб-приложение, либо что-то, что поддерживает веб-приложение. Если разработчик создает приложение и не может развернуть его, потребителям, которые левые — это те, которые находят репозиторий GitHUB и решите построить из источника. Аудитория ограничена в этом случае. Если этот разработчик мог развернуть его приложение, тогда потребители станут любому, кто имеет веб-браузер. Потенциальная аудитория резко увеличивается у всех с доступом в Интернет после того, как это приложение может быть развернуто и подано. Конечно, развертывание чего-то является лишь одна часть к головоломки.

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

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

Оригинал: «https://dev.to/thomasstep/why-developers-should-learn-operations-ao5»