Рубрики
Uncategorized

Здание для масштаба? Сделать R.A.D.I.C.A.L. Система!

Создание R.A.D.I.C.A.L. (Реактивная, автоматизированная, распределенная, интеллектуальная, сложная, гибкая и худой) Система. Tagged с помощью технологий, веб -разработчиков, DevOps, машинного обучения.

Год заканчивается, 2019 год почти здесь, и вскоре 2010 -е годы закончится. Это десятилетие было отмечено услугами таких компаний, как Netflix, Google и Facebook, процветающие и стали частью нашей повседневной жизни.

Для нас в области технологий эти компании являются примерами. Они строят и управляют системами, которые обрабатывают миллиарды пользователей, 24/7, по всему миру. Просто подумай об этом. Это масштаб трудно понять, и многие сомневались бы, что у нас может быть так много людей, связанных всего десять лет назад.

В этом посте я хочу представить новую концепцию пару дней назад: R.A.D.I.C.A.L. Системы , то есть системы, которые R EACTIVE, A утомил, D ISTRIBUTED, I Умный, Комплекс, A Джиле и L эн.

Я изобрел эту аббревиатуру как способ собрать эти методы, которые крупные компании используют для создания успешных систем, которые масштабируют. Я читал Много книг и смотреть Много разговоров Об этих предметах, и я понял, что не было термина для описания систем, которые смешивают их все.

Большинство концепций здесь не новы, но они становятся все более популярными благодаря проблеме создания систем — R.A.D.I.C.A.L. Системы — способны обслуживать огромное количество людей.

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

Это мой первый публичный пост о разработке программного обеспечения, поэтому я надеюсь, что вам понравится!

Проецирование систем с царапины сложно, главным образом, когда мы не знаем бизнес -домена, которую мы хотим заняться. Lean Startup Эрик Рис научил нас, как Создать, измерять и учиться Чтобы создать Минимальный жизнеспособный продукт (MVP) в условиях неопределенности. С другой стороны, Дизайное мышление доведем до нашего внимания важность Исследование иметь Insights о проблемах, чтобы Ideate и генерировать Прототипы Чтобы получить конкретное решение. Как мы можем смешать эти мышления, чтобы создать новый проект?

Lean Betception Paulo Caroli — это методология, которая присоединяется к некоторым методам от Lean Startup и дизайнерского мышления, чтобы начать новый продукт. Это делает это, согласуя идеи всех заинтересованных сторон, владельцев продуктов и разработчиков, вовлеченных в проект. Результатом (к концу недели сеанса) является набор MVP Canvas Это описывает основные цели, преимущества и недостатки каждой итерации развития. Они сопровождаются Пользовательские истории Это может использоваться разработчиками во время построения системы.

A R.A.D.I.C.A.L System должен использовать L EAN начинается, чтобы выбрать, какие и когда функции должны быть построены.

Agile Manifesto 17 лет, а быть гибким, больше не хипстера, а скорее мейнстрим. Трудно найти разработчика, который не согласен с основными ценностями ловкости, где отдельные лица и взаимодействия , Рабочее программное обеспечение , сотрудничество клиентов и Отвечая на изменение оцениваются соответственно больше, чем процессы и инструменты, комплексная документация, переговоры по контракту и следуя плану.

Гибкость Agile сделала его мышлением по умолчанию, когда компании начинают развиваться — какими бы методами они ни использовали, предварительно предварительно связанные с такими методологиями, как Чрезвычайное программирование (больше сосредоточен на стороне разработчика), Scrum (больше сосредоточено на стороне управления), Канбан (сосредоточен на организации задач) и многих других.

A R.A.D.I.C.A.L System должен использовать A Защитник, чтобы оптимизировать, как и где должны быть построены функции.

Миллионы для миллиардов пользователей производят много, много (я сказал много?) Данные, все время, и нам нужен способ справиться с этим. В эпоху Интернет вещей Где все больше и больше устройств соединяются вместе, нам нужен способ обработки всех сигналы Они производят при взаимодействии с людьми и другими машинами.

Сложная обработка событий является теорией, которая продвигает многие (большие) методы обработки данных для создания четко определенного метода для борьбы с Бесконечные наборы данных , генерируя способы запроса, преобразования и смешивания разных потоков. Это дает основу для Аннотация DataFlows, процессы и исключения, которые происходят внутри системы.

A R.A.D.I.C.A.L System должен использовать C Методы обработки событий Omplex для отслеживания и анализа данных внутри него.

Искусственный интеллект и, в частности, Машинное обучение в тренде в последние пару лет, так как люди больше не могут понять объем данных, которые мы производим. Распознавание шаблона , Компьютерное зрение , Обработка естественного языка являются одни из областей, которые AI/ML оказывают наибольшее влияние.

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

A R.A.D.I.C.A.L System должен использовать Я Методы преобразования данных NTELLIGENT, чтобы изучить и генерировать информацию из данных внутри него.

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

Распределенные системы такие же старые, как первые сети. Это дешевое решение для увеличения мощности обработки, и облако сделало его намного дешевле. Однако Кэп -теорема Сделал слова доступность и последовательность известный каждому разработчику, который занимается этими системами. Это сочетание теоретических и практических проблем подтолкнуло к созданию нового поколения инструментов, которые инкапсулируют лучшие модели для управления этими средами.

A R.A.D.I.C.A.L System должен использовать D Используемые среды могут быть масштабируемыми в простом и безудержном состоянии.

Если серверы выходят из рук (благодаря облаку), Автоматизация очень важно гарантировать, что мы можем запускать наши услуги в любом месте (особенно с наименее заблокированным поставщиком). Инфраструктура как код Был первым шагом, позволяющим разработчикам принять участие в ответственности операторов, что привело к гораздо более широкому Облачный родной Движение (которое включает в себя технологии для виртуализации , orchestration , Наблюдаемость и много других модных слов) и Серверный Движение (которое пытается освободить разработчиков, чтобы думать только в своей бизнес -логике).

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

A R.A.D.I.C.A.L System должен использовать A Утомированная инфраструктура для развертываемой и воспроизводимых способов.

Сложные бизнес -кейсы могут потребовать крупных систем, которые охватывают многие бизнес -субдомены. Доменная дизайн Эрик Эванс принес концепцию вездесущий язык Это следует использовать для описания этих систем и ограниченный контекст это разделяет их. Это строительные блоки для Архитектура микросервисов , это исследует их полузависимость для создания системы, составленной многими независимыми услугами, которые могут быть разработаны автономными командами.

Но строительство микросервисов не является серебряной пулей для современных систем, поскольку существует набор Предварительные условия Чтобы принять их вместо монолита. В любом случае, архитектура все еще может стать Большой мяч грязи Анкет Реактивный манифест Указывает, как создание отзывчивый , устойчивый , эластичный и Основанный на сообщении Услуги могут помочь в силовых системах для масштаба.

A R.A.D.I.C.A.L System должен использовать R Архитектура EACTIVE Microservices для кодирования сложных бизнес-моделей и знаний, специфичных для домена.

Вот и все! Что вы думаете о R.A.D.I.C.A.L Systems ? Я уверен, что их нелегко сделать, и что для того, чтобы захватить каждую концепцию, требуется много обучения — но это было очень хорошее путешествие.

Я хочу поблагодарить моих друзей Фернандо, Рафаэля и Виктора за ценные отзывы. Этот пост просто царапает поверхность, но я хочу подчеркнуть, что есть системы — R.A.D.I.C.A.L. Системы — которые смешивают все эти концепции.

Если вы хотите подробнее обсудить эти идеи, пожалуйста, свяжитесь со мной по адресу Twitter или LinkedIn Анкет

Оригинал: «https://dev.to/renatocf/building-for-scale-make-a-radical-system-3p5j»