RSS

Комментарии

Всем привет. Недавно открыл для себя интересный факт, что товарищ Винстон Ройс (Dr. Winston D. Royce), анонсируя свой знаменитый Waterfall говорил об итеративной модели разработки.

Наверняка, все, кто хоть как-то связаны с разработкой/тестированием ПО, знают о каскадной модели и об ее особенностях:
— высокий уровень формализации процессов;
— большое количество документации;
— и конечно же, жесткая последовательность этапов жизненного цикла без возможности возврата на предыдущий этап.

Изображение не загружено

Ознакомившись с выдержкой из трудов Ройса, оказалось, что он предусматривал обратные связи между этапами на одном уровне (к примеру, дизайн-кодирование, кодирование-тестирование и т.д.).

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

К примеру, если рассмотреть параллельные работы по 2 последовательным фазам — Coding и Testing, становится очевидным, что часть программы выдается в тестирование, в то время как другая часть все еще находится на стадии разработки.
Т.е. получается, что речь действительно идет об итеративной методологии разработки ПО.

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

В общем, самостоятельное развертывание кластера — непростая задача, поэтому сначала стоит разобраться, нужна ли вам эта технология в принципе.
Kubernetes был создан Google на основе собственного опыта работы с контейнерами в производственной среде, и своим успехом он во многом обязан именно Google.

Так что же такое Kubernetes и для чего мы в принципе хотим использовать именно его, а не обычные контейнеры, например Docker.

Давайте вспомним что такое контейнеры.

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

Все было бы отлично, но есть одно но — container runtime API (API среды запуска контейнера) хорошо подходит для управления отдельными контейнерами, но совершенно не подходит для управления приложениями на сотне контейнеров и на большом количестве хостов.

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

Вот для такого и нужен Kubernetes.

Kubernetes — это система с открытым исходным кодом для развертывания, масштабирования и управления контейнезированными приложениями.

Kubernetes по сути является не просто системой оркестрации. Технически оркестрация это про выполнение определенного рабочего процесса: сначала сделай A, затем B, затем C.

Kubernetes же устраняет прямую необходимость в этом. В нем есть процессы управления, что по факту независимы и компонуемы. Главная задача процессов управления перевести текущее состояние к нужному состоянию. Теперь нам неважно какой будет маршрут от А до С, что исключает централизованный контроль.
Благодаря этому система теперь более проста в использовании, мощная, надежная, а также устойчивая и расширяемая.

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

Сделать это только с помощью контейнеров не получится. А вот в Kubernetes это можно достичь с помощью Pods (подов).

Pod (под) — это группа из одного или более контейнера с общим хранилищем/сетевыми ресурсами и спецификацией как запускать контейнеры. Так же это отдельный инстанс приложения. Размещая контейнеры таким образом, Kubernetes устраняет соблазн втиснуть слишком много функций в один образ контейнера.

Концепция Service (Сервисы) в Kubernetes используется для группирования нескольких подов, которые выполняют те же функции. Сервисы легко настраиваются для таких целей как обнаружение, горизонтальное масштабирование и балансировка нагрузки.
Приветствую, коллеги!
Хотел бы добавить еще одну Российскую СУБД, которую можно отнести к классу мультимодельных — ODANT.
1. Хранилище данных реализовано в виде DOM структур (можно было бы сказать XML, но это не так, хотя для удобства пользователей эти бинарные DOM структры могут быть получены через REST API в виде XML, JSON, HTML и т.п.), поддерживаются языки запросов XQuery и XUpdate.
2. Организовано хранилище в виде древовидной иерархии, которая может распространяться на любое количество распределенных серверов (нод).
3. Ветви в иерархии являются объектными Классами, которые могут содержать экземпляры (Объекты). В этих Классах полностью реализована объектная парадигма (наследование, полиморфизм, инкапсуляция и т.д.), но не на программном, а на информационном уровне.
4. Информационные Классы, помимо описания модели (свойств) и хранения экземпляров, могут содержать встроенные (кастомные) методы и представления, которые автоматически добавляются в API сервера.
5. Типизация данных реализована на основе собственных же информационных Классов (т.е. количество типов данных равно общему количеству находящихся в сети ODANT различных Классов, на сегодня >10 000)
6. Написана на С++, поддерживает ОС Windows, Linux 1.8+ (кстати есть сертификат под Астру) и процессоры x86, MIPS, ARM.
7. Имеет встроенный объектно-рекактивный язык программирования ROCKS.js (диалект ECMAScript), работающий с единой кодовой базой как на стороне сервера, так и клиента.
8. Имеет встроенный визуальный объектно-рекативный PWA фреймворк ODAJS (работает на всех современых браузерах, и в виде PWA приложений под Windows, Android, IOS).
9. 99% — Российская (1% — Node.js, использующаяся на стороне сервера для обработки ROCKS модулей)
10. Несмотря на то, что СУБД разрабатывалась с 1998 года, она мало известна. на сегодняшний день всего около 400 внедрений, в основном сложные системы управления деятельностью в ЖКХ, медицине, энергетике, госуправлении (одно из решений получило статус ГИС), есть 2 успешных проекта полной замены SAP в одной госкорпорации.
11. С 2017 года находится реестре отечественного ПО
Для этого лучше использовать данные с синтетических тестов для производительности. А вот параметры удобства и т.д., наверное, лучше смотреть в сравнениях конкретных СУБД. Но сама идея взять несколько кейсов и сделать сравнение по типам хорошая, хотя скорее всего будут явные лидеры и много исключений, не попадающих в методологию сравнения.
Спасибо за статью, а вы встречали материал, который бы на конкретном практическом примере показывал плюсы и минусы различного типа СУБД?
Отличная система! DST Platform помогла мне справиться с самыми сложными проектами без лишних сложностей. Я не очень опытный в программировании, но благодаря этой системе я могу легко публиковать и управлять проектами. Очень удобный и интуитивно понятный интерфейс, который делает работу с системой приятной и эффективной. Большой плюс в том, что DST Platform имеет открытый исходный код, что обеспечивает дополнительную безопасность. Рекомендую всем, кто ищет надежную и удобную систему для работы с проектами любой сложности!
Отличная система! DST Platform помогла мне справиться с самыми сложными проектами без лишних сложностей. Я не очень опытный в программировании, но благодаря этой системе я могу легко публиковать и управлять проектами. Очень удобный и интуитивно понятный интерфейс, который делает работу с системой приятной и эффективной. Большой плюс в том, что DST Platform имеет открытый исходный код, что обеспечивает дополнительную безопасность. Рекомендую всем, кто ищет надежную и удобную систему для работы с проектами любой сложности!
Этот продукт — настоящее спасение для моего бизнеса! Благодаря DST Маркетплейсу я смог запустить свой проект быстро и без лишних хлопот. Уже настроенные бизнес-процессы сэкономили мне массу времени и усилий. К тому же, управленческие и клиентские сервисы продуманы до мелочей, что делает работу с платформой еще более удобной.

