AWS Notes
5.6K subscribers
445 photos
42 videos
10 files
2.8K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://xn--r1a.website/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
«You Build It, You Run It» vs «Девопс-инженер – суровая правда жизни»

Умные люди здесь жарко дискутировали на сотню комментариев, что же правильней-реальней.

▪️ Точка зрения 1. DevOps — это (отдельный) человек (девопс-инженер или несколько, команда, несколько команд), который занимается CI/CD процессом.

▪️ Точка зрения 2. DevOps — это подход «You Build It, You Run It».

Кроме этого, конечно, к обоим можно добавить, что это культура, набор лучших практик и так далее.

Однако главный вопрос: девопс — это отдельные специально обученный человек (люди), который(-е) "делают девопс" или же при таком подходе это лишнее звено. А в "правильном варианте" практики девопса воплощают разные члены команды, в первую очередь сами разработчики (кто разрабатывает, тот же деплоит, обновляет, мониторит и так далее).

Я (категорически) придерживаюсь варианта «You Build It, You Run It», понимая, что в «обычном случае» это не так. Однако считаю, что нужно добавить "пока" плюс, опять же, всегда правильно помнить и напоминать, как оно должно быть.

Поделитесь, пожалуйста, своим взглядом на эту проблему («You Build It, You Run It — this is real DevOps») в комментариях.

⁉️ Опрос «DevOps — это (отдельный) человек (люди)» vs «You Build It, You Run It».

#devops
DevOps и business playbook (или company playbook)

Тема DevOps выходит за рамки одного человека и связана с работой команд/проектов и в целом организации процессов в компании. В результате при внедрении DevOps практик/культуры всегда возникают проблемы — а что имеется в виду? А почему нужно это перестать делать, то выбросить, а такое делать именно так — кто сказал, что так правильно? А какие есть варианты, как это может быть реализовано с учётом нашей специфики — в нашей компании, нашего размера и стиля работы?

И действительно, а где посмотреть на примеры организиции процессов в IT компаниях — то, что выше и более общее, чем написание скриптов? Где взять аргументы в споре, почему неправильно не только деплоить на прод в пятницу вечером, но и вообще, как организовать эффективное взаимодействие при возникшем удалённом режиме работы?

Ответ есть — playbooks. Не которые ansible playbooks (из-за которых их так сложно нагуглить), а business (company) playbooks — открытые публичные описания, как устроены процессы внутри каких-то компаний.

Например, ваша компания перешла на удалённый режим работы и есть проблемы с выстраиванием взаимодействия (а они есть вне всяких сомнений) — обязательно почитайте GitLab playbook:

▫️ https://about.gitlab.com/company/culture/all-remote/
▫️ https://about.gitlab.com/handbook/

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

Другой исключительно детальный и объёмный playbook от Microsoft:

▪️ https://microsoft.github.io/code-with-engineering-playbook/

Отличное чтиво, однозначно рекомендуется ознакомиться, т.к. это и есть набор best practices, что суть DevOps.

В дополнение некоторый список от других известных и не очень компаний:

🔹 https://www.atlassian.com/team-playbook
🔹 https://heap.io/resources
🔹 https://www.timble.net/playbook/
🔹 https://thoughtbot.com/playbook
🔹 https://www.kohactive.com/playbook/
🔹 https://www.fullstacklabs.co/playbook

А у вашей компании есть свой playbook? Используете ли подобные практики для улучшения DevOps в своей компании?

#devops #design
​​DevOps Guru для всей организации:

https://aws.amazon.com/ru/about-aws/whats-new/2021/11/amazon-devops-guru-multi-account-insight-aws-organizations/

Теперь можно выдать в девопс-аккаунте права для работы DevOps Guru со всей организацией (Delegated Administrator). С учётом того, что DevOps Guru стал поддерживать ещё больше EKS Insights метрик, то получается солидный инструмент.

Не вместо девопса, понятно – это больше для броского словца, но весьма полезный инструмент для девопса. Может быть дорогой, но хипстерский крутой и полезный. 😀

#DevOpsGuru #Organizations #devops
​​CI/CD best practices — AWS Whitepaper «Practicing Continuous Integration and Continuous Delivery on AWS»:

https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/testing-stages-in-continuous-integration-and-continuous-delivery.html

90% рекомендаций не привязаны к AWS, потому полезны для подавляющего большинства проектов/команд.

