У дома Бизнес Микросервизи: какви са те и защо вашият бизнес трябва да се интересува

Микросервизи: какви са те и защо вашият бизнес трябва да се интересува

Видео: РС DONI ft Ð¢Ð¸Ð¼Ð°Ñ Ð¸ Ð Ð¾Ñ Ð¾Ð´Ð° Ð Ñ ÐµÐ¼Ñ ÐµÑ Ð° клипа, 2014 (Септември 2024)

Видео: РС DONI ft Ð¢Ð¸Ð¼Ð°Ñ Ð¸ Ð Ð¾Ñ Ð¾Ð´Ð° Ð Ñ ÐµÐ¼Ñ ÐµÑ Ð° клипа, 2014 (Септември 2024)
Anonim

Корпоративен софтуер на ландшафта е изпълнен с неясни технологии. Писали сме за много от тях, било то блокчейн, ниска разработка на код или други нововъзникващи тенденции, които променят начина ни на работа. Една нова модна дума, за която може да не сте чували преди, е „микросервизи“.

Това е по дизайн. Микросервизите са по-различен начин за архитектурен софтуер, базиран на набор от преплетени модулни компоненти, а не традиционната идея за „монолит“ - приложение, съставено от една непрекъснато нарастваща планинска кодова планина. Приложенията, базирани на микросервизи, не изглеждат по-различни от страна на потребителския интерфейс (UI), независимо дали е в сложно приложение за център за данни или уеб или мобилно приложение, хоствано в мащабирана облачна инфраструктура.

Причината, поради която предприятията трябва да се грижат за микросервизите, е, че зад кулисите архитектурата може да помогне на вашите разработчици и ИТ екипи да работят и иновации по-бързо, да управляват инфраструктурата и да намалят разходите и сложността на добавянето на нови функции и функционалност към приложение. Ал Хилва, програмен директор за софтуерно проучване за разработка на приложения в IDC, обясни как ще насочи микросервизите към екзек, като същевременно има предвид културните и технологичните предизвикателства.

"При изграждането на нови системи вероятно ключовият момент е да се признае, че една малка микросервиз трябва да бъде изградена от малък екип", каза Хилва. "Второ, толерантността към многообразието в езиците на програмиране и работните процеси на разработчиците често се подразбира от независимия характер на цялостната култура на микросервизите. Основната стъпка към exec е да се изгражда софтуер постепенно, като се използват малки екипи, като всяка изгражда съгласуван модул с публикуван Предимство е, че независимите модули могат да се развиват с много по-бързи темпове независимо, докато публикуваните API се управляват по организиран начин."

Какво представляват микросервизите?

Хилва е автор на доклад за IDC за 2015 г., озаглавен „Появата на микросервизите като нов архитектурен подход за изграждане на нови софтуерни системи“. В доклада той определя микросервизите като гранулирана софтуерна архитектура, при която компонентите на приложението са проектирани и еволюирани независимо, за да отговарят на дефинираните от API изисквания за оперативна съвместимост (което означава, вързани обратно в приложението като цяло). Микросервизите обаче не съществуват във вакуум. Нова архитектура изисква силна организационна подкрепа и промяна в ИТ културата.

Микросервизите също не са дефинирани от никоя конкретна технология, но като еволюция на дългогодишната концепция за архитектура, ориентирана към услуги (SOA), увеличена от появата на контейнери и нарастването на автоматизацията чрез подходи за развитие като непрекъсната доставка (CD) и непрекъсната интеграция (CI).

"Организациите, които използват микросервизи днес, обикновено са мотивирани от желанието за по-бърз темп на развитие на услугите", каза Хилва. „По този начин в повечето подобни случаи микросервизите използват CI / CD автоматизация до голяма степен. Темпът на действителното внедряване обаче може да е различен между службите. Мисля, че ключът е да разгледате добре вътрешната култура и да бъдете сигурни сте, че сте готови да толерирате по-голяма децентрализация и многообразие в технологичния пакет."

