Сливането на OpenTracing и OpenCensus: пътят към конвергенцията

Сливането на OpenTracing и OpenCensus: пътят към конвергенцията

Автори: Тед Янг, Притам Шах и «Комитет за технически спецификации» (Карлос Алберто, Богдан Друту, Сергей Канжелев и Юрий Шкуро).

Съвместният проект получи името: http://opentelemetry.io

Много, много накратко:

  • Ние създаваме нов унифициран набор от библиотеки и спецификации за наблюдение на телеметрията. Той ще обедини проектите OpenTracing и OpenCensus, а също така ще предостави поддържан начин за миграция.
  • Референтната реализация на Java ще бъде налична на 24 април, а работата по реализациите на други езици ще започне в пълна степен от 8 май 2019 година. Запознайте се с графика тук.
  • До септември 2019 година е планирано постигането на паритет с съществуващите проекти за C#, Golang, Java, NodeJS и Python. Очаква ни много работа, но ще се справим, ако работим паралелно. Ако сте заинтересовани да се включите в този проект, моля, регистрирайте се и ни уведомете как бихте искали да помогнете.
  • Когато реализацията на всеки език достигне зрялост, съответните проекти OpenTracing и OpenCensus ще бъдат закрити. Това означава замразяване на старите проекти, а новият проект ще продължи да поддържа съществуващия инструментариум в продължение на две години, използвайки обратна съвместимост.

Преглед на проекта

Сливането на OpenTracing и OpenCensus: пътят към конвергенцията

Правим сливане! Най-висшата цел е да обединим проектите OpenTracing и OpenCensus в един общ проект.
Ядрото на новия проект ще бъде набор от чисти и добре обмислени интерфейси, включително традиционното изграждане на библиотеки, които реализират тези интерфейси под формата на т.нар. SDK. Вишенката на тортата ще бъдат препоръчаните стандарти за данни и проводими протоколи, включително общи части от инфраструктурата.
Резултатът ще бъде напълно функционираща телеметрична система, подходяща за мониторинг на микросервизи и други видове съвременни разпределени системи, съвместима с повечето основни OSS и търговски базови приложения.

Основни събития

24.04 — Референтният кандидат предоставен за преглед.
8.05 — Създава се екип, който започва работа на всички езици.
20.05 — Официален старт на проекта на Kubecon Barcelona.
6.09 — Реализациите на C#, Golang, Java, NodeJS и Python достигат паритет с аналогите.
6.11 — Официално приключване на проектите OpenTracing и OpenCensus.
20.11 — Прощална вечеринка в чест на завършването на проектите на Observability Summit, Kubecon San Diego.

Хронология на конвергенцията

Сливането на OpenTracing и OpenCensus: пътят към конвергенцията

Миграцията за всеки език включва изграждане на SDK, готово за промишлено внедряване, инструменти за популярни библиотеки, документация, CI, средства за обратно съвместимост и затваряне на свързани проекти OpenCensus и OpenTracing („залез“). Поставихме амбициозна цел за септември 2019 година — постигане на паритет за езиците C#, Golang, Java, NodeJS и Python. Ще преместим датата за „залез“ докато всички езици не са готови. Но за предпочитане е да избегнем това.
Когато преглеждате целите, моля, помислете за своето лично участие, уведомете ни за това, като попълните регистрационна форма, или приветствайки в чатове Gitter на проектите OpenTracing и OpenCensus. Можете да видите графика под формата на инфографика тук.

Цел: първа чернова на междудисциплинарната спецификация (завършване до 8 май)

Важно е да работим сплотено, дори когато работим паралелно на различни езици. Междудисциплинарната спецификация осигурява ръководство за проекта. Звучи прозаично, но това е гаранция за поддръжка на цялостната система, която изглежда позната независимо от езика на програмиране.

Задължителни изисквания за първия черновик на спецификацията за език Х:

  • Определения на обща терминология.
  • Модел за описване на разпределени транзакции, статистики и метрики.
  • Разяснения по важни въпроси, възникнали по време на реализацията.

Тази цел блокира останалата работа, първият черновик трябва да бъде завършен до 8 май.

Цел: първа чернова на спецификацията за данни (завършване до 6 юли)