Не могу не отметить качественную техническую поддержку и возможность индивидуальных доработок — это действительно ценно для меня как для владельца бизнеса. DST Маркетплейс — это идеальное сочетание гибкости, универсальности и масштабируемости. Я доволен своим выбором и настоятельно рекомендую этот продукт всем, кто хочет развивать свой бизнес в онлайн пространстве!
Этот продукт — настоящее спасение для моего бизнеса! Благодаря DST Маркетплейсу я смог запустить свой проект быстро и без лишних хлопот. Уже настроенные бизнес-процессы сэкономили мне массу времени и усилий. К тому же, управленческие и клиентские сервисы продуманы до мелочей, что делает работу с платформой еще более удобной.

Не могу не отметить качественную техническую поддержку и возможность индивидуальных доработок — это действительно ценно для меня как для владельца бизнеса. DST Маркетплейс — это идеальное сочетание гибкости, универсальности и масштабируемости. Я доволен своим выбором и настоятельно рекомендую этот продукт всем, кто хочет развивать свой бизнес в онлайн пространстве!
Отличная платформа! С DST Platform мой рабочий процесс стал намного эффективнее. Теперь я могу легко обмениваться ресурсами между несколькими веб-сайтами и поддерживать одновременно множество проектов для клиентов. Система управления конфигурацией позволяет быстро разворачивать установки и обновления, что существенно упрощает мою работу. DST Platform действительно помогает сохранить согласованность работы и стабильность сайтов. Рекомендую всем веб-студиям и разработчикам, которые хотят улучшить свой процесс работы и повысить эффективность!
Отличная платформа! С DST Platform мой рабочий процесс стал намного эффективнее. Теперь я могу легко обмениваться ресурсами между несколькими веб-сайтами и поддерживать одновременно множество проектов для клиентов. Система управления конфигурацией позволяет быстро разворачивать установки и обновления, что существенно упрощает мою работу. DST Platform действительно помогает сохранить согласованность работы и стабильность сайтов. Рекомендую всем веб-студиям и разработчикам, которые хотят улучшить свой процесс работы и повысить эффективность!
Отличная платформа! С DST Platform мой рабочий процесс стал намного эффективнее. Теперь я могу легко обмениваться ресурсами между несколькими веб-сайтами и поддерживать одновременно множество проектов для клиентов. Система управления конфигурацией позволяет быстро разворачивать установки и обновления, что существенно упрощает мою работу. DST Platform действительно помогает сохранить согласованность работы и стабильность сайтов. Рекомендую всем веб-студиям и разработчикам, которые хотят улучшить свой процесс работы и повысить эффективность!
DST Platform — это настоящая находка для тех, кто хочет создать качественный и уникальный веб-сайт с минимальными затратами времени и усилий. Система управления содержимым DST Platform отличается простотой в использовании и множеством возможностей для создания разнообразных проектов.

Наша компания воспользовалась DST Platform для создания своего собственного портала, и результат нас приятно удивил. Благодаря гибкости и универсальности этой платформы, мы смогли легко настроить дизайн и функционал своего сайта, не прибегая к помощи специалистов.