👍Do:
▪️ Treat your infrastructure as code
▫️▪️ Use version control for your infrastructure code.
▫️▪️ Make use of bug tracking/ticketing systems.
▫️▪️ Have peers review changes before applying them.
▫️▪️ Establish infrastructure code patterns/designs.
▫️▪️ Test infrastructure changes like code changes.
▪️ Put developers into integrated teams of no more than 12 self-sustaining members.
▪️ Have all developers commit code to the main trunk frequently, with no long-running feature branches.
▪️ Consistently adopt a build system such as Maven or Gradle across your organization and standardize builds.
▪️ Have developers build unit tests toward 100% coverage of the code base.
▪️ Ensure that unit tests are 70% of the overall testing in duration, number, and scope.
▪️ Ensure that unit tests are up-to-date and not neglected. Unit test failures should be fixed, not bypassed.
▪️ Treat your continuous delivery configuration as code.
▪️ Establish role-based security controls (that is, who can do what and when).
▫️▪️ Monitor/track every resource possible.
▫️▪️ Alert on services, availability, and response times.
▫️▪️ Capture, learn, and improve.
▫️▪️ Share access with everyone on the team.
▫️▪️ Plan metrics and monitoring into the lifecycle.
▪️ Keep and track standard metrics.
▫️▪️ Number of builds.
▫️▪️ Number of deployments.
▫️▪️ Average time for changes to reach production.
▫️▪️ Average time from first pipeline stage to each stage.
▫️▪️ Number of changes reaching production.
▫️▪️ Average build time.
▪️ Use multiple distinct pipelines for each branch and team.

👎Don’t:
▪️ Have long-running branches with large complicated merges.
▪️ Have manual tests.
▪️ Have manual approval processes, gates, code reviews, and security reviews.


#devops #best_practices
Forwarded from Mops DevOps
Результаты ежегодного исследования
Состояние DevOps в России 2021

👉 скачать отчет

👉 запись вебинара

#devops
​​Reminder, AWS Tech Conference June 30 Online, and great news - now with Dr. Werner Vogels himself!

Hey there! With our friends from AWS User Group, we want to invite you to a special AWS Tech Conference #StandWithUkraine🇺🇦

🔥Dr. Werner Vogels, CTO at Amazon will be a keynote!
He’ll talk about Next-Gen Cloud Computing.

Also, 12 speakers from AWS, AWS User Groups, AWS heroes and Ukrainian AWS professionals will talk about #DevOps, #data та #backend.

Some of the topics: scaling AWS Infrastructure, enabling public API in days with AWS Athena, AWS WAF & Firewall Manager, Serverless patterns, IT transformation in multi-cloud era, choosing the right data store.

When? June 30
Where? Online

How to join?
👉🏻Register for free: https://bit.ly/3HFXw4u

OR buy a charity ticket - all profit will go to Ukrainian charity funds.
👍5❤‍🔥3💩3🔥2
​​A very useful set of ready-made instructions for devops on AWS:

https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/welcome.html

All popular topics with specific implementation steps:

🔸Analytics
🔸Cloud-native
🔸Containers & microservices
🔸Cost management
🔸Data lakes
🔸Databases
🔸DevOps
🔸End-user computing
🔸Hybrid cloud
🔸Infrastructure
🔸IoT
🔸Machine learning & AI
🔸Management & governance
🔸Messaging & communications
🔸Migration
🔸Modernization
🔸Networking
🔸Operating systems
🔸Operations
🔸Security, identity, compliance
🔸Serverless
🔸Software development & testing
🔸Storage & backup
🔸Websites & web apps

#devops
👍15
Несколько месяцев как учу студентов AWS DevOps. С нуля, то есть совсем — абсолютно без опыта, да ещё и без желания учиться. 😀

Какие выводы сделал для себя, перелопатив кучи материалов, просмотрев сотни часов видео, курсов на бесплатных и платных платформах.

🔸 У новичков (кто реально с нуля) шансов найти что-то адекватное по столь популярной теме DevOps (специфика AWS уже вторично):

▪️ из бесплатного-доступного — шансов 0-5%
▪️ из платного — 10-15%

🔸 Научить с полного нуля можно кого угодно — опыт, прошлое образование, пол не имеют значения — это факт.

🔸 Рулят у студентов не способности, интеллект и прочие "этому дано", а самоконтроль и целеустремлённость.

🔸 Вариант самообразования — любые курсы платные/бесплатные и т.п. — подходят лишь ~15%. Остальные 85% без самоконтроля и вдолгую, в результате просто оставят негативные комментарии о желающих лишь заработать на них преподавателях, школах, курсах, академиях и т.д. Причём тоже будут правы и примерно с тем же раскладом.


Преподавательского опыта не было совсем, вышеописанные оценки сделаны больше со стороны студентов, к которым и отношу и себя, лишь с поправкой "с опытом".

#devops #курсы
👍17
В продолжение темы по обучению AWS DevOps совсем начинающих зафиксирую для себя некоторые выводы по материалу и инструментам.

▪️ Пожалел, что давал сначала Linux и спустя некоторое время добавил сети. Для совсем нулей нужно начинать сразу и то и то, либо даже сначала лишь сети.

