Forwarded from Человек и машина
YouTube
CloudFormation, SAM, and CDK tips, tricks and gotchas you didn't know existed! - Karen Tovmasyan
CloudFormation, SAM, and CDK tips, tricks and gotchas you didn't even know existed!
Karen Tovmasyan
AWS Community Day Amsterdam Online 2020
Recorded Tuesday, 27 October 2020
https://awscommunityday.nl/
https://twitter.com/awsugnl
https://www.linkedin.com/company/aws…
Karen Tovmasyan
AWS Community Day Amsterdam Online 2020
Recorded Tuesday, 27 October 2020
https://awscommunityday.nl/
https://twitter.com/awsugnl
https://www.linkedin.com/company/aws…
Forwarded from Человек и машина
#машины_aws
Пропустили мой доклад на ZED? Ничего страшного!
Для страждущих узнать побольше про тяжелую жизнь облачной адаптации в enterprise-сектора, есть запись.
Пропустили мой доклад на ZED? Ничего страшного!
Для страждущих узнать побольше про тяжелую жизнь облачной адаптации в enterprise-сектора, есть запись.
SAKTI123
Sakti123 : Platform Game Online Dengan Kemenangan Maksimal
Sakti123 adalah platform official untuk main game online gratis yang menawarkan pengalaman bermain terbaik dan peluang menang maksimal.
Forwarded from Человек и машина
#машины_aws
Дождались!
Глубокое погружение в DynamoDB, глава 2: Таблицы, операции, вторичные индексы, пропускная способность.
Мой самый большой лонгрид: >4000 слов, приблизительное время чтения - 15 минут.
Дождались!
Глубокое погружение в DynamoDB, глава 2: Таблицы, операции, вторичные индексы, пропускная способность.
Мой самый большой лонгрид: >4000 слов, приблизительное время чтения - 15 минут.
Medium
Amazon DynamoDB Deep Dive. Chapter 2: Tables, Data types, Indexes, Capacity Units
The story of one of the world’s fastest database in a human-friendly format
Forwarded from Человек и машина
#машины_aws
Ваше выходное чтиво - третья глава по DynamoDB.
В этой части: что такое консистентность, почему ее так тяжело достичь и как воспроизвести в DynamoDB, как отлавливать изменения данных, а также особенности кеширования с использованием DAX и построение гео-распределенных таблиц.
Ваше выходное чтиво - третья глава по DynamoDB.
В этой части: что такое консистентность, почему ее так тяжело достичь и как воспроизвести в DynamoDB, как отлавливать изменения данных, а также особенности кеширования с использованием DAX и построение гео-распределенных таблиц.
Medium
Amazon DynamoDB Deep Dive. Chapter 3: Consistency, DynamoDB streams, TTL, Global tables, DAX
The story of one of the world’s fastest database in a human-friendly format
Forwarded from Человек и машина
#машины_aws
Мой “контент-план” по блогам на Январь 2021 официально выполнен!
Вниманию моих читателей - финальная (на данный момент) глава по DynamoDB.
Моделирование данных, лучшие практики, Single-Table Design… И разумеется, полезные ссылки для страждущих!
Мой “контент-план” по блогам на Январь 2021 официально выполнен!
Вниманию моих читателей - финальная (на данный момент) глава по DynamoDB.
Моделирование данных, лучшие практики, Single-Table Design… И разумеется, полезные ссылки для страждущих!
Medium
Amazon DynamoDB Deep Dive. Chapter 4: Data Modeling, Best Practices, What’s next
The story of one of the world’s fastest database in a human-friendly format
Forwarded from Человек и машина
#машины_aws
На той неделе AWS выкатил интересное, но спорное по полезности обновление.
Правила Security Group обзавелись собственными идентификаторами, а значит стали де факто отдельными ресурсами. Базово о практическом применении можно прочитать здесь.
В целом, у новой функциональности хватает плюсов. Во-первых, если одно правило используется несколькими SG одновременно, то не придется больше ходить и везде их менять (до этого “общее” правило цепляли на отдельную SG и назначали на все нужные области сети). Во-вторых, это упрощает управление, если за правило отвечает другая группа - теперь она может сама поменять, что нужно, а не заводить, ну не знаю, Change Request. В-третьих, это безусловно хорошая внутренняя оптимизация, которая положительно повлияет на квоты и лимиты (или нет).
Однако есть жирный минус - правила, пусть и со своими идентификаторами, все еще не живут без самой SG и заводить их отдельно нельзя. А бонус от изменения, описанный в примере выше, применим к тем, кто по какой-то причине управляет своей инфраструктурой только через Bash и awscli.
Как будто хотя бы одна маломальски серьезная организация так делает.
К сожалению, новая “фича” выглядит сыроватой, а анонс словно сделан в спешке. Тем не менее, если правила смогут стать полноценным независимыми сущностями и попадут в RAM, то просторов для использования много.
На той неделе AWS выкатил интересное, но спорное по полезности обновление.
Правила Security Group обзавелись собственными идентификаторами, а значит стали де факто отдельными ресурсами. Базово о практическом применении можно прочитать здесь.
В целом, у новой функциональности хватает плюсов. Во-первых, если одно правило используется несколькими SG одновременно, то не придется больше ходить и везде их менять (до этого “общее” правило цепляли на отдельную SG и назначали на все нужные области сети). Во-вторых, это упрощает управление, если за правило отвечает другая группа - теперь она может сама поменять, что нужно, а не заводить, ну не знаю, Change Request. В-третьих, это безусловно хорошая внутренняя оптимизация, которая положительно повлияет на квоты и лимиты (или нет).
Однако есть жирный минус - правила, пусть и со своими идентификаторами, все еще не живут без самой SG и заводить их отдельно нельзя. А бонус от изменения, описанный в примере выше, применим к тем, кто по какой-то причине управляет своей инфраструктурой только через Bash и awscli.
Как будто хотя бы одна маломальски серьезная организация так делает.
К сожалению, новая “фича” выглядит сыроватой, а анонс словно сделан в спешке. Тем не менее, если правила смогут стать полноценным независимыми сущностями и попадут в RAM, то просторов для использования много.
Forwarded from Человек и машина
#машины_aws
Пока я работаю над длиннопостом, два занимательных и одновременно неприятных факта про DynamoDB:
1. DynamoDB TTL - бесплатный server-side способ удаления устаревших данных не предоставляет гарантий удаления в срок истечения! Хуже того то, что объекты с истекшим сроком жизни все еще отображаются в запросах, что перекладывает ответственность за фильтрацию валидных данных на клиента. Не смотря на то, что в среднем удаление занимает до 48 часов, мне известны случаи о задержке аж на 10 суток.
2. Capacity Units распределяются по шардам (Partition Key) таблиц, что может привести к ProvisionedThroughputExceededException при том, что throttle происходит только на конкретном шарде - так называемая проблема Hot Partition. По результатам общения с техподдержкой выяснилось, что:
- В режиме provisioned CUs, они равномерно распределяются по шардам; далее DDB будет распределять CU на более активные шарды. Как происходит распределение, когда количество шардов превышает количество CU, неизвестно.
- В режиме OnDemand, каждый шард получает 1000 WCU и 3000 RCU сразу же и перераспределения между шардами уже не происходит, поскольку 1000 записей и 3000 чтений в секунду - верхний порог.
Казалось бы мелочи, но эти мелочи выпили мне немало крови в Uber. И заметно сузили мой личный список подходящих бизнес задач для DynamoDB.
Пока я работаю над длиннопостом, два занимательных и одновременно неприятных факта про DynamoDB:
1. DynamoDB TTL - бесплатный server-side способ удаления устаревших данных не предоставляет гарантий удаления в срок истечения! Хуже того то, что объекты с истекшим сроком жизни все еще отображаются в запросах, что перекладывает ответственность за фильтрацию валидных данных на клиента. Не смотря на то, что в среднем удаление занимает до 48 часов, мне известны случаи о задержке аж на 10 суток.
2. Capacity Units распределяются по шардам (Partition Key) таблиц, что может привести к ProvisionedThroughputExceededException при том, что throttle происходит только на конкретном шарде - так называемая проблема Hot Partition. По результатам общения с техподдержкой выяснилось, что:
- В режиме provisioned CUs, они равномерно распределяются по шардам; далее DDB будет распределять CU на более активные шарды. Как происходит распределение, когда количество шардов превышает количество CU, неизвестно.
- В режиме OnDemand, каждый шард получает 1000 WCU и 3000 RCU сразу же и перераспределения между шардами уже не происходит, поскольку 1000 записей и 3000 чтений в секунду - верхний порог.
Казалось бы мелочи, но эти мелочи выпили мне немало крови в Uber. И заметно сузили мой личный список подходящих бизнес задач для DynamoDB.
Amazon
Using time to live (TTL) in DynamoDB - Amazon DynamoDB
Learn how to set up and use Time to Live (TTL) on DynamoDB tables to automatically expire items from a table. The item delete does not use capacity units.
Forwarded from Человек и машина
#машины_aws
Чем дилетанты отличаются от неудачников:
- Дилетанты осознают свои возможности и учатся
- Неудачники улюлюкают и устраивают клоунаду в Твиттере
Очевидно, дилетантам надо помогать и наставлять, а неудачников гнать и насмехаться.
Понедельничное чтиво для моих любимых дилетантов : мой набор трюков, как не тратить лишних денег на AWS.
Чем дилетанты отличаются от неудачников:
- Дилетанты осознают свои возможности и учатся
- Неудачники улюлюкают и устраивают клоунаду в Твиттере
Очевидно, дилетантам надо помогать и наставлять, а неудачников гнать и насмехаться.
Понедельничное чтиво для моих любимых дилетантов : мой набор трюков, как не тратить лишних денег на AWS.
Medium
Easy way to save money on AWS
Unless you like overspending
Forwarded from Человек и машина
#машины_aws
Распространненный миф о безопасных клавдиях больно ударил, что по Capital One в 2019 что по Twitch в 2021.
Непопулярное мнение: все эти инциденты - вина владельцев и инженеров сервисов и инфраструктуры и только их.
Особая близость с платежами и деньгами в целом сделала из меня параноика в хорошем смысле этого слова. Если это доступно где-то в интернете - это можно спиз… скачать.
Последний пост в этом году, после чего я могу спокойно отправляться на каникулы: вводная в событийно-ориентированное реагирование на мониторинг безопасности.
Читаем, применяем, не даем злодеям и своим наделать глупостей.
Всех с наступающим! Увидимся в 2022.
Распространненный миф о безопасных клавдиях больно ударил, что по Capital One в 2019 что по Twitch в 2021.
Непопулярное мнение: все эти инциденты - вина владельцев и инженеров сервисов и инфраструктуры и только их.
Особая близость с платежами и деньгами в целом сделала из меня параноика в хорошем смысле этого слова. Если это доступно где-то в интернете - это можно спиз… скачать.
Последний пост в этом году, после чего я могу спокойно отправляться на каникулы: вводная в событийно-ориентированное реагирование на мониторинг безопасности.
Читаем, применяем, не даем злодеям и своим наделать глупостей.
Всех с наступающим! Увидимся в 2022.
Medium
Event-driven security monitoring on AWS
Responding to abnormal activities immediately
Forwarded from Человек и машина
#машины_aws
Одно из моих любимых занятий - ковырять нелюбимые инструменты, чтобы не любить их экспертно и за дело. Один из таких инструментов - CodeDeploy - до неприятия муторный, сложный и противный.
Чего только стоит необходимость запускать Shell скрипты из spec-файла. Да, даже если весь скрипт состоит из одной команды.
Предлагаю разделить мою нелюбовь и начать эту неделю с мультирегионального развертывания приложений с помощью CodePipeline и CodeDeploy. Да еще и на виртуальные машины, чтоб жизнь совсем уж медом не казалась.
Одно из моих любимых занятий - ковырять нелюбимые инструменты, чтобы не любить их экспертно и за дело. Один из таких инструментов - CodeDeploy - до неприятия муторный, сложный и противный.
Чего только стоит необходимость запускать Shell скрипты из spec-файла. Да, даже если весь скрипт состоит из одной команды.
Предлагаю разделить мою нелюбовь и начать эту неделю с мультирегионального развертывания приложений с помощью CodePipeline и CodeDeploy. Да еще и на виртуальные машины, чтоб жизнь совсем уж медом не казалась.
Medium
Delivering software across regions with AWS CodePipeline
Reliable software distribution done right
👍4
Forwarded from Человек и машина
#машины_aws
Я продолжаю издеваться на Code* сервисами… Хотя скорее они надо мной.
В этой части разбираюсь с поведением CodeDeploy в Blue/Green развертываниях, а так же с тем, что не умеет CodePipeline и CDK.
Ваше прокрастинационное чтиво.
Я продолжаю издеваться на Code* сервисами… Хотя скорее они надо мной.
В этой части разбираюсь с поведением CodeDeploy в Blue/Green развертываниях, а так же с тем, что не умеет CodePipeline и CDK.
Ваше прокрастинационное чтиво.
Medium
These Weird Things About EC2 Blue/Green Deployments
Understanding undocumented behavior
👍5💩4
Forwarded from Человек и машина
#машины_aws
Теперь, когда у нас есть AWS SDK для SAP ABAP, какой язык будет следующим?
Ставлю на COBOL.
Теперь, когда у нас есть AWS SDK для SAP ABAP, какой язык будет следующим?
Ставлю на COBOL.
👍2🔥2😁1
Forwarded from Человек и машина
#машины_aws
Для CloudFormation был разработан линтер cfn-lint, который на базе разных правил проверял шаблон на вшивость. Одной из моих любимых фишек этого линтера была возможность написать свое правило на том же языке, что и сам линтер, т.е. на Python.
А раз для написания правила используется верхнеуровневый язык программирования, то положить в это правило можно буквально все что угодно. Автор помнит времена, когда он злоупотреблял Boto3, чтобы в рамках правила делать вызовы на AWS API и делать более точечные проверки, например, если hardcoded ARN ссылается на существующий ресурс.
У таких свистоплясок есть очевидный недостаток. Например, если линт проходит в рамках CI, то у сборочного агента должен быть доступ в AWS, не говоря уже о том, что мы нагружаем линтер функциональностью, для которой он никогда не предназначался.
И вот я в очередном туре по кишкам CFN, изучая расширения, нашел расширение Hooks. Hooks проверяют разные типы ресурсов на соответствие определенным правилам, но в этот раз правила проверяются на стороне самого CloudFormation. Может показаться, что это бесполезное дело, ресурс дешевле проверить до развертывания, а не во время развертывания.
С другой стороны можно застраховаться от тех, кто катит CFN вручную и не применяет линтер, или если приходящие изменения в вашу инфраструктуру не под вашим контролем. Hooks это такой способ защититься от неприемлемых изменений, поскольку они не допускают абьюза со стороны ленивых девопсов.
Но для этого нужно побороть сначала свою лень и написать много правил на все случаи жизни. 🙂
Для CloudFormation был разработан линтер cfn-lint, который на базе разных правил проверял шаблон на вшивость. Одной из моих любимых фишек этого линтера была возможность написать свое правило на том же языке, что и сам линтер, т.е. на Python.
А раз для написания правила используется верхнеуровневый язык программирования, то положить в это правило можно буквально все что угодно. Автор помнит времена, когда он злоупотреблял Boto3, чтобы в рамках правила делать вызовы на AWS API и делать более точечные проверки, например, если hardcoded ARN ссылается на существующий ресурс.
У таких свистоплясок есть очевидный недостаток. Например, если линт проходит в рамках CI, то у сборочного агента должен быть доступ в AWS, не говоря уже о том, что мы нагружаем линтер функциональностью, для которой он никогда не предназначался.
И вот я в очередном туре по кишкам CFN, изучая расширения, нашел расширение Hooks. Hooks проверяют разные типы ресурсов на соответствие определенным правилам, но в этот раз правила проверяются на стороне самого CloudFormation. Может показаться, что это бесполезное дело, ресурс дешевле проверить до развертывания, а не во время развертывания.
С другой стороны можно застраховаться от тех, кто катит CFN вручную и не применяет линтер, или если приходящие изменения в вашу инфраструктуру не под вашим контролем. Hooks это такой способ защититься от неприемлемых изменений, поскольку они не допускают абьюза со стороны ленивых девопсов.
Но для этого нужно побороть сначала свою лень и написать много правил на все случаи жизни. 🙂
👍8
Forwarded from Человек и машина
#анонсы #машины_aws
Лучшая книга по AWS CloudFormation получила второе издание!
В новой версии:
1. Переработаны почти все главы в соответствии с изменениями у самого AWS'а, обновлен весь код, и мне за него даже почти не стыдно
2. В главе Advanced Template Development добавлена секция по работе с Language Extensions
3. Глава про Macros была переписана полностью и теперь включает в себя Nested Stacks и Modules
4. Новая глава, посвященная работе с CloudFormation Registry
5. В главе по CDK используется CDK v2
Отдельная благодарность @VasilyPantyukhin и @patrick239 за то, что заставили меня вылизывать все почти до мельчайшего знака препинания!
Лучшая книга по AWS CloudFormation получила второе издание!
В новой версии:
1. Переработаны почти все главы в соответствии с изменениями у самого AWS'а, обновлен весь код, и мне за него даже почти не стыдно
2. В главе Advanced Template Development добавлена секция по работе с Language Extensions
3. Глава про Macros была переписана полностью и теперь включает в себя Nested Stacks и Modules
4. Новая глава, посвященная работе с CloudFormation Registry
5. В главе по CDK используется CDK v2
Отдельная благодарность @VasilyPantyukhin и @patrick239 за то, что заставили меня вылизывать все почти до мельчайшего знака препинания!
🔥13👍5
Forwarded from Человек и машина
#машины_aws
Этой ночью, AWS Kinesis снова отстрелил многим чресла в us-east-1. Практически так же, как 4 года назад. По этому поводу сделаю пару замечаний.
Во-первых - не используйте us-east-1. Это регион-страдалец, там всегда что-то взрывается раз в год. Пощупать экспериментальные сервисы первым того не стоит... Впрочем вы и без меня это знаете.
Во-вторых, давать леща за инциденты нельзя. А вот давать леща за неисполнение incident follow up'ов - вполне себе можно и нужно. Следите за руками.
В 2020, когда случился инцидент, AWS поставил себе задачу разделить Kinesis на две изолированных группых сервисов, иными словами, сделать "внутренний" Kinesis.
We will also move a few large AWS services, like CloudWatch, to a separate, partitioned front-end fleet. (с) из пост-мортема
Делается это для того, чтобы внутренние проблемы сервисов не били по внешним потребителям напрямую, потому что потребители работают с абстракциями - ну давайте честно, кто еще знает, что Cognito использует Kinesis под капотом? - и знать внутренности не должны.
Однако спустя почти 4 года, мы имеем отказ клиентских сервисов по подозрительно схожей причине, более того, "клиентский" Kinesis тоже пятисотил. Это говорит о том, что:
- либо в общей структуре есть большой архитектурный огрех, который не решается дублированием сервиса для внутренних нужд
- либо, что еще хуже, AWS не исполнил обещание после инцидента.
За второе надо бить палками, а так же отдавать айтишников на массовые расстрелы, потому что задача каждого разбора полетов не допустить такой же инцидент в будущем.
Этой ночью, AWS Kinesis снова отстрелил многим чресла в us-east-1. Практически так же, как 4 года назад. По этому поводу сделаю пару замечаний.
Во-первых - не используйте us-east-1. Это регион-страдалец, там всегда что-то взрывается раз в год. Пощупать экспериментальные сервисы первым того не стоит... Впрочем вы и без меня это знаете.
Во-вторых, давать леща за инциденты нельзя. А вот давать леща за неисполнение incident follow up'ов - вполне себе можно и нужно. Следите за руками.
В 2020, когда случился инцидент, AWS поставил себе задачу разделить Kinesis на две изолированных группых сервисов, иными словами, сделать "внутренний" Kinesis.
We will also move a few large AWS services, like CloudWatch, to a separate, partitioned front-end fleet. (с) из пост-мортема
Делается это для того, чтобы внутренние проблемы сервисов не били по внешним потребителям напрямую, потому что потребители работают с абстракциями - ну давайте честно, кто еще знает, что Cognito использует Kinesis под капотом? - и знать внутренности не должны.
Однако спустя почти 4 года, мы имеем отказ клиентских сервисов по подозрительно схожей причине, более того, "клиентский" Kinesis тоже пятисотил. Это говорит о том, что:
- либо в общей структуре есть большой архитектурный огрех, который не решается дублированием сервиса для внутренних нужд
- либо, что еще хуже, AWS не исполнил обещание после инцидента.
За второе надо бить палками, а так же отдавать айтишников на массовые расстрелы, потому что задача каждого разбора полетов не допустить такой же инцидент в будущем.
Telegram
Человек и машина
#машины_разное
https://aws.amazon.com/message/11201/
"For the latter communication, each front-end server creates operating system threads for each of the other servers in the front-end fleet."
Что может пойти не так, верно?
"Rather, the new capacity…
https://aws.amazon.com/message/11201/
"For the latter communication, each front-end server creates operating system threads for each of the other servers in the front-end fleet."
Что может пойти не так, верно?
"Rather, the new capacity…
❤9👍4😱2