Кроме того, поддержка PHP позволяет использовать различные плагины и расширения для улучшения функционала сайта. DST Platform действительно помог мне воплотить свои идеи в жизнь, и я рекомендую этот продукт всем, кто хочет создать качественный веб-сайт без лишних хлопот.
Это просто невероятно, как автоматизированное тестирование может упростить жизнь тестировщиков в нашей компании! Благодаря специальным программным решениям, мы можем быстро и эффективно проверить работоспособность приложения, не тратя массу времени на ручное тестирование. Теперь мы можем сосредоточиться на создании качественного продукта, а не на поиске ошибок. Я в восторге от возможностей, которые предоставляет автоматизированное тестирование!
Это просто невероятно, как автоматизированное тестирование может упростить жизнь тестировщиков в нашей компании! Благодаря специальным программным решениям, мы можем быстро и эффективно проверить работоспособность приложения, не тратя массу времени на ручное тестирование. Теперь мы можем сосредоточиться на создании качественного продукта, а не на поиске ошибок. Я в восторге от возможностей, которые предоставляет автоматизированное тестирование!
ИНтересно почему банки грубейшим образом нарушают законодательство, в частности о персональных данных, без согласия на передачу персональных данных третьим лицам ни один банк не откроет вам банковскую даже не кредитную, а дебетовую карту, допустим человек не против обработки персональных данных банком, внутри своего банка, но против передачи данных третьим лицам
Стандартные компоненты — это странная фраза. Если под ними подразумевается компоненты симфонии, то навряд ли они стандартные, скорей популярные. Yii с чего их должен использовать, когда у них первая ветка была писана уже давно, и наработок было воз и тележка: activerecord, request/response…
Что делает Yii2 фреймворк особенным?

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

Что касается вопроса использования PHP фреймворк, есть так много преимуществ, чтобы поступить так, что это становится и ежу понятно.

Плюсы

Вот несколько очевидных преимуществ использования фреймворка, который:
— Использует стандартные способы решения задач, что уменьшает или устраняет запутанность кода.
— Сокращает время, затрачиваемое на рутинные задачи, такие как проверка форм и безопасность.
— Облегчает командную работу с помощью соблюдения стандартов.
— Облегчает поддержку кода с использованием общей архитектуры и методов.
— Имеет активное сообщество разработчиков, которые поддерживают фреймворк, обобщенные задачи и новые возможности.

Минусы

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

Другое дело, очевидно, когда вы работаете с фреймворком, то работаете с огромным количеством кода, который не вы писали и придётся потратить время, чтобы понять, как это все работает. Некоторые части кода могут быть довольно непонятны в зависимости от вашего уровня мастерства и опыта, поэтому не следует ожидать, что вам будет сразу все понятно. Это не произойдёт мгновенно.

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

Итак, самое простое — это понять, что использование фреймворка поможет вам разрабатывать более стройный и надежный проект, но теперь самое трудное. Вы должны решить, какой фреймворк использовать.
Почему я выбрал Yii2

Я не могу сказать какой фреймворк для вас лучший, что вам интересно и вам лично решать, но я могу немного рассказать о дороге, которая привела меня к Yii2. Это не было решением руководимым необходимостью найти легкий путь изучения PHP, это точно. В моей компании еще в 2012 году, я был в команде разработчиков, которые рассматривали различные фреймворки и должен был решить, какой из них использовать. В то время я даже не мечтал, что напишу книги об одном из них.

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

Однако наша команда программистов сделала предпочтение. Они чувствовали, что Yii 1.1.14 был лучшим выбором. Это была версия фреймворка, которая была доступна в то время, мы выбрали её. Поэтому команда приняла этот фреймворк и никогда не оглядывалась назад. Они полюбили её.
Я, с другой стороны, остался разочарованным. Так как я был только начинающим программистом, и действительно изо всех сил пытался этому научиться. Я не находил этот фреймворк очень интуитивным и понятным. Особенно после сравнения его с другими платформами, где старались все интегрировать красиво, а архитектура Yii казалась мне просто уродливой.

Я так расстроился в один прекрасный момент, что начал искать другой вариант.

Другие варианты

Я хотел найти красиво написанную документацию для нового фреймворка и запустить её мимо команды. Но всегда получал одинаковый ответ. Команда была довольна фреймворком Yii.

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

Затем произошло чудо.

Появление Yii2

Я нашел Yii2 Альфа. Мне было любопытно увидеть, какие различия были в Yii2, по сравнению с бывшей 3 года на тот момент платформой. Так что я нырнул в неё и к моему глубокому и полному удивлению, я мгновенно получил с ней контакт. Я понимал структуры. Я мог бы написать код, который фактически работал!

Какое это было великое чувство. Я лично нашел, что Yii 2 будет наиболее интуитивно понятной и элегантной из всех PHP-фреймворков, которые я изучал. У меня столько энтузиазма, что я хочу поделиться им, с каждым программистом которого знаю, и даже тех, кого я не знаю, что побудило меня написать эту книгу.

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

Как это здорово! Хотя я был начинающий программист, когда изучал PHP-фреймворки, я не имел опыта работы с базами данных и это одна из областей, на мой взгляд, где Yii2 действительно блещет.

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе 170 Е.
Региональный оператор Сколково. Технопарк Нобель

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон