Книжный куб
9.84K subscribers
2.24K photos
4 videos
3 files
1.54K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора в T Tech
Download Telegram
Публикации на Google Research

Последние пару дней я активно готовился к своему докладу про RnD и изучал страничку research.google/pubs/, чтобы посмотреть какие white papers появлялись у Google и когда.
В итоге, я составил список ключевых документов с фокусом на сервисы и инфраструктур (исключая ML), которым решил поделиться

- 2003 год - The Google File System - про распределенную файловую систему от Google
- 2004 года - MapReduce: Simplified Data Processing on Large Clusters - про концепцию параллельной обработки в формате MapReduce (по мотивам появился Hadoop)
- 2006 год - Bigtable: A Distributed Storage System for Structured Data - про распределенную NoSQL базу (по мотивам BigTable и Amazon DynamoDB появилась Cassandra)
- 2006 - The Chubby lock service for loosely-coupled distributed systems - про сервис распределенных локов, которые можно использовать вместо встраивания консесуса в сами сервисы
- 2007 - Engineering Reliability into Web Sites: Google SRE - про роль SRE в обеспечении надежности
- 2010 - Dapper, a Large-Scale Distributed Systems Tracing Infrastructure - про трассировку в распределенных системах (open source последователи Zipkin, Jaeger, OpenTelemetry)
- 2012 - Spanner: Google's Globally-Distributed Database - про NewSQL базу данных с масштабированием как у NoSQL и ACID транзакциями, под капотом TrueTime для точного определения времени, что нужно для определения порядка транзакций (open source последователи Cockroach DB)
- 2013 - Omega: flexible, scalable schedulers for large compute clusters - про окрестратор рабочих нагрузок (наследник Borg, но менее удачный)
- 2015 - Large-scale cluster management at Google with Borg - про оркестратор рабочих нагрузок, что предшествовал Omega и в итоге оказался более удачным и пережил ее
- 2015 - TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems - про фреймворк для машинного обучения, который сразу был выпущен в open source
- 2016 - Borg, Omega, and Kubernetes - про сравнение двух внутренних и одного публичного (K8s) оркестратора нагрузок (Kubernetes изначально тоже сделал Google)
- 2016 - Ubiq: A Scalable and Fault-tolerant Log Processing Infrastructure - про обработку логов на масштабе
- 2017 - Spanner, TrueTime and the CAP Theorem - про CAP теорему и Spanner от создателя CAP-теоремы, Eric Brewer, что к этому моменту уже давно работал в Google
- 2018 - Advantages and disadvantages of a monolithic repository: a case study at google - про монорепозиторий Google и как он помогает им в разработке
- 2019 - Zanzibar: Google’s Consistent, Global Authorization System - про ReBAC систему авторизации, что завязана на отношения между сущностями (мы этот white paper как-то уже обсуждали в Code of Architecture)
- 2020 - Monarch: Google's Planet-Scale In-Memory Time Series Database - про time-series базу данных
- 2020 - Scaling PageRank to 100 Billion Pages - про масштабирование ключевого алгоритма на графах (Page Rank) на супер масштабы
- 2020 - Autopilot: Workload Autoscaling at Google Scale - про автомасштабирование рабочих нагрузок в облаках
- 2022 - Deployment Archetypes for Cloud Applications - интересное исследование про виды deployments
- 2023 - A Model-based, Quality Attribute-guided Architecture Re-Design Process at Google - интересный документ про архитектурные процессы в Google на примере репроектирования системы Monarch, про которую был white paper от 2020 года

Если суммировать мои мысли про Google и создание ими статей, то видно, что они первыми писали про многие сложные штуки, но вот open source решений поначалу они не создавали, и у них появлялись open source аналоги. И эти аналоги были несовместимы с внутренними инструментами Google, что мешало получать помощь от коммьюнити. Значимыми исключениями с точки зрения открытости являются: Android, Chrome, Kubernetes, TensorFlow.

#RnD #WhitePaper #Software #SoftwareDevelopment #Architecture #SoftwareArchitecture #DistributedSystems #SystemDesign #SystemEngineering
Магеллан. Биография в комиксах (Magellan)

Магеллан - имя первого кругосветного путешественника известна всем с детства, но вот как выглядел его путь - это известно не многим. Как португалец по рождению оказался командиром испанской кругосветной экспедиции. Почему он отправился в этой экспедиции на запад за пряностями, которые были на востоке? Как пять кораблей превратились в один и что происходило с командным составом во время путешествия. Почему Фернана Магеллана помнят, а Хуана Себастьяна Элькано забыли все ...

В этом комиксе Кристиан Кло рисует детективную историю, в которой Фернан предстает человеком, который хочет стать легендой и добивается этого. Отдельно отмечу, что это нетипичное прочтение данной истории.