Спецификацията за данни определя общ формат за данни за трасировки и метрики, така че данните, експортирани от всички процеси, да могат да бъдат обработвани от една и съща телеметрична инфраструктура, независимо от процеса на генериране на данните. Включена е схема на данните за модела на трасировка, описан в междудисциплинарната спецификация. Също така са включени определения на метаданни за общи операции, които трасировката използва за улавяне: например, HTTP-заяви, грешки и заявки към базата данни. Тези семантични споразумения са пример.

Първата чернова се базира на текущия формат на данни OpenCensus и ще съдържа следното:

  • Схема на данните, реализираща междудисциплинарната спецификация.
  • Определения на метаданни за общи операции.
  • Определения на JSON и Protobuf.
  • Реализация на еталонни клиенти.

Молим да обърнете внимание, че съществува и проводен протокол, който разпространява трасировки вътреполосно и който също бихме искали да стандартизираме. Формат на разпространение Trace-Context разработва се чрез W3C.

Цел: паритет за всички основни поддържани езици (завършване до 6 септември)

Трябва да постигнем паритет за текущата езиковата екосистема, за да можем да заменим старите проекти с нови.

  • Определения на интерфейса за трасировка, метрики и разпространение на контекст на база на междуспецификация.
  • Готов за работа SDK, реализиращ тези интерфейси, експортиращ Trace-Data. Когато е възможно, SDK ще бъде създаден чрез прехвърляне на съществуващата реализация от OpenCensus.
  • Инструментариум за популярни библиотеки, обхванати в момента в OpenTracing и OpenCensus.

Ние също ценим обратно съвместимостта и искаме да осигурим плавен преход от съществуващите проекти.

  • В новия SDK ще има средства за обратно съвместимост с текущите интерфейси на OpenTracing. Те ще позволят остарели инструментални средства OpenTracing да работят заедно с новите инструментални средства в един и същи процес, което ще позволи на потребителите постепенно да прехвърлят своите разработки.
  • При готовността на новия SDK ще бъде изготвен план за обновление за настоящите потребители на OpenCensus. Както в случая с OpenTracing, остарелите инструменти ще могат да продължат да работят заедно с новите.
  • До ноември и OpenTracing, и OpenCensus ще бъдат затворени за приемане на изменения. Обратната съвместимост с остарелите инструменти ще бъде поддържана в продължение на две години.

Създаването на най-добрия в своя клас SDK за всеки език изисква огромно усилие и точно това ни трябва най-много.

Цел: основна документация (завършване до 6 септември)

Критичен фактор за успеха на всеки проект с отворен код е документацията. Искаме да имаме първокласна документация и средства за обучение, нашите технически писатели са най-активните разработчици в проекта. Обучението на разработчиците как да наблюдават софтуера правилно е едно от най-важните въздействия, което желаем да окажем на света.

Минимално необходимите части на документацията за начало са:

  • Ориентация на проекта.
  • Наблюдаемост 101.
  • Започи́н.
  • Ръководства за езици (отделно за всеки).

Каним писатели на всяко ниво! Нашият нов сайт е основан на Hugo, използвайки стандартна маркировка, така че е много лесно да se включите.

Цел: Registry v1.0 (завършване до 6 юли)

Registry — още един критично важен компонент, подобрена версия OpenTracing Registry.

  • Лесно е да се намерят библиотеки, плъгини, инсталатори и други компоненти.
  • Лесно управление на компонентите на Registry.
  • Можете да разберете какви функции на SDK са налични на всеки език.

Ако се интересувате от дизайн, интерфейсна част и UX — имаме страхотен проект за лично участие.

Цел: инфраструктура за тестване и пускане на софтуер (завършване до 6 септември)

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

Цел: закриване на проектите OpenTracing и OpenCensus (завършване до 6 ноември)

Планираме да започнем закриването на стари проекти от 6 септември, ако новият проект достигне паритет с тях. Два месеца по-късно, при паритет на всички езици, планираме закриване на проектите OpenTracing и OpenCensus. Това трябва да се разбира така:

  • репозиториите ще бъдат замразени, внасяне на поправки вече няма да се извършва.
  • за текущия инструментариум е предвиден двугодишен срок на поддръжка.
  • потребителите ще могат да се обновят на нов SDK, използвайки предишния инструментариум.
  • ще бъде възможно постепенно обновление.

Присъединете се

Ще се радваме на всяка помощ, тъй като това е огромен проект. Ако ви е интересно да научите повече за наблюдаемостта — сега е най-подходящото време!

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster