Микросервисы для Java программистов. Практическое введение во фреймворки и контейнеры |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2017-10-13 13:24 Перевод книги Кристиана Посты (Christian Posta) Microservices for Java Developers. A Hands-On Introduction to Frameworks & Containers.
ГЛАВА 1. Микросервисы для Java программистов Чего Вы можете ожидать от этой книги? Эта книга ориентирована на программистов и архитекторов Java, интересующихся разработкой микросервисов. Мы начнем книгу с высокоуровнего обзора общих принципов и фундаментальных требований, которые должны быть выполнены для успешной реализации микросервисной архитектуры. К сожалению, простое применение современных технологий не решает магическим образом всех проблем присущих распределенным системам. Мы рассмотрим основных игроков и то, что успешные компании сделали, чтобы микросервисы на них работали, включая культуру, организационную структуру и факторы рынка. Затем мы совершим глубокое погружение в несколько Java-фреймворков, используемых в реализации микросервисов. Репозиторий примеров исходных кодов из данной книги расположен на GitHub. Испачкав руки в коде, мы вернемся на воздух и обсудим проблемы развертывания, кластеризации, отказоустойчивости и то, какие решения предлагают Docker и Kubernetes в этих областях. Затем мы снова вернемся к деталям нескольких практических примеров с применением Docker, Kubernetes и NetflixOSS для демонстрации возможностей, которые они придают облачной микросервисной архитектуре. Закончим мы некоторыми положениями, которые мы не можем раскрыть в такой небольшой книге, но которые от этого не становятся менее важными: конфигурирование, протоколирование и непрерывная поставка (CD).Микросервисы — это не только вопрос технологий. Реализация микросервисов уходит корнями в теорию саморегулирующихся систем, проектирование сервисов, эволюцию, проблемно-ориентированное проектирование, анализ зависимостей, теорию обязательств и другие источники. Собранные вместе, они позволяют нам организовать действительно технологически гибкие, отзывчивые, обучаемые системы, позволяющие оставаться конкурентными в быстроменяющемся мире бизнеса. Давайте рассмотрим поближе. Вы работаете на компанию-разработчика ПО Программное обеспечение действительно «поедает» весь мир. Бизнес понемногу начинает это понимать. Существует два основных двигателя этого феномена: удовлетворение потребностей посредством высококачественных сервисов и быстрая коммодизация технологий. Эта книга имеет, в основном, формат практического руководства с примерами, но прежде чем мы погрузимся в технологии, нам необходимо правильно расставить декорации и понять, кто участвует и какую роль исполняет. В последние годы мы «до тошноты» обсуждали, как сделать бизнес более гибким, однако мы должны полностью разобраться, что это значит. Иначе мы получим очередную банальность, с которой и так все вокруг носятся.Ценность услуги На протяжении более чем 100 лет бизнес был сосредоточен на создании продуктов и убеждении покупателей в необходимости потребления этих продуктов: столы, микроволновки, автомобили, обувь, да всё что угодно. Идея, стоящая за всей этой «ведомой производителем» экономикой, происходит из сформулированного Генри Фордом тезиса — «если Вы можете произвести большое количество продукции при малых издержках, то рынок будет практически бесконечным». Для того, чтобы это работало, Вам потребуется несколько односторонних каналов прямого маркетинга в массы, чтобы убедить их в том, что они нуждаются в вашей продукции и их жизнь с ними станет значительно лучше. Практически весь 20-й век эти однонаправленные каналы существовали в форме рекламы на телевидении, в газетах, журналах и на рекламных щитах. Однако, такая ведомая производителем экономика «сложилась» потому, что рынки полностью насытились продукцией (сколько телефонов/автомобилей/телевизоров Вам нужно?). Более того, Интернет вместе с социальными сетями изменяет динамику взаимодействия производителей с потребителями (и что более важно то, как потребители взаимодействуют с производителями).Социальные сети позволяют нам как потребителям свободнее обмениваться информацией друг с другом и с компаниями, с которыми мы имеем дело. Мы доверяем друзьям, семье и другим людям больше, чем маркетинговым отделам компаний. Вот почему мы прибегаем к помощи социальных сетей при выборе ресторанов, отелей и авиаперевозчиков. Положительные отклики в виде обзоров, твитов, ссылок и т.п. могут положительно повлиять на бренд компании, а отрицательные отзывы также легко и непринужденно могут его разрушить. Это создает мощный, ранее не существовавший, двунаправленный поток информации между компаниями и потребителями, при котором бизнес старается удержаться и не уронить марку. Постиндустриальные компании начинают понимать, что они должны пестовать свои взаимоотношения с потребителями (используя эти двунаправленные каналы коммуникаций), чтобы понимать, как создать и донести до них ценность как таковую. Для достижения этого компании организуют взаимодействие через службу сервиса, через постоянную оценку удовлетворенности покупателей и обратную связь. Потребители выбирают какой сервис использовать и за какой заплатить в зависимости от того, кто предоставляет большую ценность и удобство. Возмём, например Uber, у которого нет никакого склада или продаваемых продуктов как таковых. Я не получаю никакой пользы от сидения в чьём-либо автомобиле, но обычно я пытаюсь добраться куда-нибудь (на бизнес-встречу, например), что и представляет для меня ценность. В таком контексте Uber и я создаем ценность через моё использование их услуги. Развивая мысль — компании должны сосредоточиться на предоставлении полезных для потребителей услуг, а технологии будут обеспечивать процесс посредством цифровых сервисов. Коммодизация технологий Технологии развиваются по схожим с экономикой, биологией и юриспруденцией циклам взрывного роста и стагнации. Это привело к великим новациям таким, как паровой двигатель, телефон и компьютер. Тем не менее, на конкурентных рынках ключевые новации требуют больших инвестиций и скорого внедрения для быстрой капитализации на соответствующем рынке. Это создает еще большую конкуренцию, большие объемы производства и ведет к падению цен, что в конце концов делает ранее инновационную технологию общеупотребительной. По мере коммодизации мы продолжаем развивать инновации и видоизменяться — цикл повторяется. Коммодизация привела нас от мэйнфреймов к персональному компьютеру и к тому, что мы сейчас называем «облачными вычислениями», которые по сути представляют собой общедоступную услугу с практически нулевыми капитальными затратами для потребителя. Поверх облачных вычислений мы теперь развиваем другую новацию в форме цифровых сервисов.Существенную роль в технологических изменениях играет программное обеспечение (ПО) с открытым кодом. Следуя кривой коммодизации, сообщества ПО с открытым кодом это место, где разработчики могут бросить вызов коммерческим компаниям, создавая инновации в программном обеспечении в областях, где однажды был выбор только из «любого черного» (да еще без исходных кодов и с высокой стоимостью лицензии). Отсутствие выбора подталкивает сообщества к созданию таких вещей, как операционные системы (Linux), языки программирования (Go), менеджеры очередей (Apache ActiveMQ) и веб-сервера (httpd). Даже те компании, которые изначально отвергали ПО с открытым кодом начинают постепенно присоединяться, открывая исходные тексты своих технологий и внося свою лепту в существующие сообщества. По мере того, как ПО с открытым кодом и связанная с ним экосистема становятся нормой, мы начинаем наблюдать множество инноваций в программных технологиях, приходящие напрямую из мира открытого ПО (например Apache Spark, Docker и Kubernetes). Разрушение Совместное влияние сервисно-ориентированного проектирования и эволюции технологий снижают входной барьер начала экспериментов и создания нового сервиса для каждого с хорошей идеей. Вы можете обучиться программированию, использованию продвинутых фреймворков и при этом опираться на вычислительные мощности по запросу почти с нулевыми затратами. Вы можете публиковать в социальных сетях, блоге, организовывать диалог с потенциальными пользователями вашего сервиса совершенно бесплатно. С существующей степенью изменчивости бизнес-рынков любой из стартапов выходного дня может «выбить» традиционную компанию из бизнеса.И этот факт пугает большинство исполнительных и ИТ-директоров. По мере того, как программное обеспечение быстро становится для компаний средством построения цифровых услуг, накопления опыта и приобретения преимущества над другими, многие понимают, что они должны стать разработчиками ПО в своих соответствующих «вертикальных» рынках. Прошли дни тотального ИТ-аутсорсинга и отношения к ИТ, как к общеупотребительной услуге и центру затрат. Чтобы оставаться конкурентоспособными, компаниям нужно принять программное обеспечение как конкурентное преимущество. А чтобы воспользоваться этим конкурентным преимуществом — они сами должны стать организационно гибкими. Источник: habrahabr.ru Комментарии: |
|