▪️ Был прав, что практически с самого начала стал давать Terraform (@ThomasStorm, сначала кратко, но был CloudFormation, чеслово! 😀) — даже без понимания основ, привычка у студентов мыслить и действовать в рамках IaC рулит.

▪️ С первого урока использовал CloudShell как базовый инструмент.
Плюсы: CloudShell — лучший способ сразу подружиться и с AWS Console, и с Linux, и с AWS CLI/Terraform/CDK.
Минусы — привыкают и всё делают через CloudShell, у которого есть некоторые ограничения по сравнению с обычными виртуалками.

▪️ Linux учили на RedHat, чтобы после было легче освоить Amazon Linux. Получилось проще, да, но можно-нужно сразу давать Amazon Linux.

▪️ Cети по курсам подготовки к CCNA — вне конкуренции, лишь нужно отсеивать вещи чисто по Cisco.

▪️ Адекватной информации на русском мало, но студенты однозначно предпочитают материал на родном, даже имея английский на intermediate уровне.

▪️ Адекватной информации на русском мало, но по некоторым темам она таки есть и местами даже самая лучшая.

▪️ Материалы на английском необходимо отбирать по произношению — нэйтив спикеры чаще хуже для понимания, нежели материал от не носителей языка.

▪️ Чем больше в курсе анимации, тем обычно он качественнее и круче.

Потому лайфхак для тех, кто выбирает платные курсы — смотрите, сколько там мультиков. Именно мультиков, то бишь анимации (причём не спецэффектов и не видео) — значит автор вложился и это точно будет круто, если вы как раз с нуля.

#devops
👍32
AWS DevOps для совсем начинающих

Вы почему-то решили (захотели, пришлось) стать девопсом. Не я вам судья 😀, но могу рассказать про Top10, что нужно изучить.

1️⃣ Networking
2️⃣ Linux
3️⃣ Git
4️⃣ Bash
5️⃣ Python или/плюс другой язык
6️⃣ IaC Terraform или/плюс AWS CDK/CloudFormation
7️⃣ Containers Docker и после Kubernetes
8️⃣ CI/CDJenkins или другие CI инструменты
9️⃣ Архитектура и подходы к проектированию
🔟 Agile и процессы в организации

Другие вещи — базы данных, безопасность и прочие обязательные для DevOps элементы также подразумеваются, но думаю, что и этих 10 достаточно, чтобы испугаться и передумать. 😁

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

1. Networking

Сети, если не было опыта и нет понимания — номер один в этом списке. После уже Linux и остальные. Нумерация выше была условная, но сети и линуксы — выделяются как реально главное. И то, с чего нужно начинать.

Что читать-смотреть-изучать по сетям. Рекомендую начать с ICND1 — начальная часть подготовки к Cisco сертификации CCNA. Это не для того, чтобы бегать с бухтой по офису с кусачками в руках. Это потому что у Cisco давно отработанный процесс обучения с нуля обслуживанию их сложной техники и нам как раз подойдёт начальная часть, где лишь потребуется выкинуть чисто Cisco специфику типа настройки их конкретных маршрутизаторов, ОС и других специфичных вещей.

Например, использовал следующий список курсов:

▪️ Cisco CCNA / ICND1 (100-105) Complete Course: Sims and GNS3 - Part 1
▫️ https://learning.oreilly.com/videos/cisco-ccna/9781838646028/

С этого отлично начать совсем нулям в сетях — здесь не бьют сходу наотмашь сразу всеми семью "осями" 😀 прямо на первом же уроке. Лёгкие и понятные мультики вводят в курс.

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

Альтернативный вариант, где как раз классически сразу берут быка за OSI:

▪️ CCENT ICND1 100-105
▫️ https://www.oreilly.com/videos/ccent-icnd1-100-105/9780134664330/

Конечно, есть кучи других способов разобраться с сетями, в том числе на русском, например:

▪️ Сети для самых маленьких.
▫️ https://linkmeup.ru/blog/1188/

На самом деле название слишком громкое и тут снова сходу OSI в полный рост со всей братией. Если это не пугает — можно попробовать.

Есть также кучи отдельных видео от реально талантливых людей, но так, чтобы полноценный курс, по которому можно спрашивать и объяснять, при этом не академический и убийственный для новичков — не шибко много нашёл. Буду признателен, если подскажете бесплатные и доступные к просмотру варианты. При этом легальные, например, видео с O'Reilly доступно в РБ/РФ и можно посмотреть бесплатно некоторое время, чтобы понять, подойдёт тебе этот курс или нет.

#devops #начинающим
👏17👍9
AWS DevOps — Networking

В дополнение по сетям, а заодно, чтобы показать, как выглядят качественные курсы "с мультиками".

Andrian Cantril пару месяцев назад стал активно выкладывать свои видео в открытый доступ:

https://www.youtube.com/c/LearnCantrill

В частности по Networking там уже два десятка видео:

1 Intro into networking fundamentals.
2 Networking Fundamentals: OSI 7 - Layer 1 - the physical layer
3 Networking Fundamentals: OSI 7 - Layer 2 - the data link layer - Part 1
4 Networking Fundamentals: OSI 7 - Layer 2 - the data link layer - Part 2
5 Networking Fundamentals: OSI 7 - Layer 3 - the network layer - Part 1
6 Networking Fundamentals: OSI 7 - Layer 3 - the network layer - Part 2
7 Networking Fundamentals: OSI 7 - Layer 3 - the network layer - Part 3
8 Decimal to Binary Conversion (IP Addressing)
9 Networking Fundamentals: OSI 7 - Layer 4&5 - Transport & Session Layers - Part 1
10 Networking Fundamentals: OSI 7 - Layer 4&5 - Transport & Session Layers - Part 2
11 Networking Fundamentals: Network Address Translation (NAT) - PART2
12 Networking Fundamentals: Network Address Translation (NAT) - PART1
13 Stateful vs Stateless Firewalls
14 IP Sec VPN Fundamentals
15 Jumbo Frames and MTU
16 Fibre-optic Cables 101
17 BGP Communities
18 Application (Layer 7) Firewalls - What they are and how they work

https://www.youtube.com/watch?v=6hPMdpk9qA4&list=PLTk5ZYSbd9Mi_ya5tVFD8NFfU1YZOyml1

Сам не видел его полные-платные курсы, потому не могу комментировать, но люди, кому доверяю, их категорически советуют. Оценивая то, что у него есть на YouTube, могу сказать, что это очень качественный материал.

Однако, всё же, Cisco курсы из прошлого поста для тех, кто с нуля, определённо лучше и этот playlist правильней смотреть после них, например, для закрепления материала. Ну, или тем, кто уже имеет какой-то опыт и кто не вздрагивает при упоминании OSI Layers. 😁

p.s. В дополнение там же у него по сетям есть playlist Advanced Networking из которого стоит взять также A Deep Dive into AWS Transit Gateway и Advanced VPC Routing in AWS.

#devops #начинающим #networking
👍21
AWS DevOps — Linux

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

Учитывая тот факт, что Amazon Linux построен на базе RedHat, даю и рекомендую изучать Linux на базе подготовки к сертификации RHCSA:

https://www.redhat.com/en/services/certification/rhcsa

Курсов для подготовки к нему много и не стоит пугаться, что в описании ко многим указывается что-то типа "год опыта работы системным администратором". Во-первых, это не так. 🙂 Во-вторых, главное — какая-то система, план подачи материала, лабы, охват работы Linux с разных сторон.

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

Пересмотрев немало курсов, рекомендую для начинающих курсы по Linux от Sander van Vugt — он даёт их больше двадцати лет и это не просто так. Например, здесь:

https://www.oreilly.com/videos/red-hat-certified/9780135656495/

Они не идеальны, но отработаны, есть чёткая программа, что критично именно для тех, кто с нуля. У других есть крутые вещи, но подавляющее большинство изначально предполагает наличие знаний/опыта у обучающегося.

Альтернативой может быть подготовка к сдаче сертификации на LFCS:

https://training.linuxfoundation.org/certification/linux-foundation-certified-sysadmin-lfcs/

Особых отличий у них реальности нет, а курс LFCS от вышеупомянутого автора в реальности полная копия его курса для RHCSA с упоминанием Ubuntu в одном из уроков на пару минут. 😀

После прохождения основного курса по Linux (даю с ориентацией именно на облака/AWS, потому выбрасываю или проходим лишь для информации чисто локальное применение и специфику RedHat инструментов), очень рекомендую его же курс Linux Under the Hood — при некоторой сложности полезен для новичков, т.к. объясняет важные вещи (и даже знающим может быть полезен).

Ещё раз отмечу, что по Linux в интернете много всего, однако стройной, доступной именно с нуля и при этом относительно компактной программы, не обнаружил и вышеперечисленные ближе именно к такому желаемому варианту. Опять же автор из Нидерландов и у него понятный английский даже совсем начинающим в нём.

В дополнение на YouTube из моря по Linux вообще и RHCSA в частности посоветую этот канал:

https://www.youtube.com/c/theurbanpenguin/search?query=rhcsa

p.s. Напишите, пожалуйста, ваши рекомендации по изучению Linux для начинающих с нуля — мне и многим другим точно будет полезно. 😀

#devops #начинающим #linux
👍184🔥2👎1