Под „вътрешна култура“ Hilwa до голяма степен се отнася до DevOps, философия, която комбинира разработването на софтуер, ИТ операциите и осигуряването на качество (QA) в единен, съвместен работен процес. Стартирането на софтуера на DevOps HashiCorp и неговите основатели отдавна са привърженици на микросервизите. Компанията, която наскоро осигури 24 милиона долара кръг от финансиране от серия B, брои компании като Cisco, DigitalOcean, Mozilla и Stripe сред своите потребители с отворен код и корпоративни клиенти.

Микросервизите са основни за начина, по който HashiCorp подхожда към развитието на инфраструктурата на DevOps и работните процеси в приложенията в своите популярни инструменти с отворен код и нарастващия набор от продукти на предприятието. Armon Dadgar, CTO и съосновател на HashiCorp, разби разликата между монолитите и микросервизите, използвайки проста аналогия: Amazon и eBay.

"Мислете за Amazon и eBay като единични приложения. От гледна точка на крайния потребител, те изглеждат сходно, но зад кулисите, компаниите предприемат противоположни подходи в начина на изграждане и архитектура на техните приложения", каза Дадгар. „Amazon от началото е пакет от микросервизи; действа като едно приложение. Но ако вземете търсенето, каталога на продуктите, кошницата, фактурите, потоците от поръчки и разделите тези функции, двете приложения се изпълняват на различни машини."

Аналогията на Amazon се простира и до структурата на самата Amazon. Dadgar обяснява технологичните подходи като микросервизите като инструменти за подпомагане на по-голямото движение на процесите към DevOps. „Правилото за две пици“ на Джеф Безос работи така, че само между пет и осем души са на всеки даден екип на Amazon. Ако екипът стане по-голям, тогава той се разделя на две.

Организационната йерархия на Amazon започва да се очертава към това, което Dadgar описва като "разлагане на функционалността". Разделен както на организационно, така и на модулно ниво на архитектура, всеки екип след това има способността да се развива и експериментира по-свободно, без да е необходимо да се координира при всяка промяна - като през цялото време все още функционира като част от едно сплотено приложение.

"eBay взе монолитен подход; те изградиха целия eBay като дълга 50-милионна линия за прилагане на код", каза Дадгар. „Подходът към микросервизите е по-болезнен в началото, защото проблемите с модулността и оперативната съвместимост са тези, които не съществуват в монолит. Но нещата започват да се разрушават, когато приложението стане прекалено голямо. В монолита няма разлагане.

„Помислете за стотици или хиляди разработчици, които си сътрудничат в една кодова база и се опитват да координират. Екипът по QA, добавящ функционалност от едната страна на приложението, може да прекъсне нещо от другата страна, защото няма ясно разделение на ролите и отговорностите. ако започнете да се нуждаете от все по-голяма координация между ръководителите на проекти и QA процес, който може да отнеме седмици и затруднения, независимо колко бързо работи екипът. Това е твърде много готвачи в кухнята."

Контейнери и микросервизи в света на DevOps

Начинът, по който вашият бизнес внедрява архитектура на микросервизи, ще извърви дълъг път към определяне дали инвестицията се изплаща или не. Микросервизите са много работа напред, особено в интеграцията на API, която е необходима, за да сте сигурни, че всички услуги разговарят помежду си. Хилва обясни, че е още по-сложно, когато се опитва да интегрира микросервизи в съществуваща система; той препоръчва предприятията да изграждат нови системи, когато е възможно, вместо да преструктурират наследствено монолитно приложение за микросервизи.

„Традиционните системни архитектури обикновено включват големи, сложни системи от бази данни със сложни нормализирани схеми“, каза Хилва. "Факторирането на такива системи на по-малки компоненти със собствени независими системи изисква много работа по проектиране на бази данни и ефективно пренаписване на повечето от основните логики на приложението. Това в повечето случаи е забраняващо разходите и времето."

Ако реинструктирате наследствено приложение, тогава Hilwa ви съветва да го правите постепенно. Макар и по-важни от интеграцията в API, микросервизите не работят без културата DevOps зад нея. Dadgar на HashiCorp каза, че когато става въпрос за по-големия чадър на DevOps, микросервизите се превръщат в инструмент за улесняване на по-голям процес на преминаване към фундаментална промяна на работните процеси, чрез които доставяме приложения. Той посочи даото на HashiCorp, изложено, когато той и съоснователят Мичъл Хашимото стартира компанията: проста, модулна и комбинираща се.

„DevOps в известен смисъл е още по-претоварен термин от микросервизите“, каза татко. „Но бизнесът е съставен от хора с различни специалности на знанието: разработчици, оператори, служители по сигурността. И тогава имате процес, начинът, по който организирате тези хора. Тогава имате инструментите, за да поддържате този процес, където са микросервизите и контейнерите. Влез."

Контейнерите, популяризирани от експлозията с отворен код на Докер, далеч не са единственият инструмент, който предприятията могат да използват за улесняване на микросервизите. Хилва от IDC каза, че контейнерите се използват в съвременните приложения като част от работните процеси на CI / CD и в някои случаи, докато се разгръщат към производството. Но той каза, че микросервизите могат да използват и виртуални машини (VM), без да са необходими контейнери.

В това отношение, когато става въпрос за начините, по които се развиват бизнес облаците, Docker контейнерите и микросервизите са мощна комбинация от инструменти, която се възприема от бизнес с всякаква форма и размери - от стартиращи компании като HashiCorp до корпоративни гиганти като Oracle. Дадгарът на HashiCorp каза, че контейнерите са удобното средство, чрез което Dev и Ops (и по асоциация, различни екипи и услуги) общуват помежду си.

"Какъв е артефактът, който предаваме между разработчиците и операторите? Какво преливаме задълбочено и изграждаме наоколо? Контейнерите са удобна единица за преминаване наоколо", каза татко. „Помислете за глобален корпоративен продукт, доставящ целия свят. Независимо дали става дума за товарен кораб, товарен влак или камион, това е едно и също устройство, преминаващо през цялата система.“

DevOps и микросервизите все още са далеч от широкото възприемане на предприятията, но пазарът само расте. Според доклада на IDC архитектурата на микросервизите ще навлезе във фаза на зреене през следващите пет години. Този зрялост ще настъпи в петите на културата DevOps, достигаща до 50 процента от организациите до 2020 г., продължаващото развитие на инструментите за автоматизация на софтуера и доминирането на евтината, мащабируема облачна инфраструктура, предоставена от харесванията на Amazon Web Services (AWS) и Microsoft Azure.

Дадгар каза, че дори и с малката част от предприятията, които се възползват от DevOps и микросервизи в момента, HashiCorp вече е значително препълнен. Той постигна първите си седемцифрени приходи след само девет месеца от продажби на предприятия, в допълнение към общността с отворен код в GitHub от няколко милиона активни месечни потребители. Микросервизите са само част от тръбопровода за инструменти за работа на HashiCorp и по-голямата пътна карта за инфраструктурата на DevOps. Но модулността и оперативната съвместимост под всичко, което компанията изгражда, подхранва метеоритния възход на един от най-горещите софтуерни стартирания в Силиконовата долина.

„Преди четири години, когато започнахме, щяхме да ходим на срещи и да изложим визията си за това как ще се управлява инфраструктурата“, каза татко. "Ние не бяхме точно от смях извън стаята; знаехме, че е рано. Но сега нашите инструменти като Terraform са на път да се превърнат в индустриални стандарти. Това, което ще видим, е ефект на домино от конкурентен натиск и в дългосрочен план нашата роля ще бъде да работим със служители и технически директори, за да разберем процеса на промяна, който трябва да предприемат.

- Помислете за Тойота още през деня - продължи Дадгар. „Имате куп автомобилни компании, които строят продукти, но цената е по-висока, отколкото трябва да бъде. Toyota не е изобретил изобщо каква кола е, те просто бяха по-строги и постепенни по отношение на процеса и преминаха от смеещи се до електроцентрали, принуждавайки останалата част от индустрията да възприеме същия набор от практики, за да остане конкурентоспособна. В момента ние имаме лидери в индустрията, които питат как могат да получат конкурентно предимство, а отговорът им е да възприемат практиките на пазара на Googles и Amazons. точка, тя ще удари критична маса."

Микросервизи: какви са те и защо вашият бизнес трябва да се интересува