P.S.
На одном из приложенных изображений приложена карта с изображением этого кругосветного путешествия.

#Comics #History #Biography
Менторинг и модель GROW

На прошлой неделе проходил короткое обучение менторингу и модели GROW как базовому инструменту. Интересно было послушать про отличия менторинга и коучинга, про который я читал классическую книгу Джона Уитмора "Коучинг" ("Coaching for Performance"), про которую я писал раньше. Обучение менторингу нужно было мне для двух целей:
1) на выпускников нашего внутреннего MBA с INSEAD пришли запросы про менторство от учащихся на втором выпуске, который проводится совместно со Сколково
2) внутри компании мы запускаем архитектурное менторство, которое направлено на то, чтобы помочь прокачать менти умения проектировать и лидировать крупные технические изменения

В итоге, мы поговорили про разницу в экспертном менторинге и менторинге руководителей, обсудили разницу коучинга и менторинга, а также обсудили модель GROW, которую придумал упомянутый выше Джон Уитмор, один из классиков коучинга
1) Goal - на этом этапе происходит постановка цели
2) Reality - здесь определяется текущее состояние и насколько менти далек от цели
3) Options - тут обсуждаются варианты достижения цели
4) Will - здесь фиксируются намерения того, что менти будет делать для достижения цели
В менторинге обычно есть несколько встреч, причем каждая последующая встреча начинается с разбора результатов того, что менти сделал с предыдущей встречи.

#SelfDevelopment #Management #Leadership
Человек-невидимка (The Invisible Man)

На выходных прочитал этот комикс, в котором Крис Ренье с первых страниц погружает читателя в удивительный мир Герберта Уэллса. Здесь ммы встречаемся с Гриффином, гениальным ученым, который научился делать физические тела невидимыми. Он провел эксперимент на себе и дальше завертелся классический сюжет, который оживает в красивых иллюстрациях этого комикса ... Главный герой конечно отвратетелен, но сама история интересна и стоит прочтения.

#Comics #SciFi
Minimum Viable Architecture • Randy Shoup • YOW! 2022 (Рубрика #Architecture)

Очередное крутое выступление от Randy Shoup, VP Engineering & Chief Architect at eBay. Предыдущее его выступление "Improving Software Flow", про которое я рассказывал раньше, дало мне идеи для одного из своих докладов, что будет осенью:) В этом докладе автор рассказывал про то, что начинать стоит с MVA (Minimum Viable Architecture), которая похожа по концепту на MVP (Minimum Viable Product). Свой рассказ он начал с истории про раннюю архитектуру eBay и Amazon, которые эволюционировали со временем. Point был в том, что если бы эти компании начали с более сложной архитектуры, то может бы мы и не знали о них - они бы просто проиграли в конкурентной борьбе тем, кто свои MVP делал бы на MVA:)

Дальше был рассказ про виды архитектуры, что матчатся с жизненным циклом организации starting -> scaling -> optimizing
0) "Prototype" architecture, что нужна на этапе идеи (еще до описанных выше этапов) - круто, если тут можно обойтись совсем без технологий:)
1) "Just enough architecture" для быстрых итераций на стартовом этапе. Здесь нам пригодятся монолиты на той технологии, что популярны и легки в написании кода. Зачастую здесь удобнее покупать готовые коробки, чем писать их самим. На этом же этапе хорошо сразу делать модульный монолит, использовать CI/CD практики, TBD и feature toggles
2) "Scalable architecture" - до этого этапа по оценке Ренди доходит только 1% приложений. И начинает он с того, а когда же приходит пора для репроектирования (падает velocity, надо релизить часть daployments отдельно). Здесь наступает время stream-aligned teams из Team Topologies, также надо менять технологии на более производительные и использовать активнее асинхронность. Также стоит разделять системы по доменам. Часто тут появляются микросервисы. Классно, что тут Ренди разбирает вопросы инкрементальных миграций со старых систем на новые, используя сквозные вертикальные слайсы.
3) "Optimizing" - здесь команд становится меньше и основная цель в стабилизации архитектуры и консолидации отдельных частей системы, чтобы их эксплуатация была проще.

#SoftwareArchitecture #Architecture #SystemEngineering #DistributedSystems #SystemDesign #SystemThinking #Software
В продолжении рассказа про доклад Minimum Viable Architecture, я решил приложить картинку с разными стадиями жизненного пути компании и характеристиками архитектуры. Как мне кажется, она отлично визуализирует рассказ Randy Shoup.

#SoftwareArchitecture #Architecture #SystemEngineering #DistributedSystems #SystemDesign #SystemThinking #Software
Выборы новой книги для обсуждения в рамках клуба "Code of Architecture"

Недавно мы закончили читать книгу "Building Evolutionary Architecture" и white paper про Amazon Aurora, а теперь настало выбрать новую книгу.
В этот раз мы добавили к списку книгу "Kubernetes patterns", что просили зрители и про которую я рассказывал раньше. Три остальные книги остались с прошлого раза:
- The Software Architect Elevator - про нее я тоже рассказывал
- Building Secure and Reliable Systems - про нее я тоже рассказывал
- Machine Learning Design Patterns - эту книгу я пока только начал читать:)

#CoA #SoftwareArchitecture #Software #Architecture #SystemDesign
Султан Сулейман. Биография в комиксах (Ils ont fait l'histoire: Soliman le Magnifique)

Дочитал очередной комикс про великих людей, в этот раз про султана Османской империи, который правил почти 50 лет и расширил пределы империи до максимальных границ в ее истории. По-факту, в комиксе рассказывается про финальную часть жизни султана, где он
- убивает своего сына из-за подозрений в мятеже
- воюет с Сефевидскоим государством без особого успеха
- заказывает строительство комплекса "Сулейминие", который до сих пор радует глаз жителей Стамбула
- убивает еще одного сына за реальный мятеж
- отправляется в последний поход на Венгрию, где умирает во время осады Сигетвара, что предотвращает дальнейшее нападение на Вену

Комикс читается как боевик, где все в конце концов умирают:)

#Biography #Comics
Про программу "Эффективное мышление" с гроссмейстером Эрнесто Инаркиевым

Всю свою жизнь я учусь чему-то новому и захватывающему, поэтому меня часто просят поучаствовать в экспериментах. Одним из таких экспериментов было обсуждение с Эрнесто его программы "Эффективное мышление", которое наши HR менеджеры рассматривают в качестве одного из вариантов обучения для топ-менеджеров. Сам Эрнесто является чемпионом Европы по шахматам, гроссмейстером, входит в ТОП-100 лучших шахматистов мира и в ТОП-30 по быстрым шахматам. Кроме того, он является экспертом в области развития эффективного мышления через игротехники. Мне было интересно пообщаться с Эрнесто в контексте того, что я лет 7 в детстве занимался шахматами системно и считаю, что это отлично помогает в развитии мышления.

Свои впечатления я описал в статье на tellmeabout.tech

#Thinking #Brain #SelfDevelopment #Creativity
Его зовут Banksy. Графический роман (His name is Banksy)

Франческо Маттеуцци написал книгу об одном из самых выдающихся и ярких современных художников, чью личность достоверно никто не знает. Эта загадка привлекает внимание к творчеству Бэнкси, а также конечно его знаменитые муралы (огромные изображения, которые нанесены на стену здания или сооружения). В этом комиксе расказывается про смелость и масштабность задумок Бэнкси, которые рвут рамки привычных представлений и выводят стрит-арт на новый уровень. Также в самом конце книги автор немного рассказывает про гипотезы о том, кто же именно скрывается за псевдонимом ... но делает это без огонька, считая, что разгадка этой загадки снимет флер легенды с этого художника:)

#Comics #Creativity #Biography
Balancing your CEO, peers, and Engineering

Пока летел в самолете из Москвы в Ереван прочитал половину white paper про Amazon DynamoDB 2022 года, написал часть статьи, доделал немного презентацию к завтра, а также прочитал интересную статью Will Larson. Статья мне понравилась и я решил поделиться основными идеями:
- Вил рассказывает про ситуации, когда в компании приходит новый топ-менеджер
- Часто такой новичок заряжен все сразу менять, так как CEO не просто так его приглашал в компанию, а чтобы решить какие-то проблемы
- Но если взять за основу только точку зрения CEO, то можно отправиться решать не ту проблему или не тем способом
- Вил предлагает научиться смотреть на проблемы шире, учитывая мнение CEO, других peers топ-менеджеров и совета директоров
- Он предлагает классифицировать ваши отношения с другими менеджерами по трем категориям: supported, tolerated, resented, что можно представить как +, =, - в шахматной нотации:)
- Дальше Вил рассказывает как важно уметь наводить мосты между точками зрения топов из разных областей (продукт, инженерка, маркетинн, ...)
- Не опираться сразу по приходу на свой прошлый опыт, ожидая, что в новом месте все так же
- Идти мелкими шагами и постепенно
- Ращрешать возникающие конфликты, а не заметать их под ковер или избегать их появления

Ну и приколько заканчивается статья тем, что теперь у вас есть фреймворк, инвестируйте в отношения с пирами, умейте собирать общую картинку и разных точек зрения, а в случае своей неуверенности в том, что вам делать "search for the approach that maximizes your impact at the company over the next three years rather than the next three months, and do that"

#SelfDevelopment #Software #Management #Leadership