Судя по всему — это производительность. Сами для написания API выбрали Falcon (из-за скорости) и у них как раз есть страница с бенчмарками — falconframework.org/#Metrics. Насколько это правда — это уж не знаю. Сами не гоняли.
Сами видите где там Flask, а где Bottle. Bottle не сильно проседает относительно Falcon, но более удобен.
И если не ошибаюсь у Flask-а нет такого типа плагинов, как в статье описывается.
Мне пока из первого, что бесило в MySQL — понравилась возможность добавления столбцов и индексов без table locking.
А то не редко бывали случаи, когда долбаный ALTER TABLE на > 1 млн. записей убивал весь продакшн на часы.
Не подскажите где посмотреть про «известные крутилки в базе»?
Т.к. в MySQL давно про всякие innodb_flush_method, atrx и прочее в курсе, а вот PostgreSQL в это плане пока темный лес. Хотелось бы высокий порог вхождения сделать менее шершавым :)
В том-то и проблема, что взял, попробовал и не понял надо оно мне или нет. Все немного не так, как раньше. "\dt", система пользователей… А явных плюсов уцепить за несколько дней использования не удалось.
Эта компиляция показывает как при некоторых запросах MySQL может вести себя странно. Лично я с такими проблемами ни разу не столкнулся до сих пор… Поэтому чтобы попробовать PostgreSQL хочется чего-то еще… Не видели какого-нибудь why to choose PostgreSQL?
Прекрасно, спасибо.
Подскажите как у вас работает garbage collecting? Оно удаляет все или что-то определенное? Просто сборка муссора ассоциируется с чем-то, что работает само в фоне и удаляет мусор по каким-то критериям :)
Видимо человека смущает то, что Puppet позволяет писать как absent, так и 'absent' и т.д. :)
Но для этого есть puppet style guide где просто четко сказано КАК писать. Есть puppet-lint, который можно прикрутить к vim через syntastic и получать это все в режиме реального времени.
Тоже не понимаю где проблема в общем.
В моем случае я просто попросил разработчиков создать env переменную FACTER_serverID. Так как у нее префикс «FACTER_» она автоматически появляется у меня в puppet и я могу с нею работать $::serverID.
Еще делать описание самих нод я могу с помощью любого другого внешего скрипта. Поэтому я могу у себя в каком-нибудь биллинге прописать, что такой-то VPS надо поставить LAMP, puppet при подключении VPS запустит мой скрипт и я на лету сгенерирую ему описание ноды с включенным в нее mysql, apache и php. В ansible по-моему такого нет.
Просто, к примеру, у одного заказчика парк серверов и начиная с какого-то момента часть из них ушла под определенный проект, в котором есть БД со списком этих серверов и у каждого сервера свой ID. Т.е. на хостнеймы я опираться не могу.
В зависимости от ID я должен предпринимать какие-то определенные телодвижение в puppet. Я просто добавил дополнительные факт someConcreteID, который мне присылает сам сервер. Выплевывает его PHP код проекта, мне даже не интересно как.
На Ansible как я понимаю я должен писать на Python-е какой-то код с urllib, который через GET запрос стучится в БД проекта, получает ID и начинает какие-то телодвижения. Т.е. решение есть но оно как мне кажется менее удобное.
Мне сложно спорить, так как я пока не знаю ansible. Я, например, не совсем понял можно ли в ansible писать свои факты и модифицировать плагинами работу существующих модулей.
Прочитав соседнюю статью про AWS и Ansible пришел в небольшой шок, так как по-моему такой подход ужасен.
Правда, когда я пробовал Ansible на простых задачах он мне понравился. В том числе понравилась agentless использование, когда можно перед сдачей сервера клиенту сконфигурировать его по ssh без лишних телодвижений.
Но есть такое ощущение, что он прост и удобен до тех пор, пока задача не становится более-менее сложной. Пока опыта работы с ним мало, но от других админов слышал примерно такие выводы.
Сами видите где там Flask, а где Bottle. Bottle не сильно проседает относительно Falcon, но более удобен.
И если не ошибаюсь у Flask-а нет такого типа плагинов, как в статье описывается.
А то не редко бывали случаи, когда долбаный ALTER TABLE на > 1 млн. записей убивал весь продакшн на часы.
Не подскажите где посмотреть про «известные крутилки в базе»?
Т.к. в MySQL давно про всякие innodb_flush_method, atrx и прочее в курсе, а вот PostgreSQL в это плане пока темный лес. Хотелось бы высокий порог вхождения сделать менее шершавым :)
Если ресурс не определить через realize/spaceship получите ошибку
Подскажите как у вас работает garbage collecting? Оно удаляет все или что-то определенное? Просто сборка муссора ассоциируется с чем-то, что работает само в фоне и удаляет мусор по каким-то критериям :)
Но для этого есть puppet style guide где просто четко сказано КАК писать. Есть puppet-lint, который можно прикрутить к vim через syntastic и получать это все в режиме реального времени.
Тоже не понимаю где проблема в общем.
Спасибо.
Еще делать описание самих нод я могу с помощью любого другого внешего скрипта. Поэтому я могу у себя в каком-нибудь биллинге прописать, что такой-то VPS надо поставить LAMP, puppet при подключении VPS запустит мой скрипт и я на лету сгенерирую ему описание ноды с включенным в нее mysql, apache и php. В ansible по-моему такого нет.
В зависимости от ID я должен предпринимать какие-то определенные телодвижение в puppet. Я просто добавил дополнительные факт someConcreteID, который мне присылает сам сервер. Выплевывает его PHP код проекта, мне даже не интересно как.
На Ansible как я понимаю я должен писать на Python-е какой-то код с urllib, который через GET запрос стучится в БД проекта, получает ID и начинает какие-то телодвижения. Т.е. решение есть но оно как мне кажется менее удобное.
В самом первом примере можно выкрутиться одним if-ом. Но данное решение совсем не scalable и в последующих примерах одним if-ом уже не отделаться.
Задачу можно решить без виртуальных ресурсов, в том числе и:
И эффект будет таким же, но сравните код:
И вариант с виртуальными ресурсами:
Правда, когда я пробовал Ansible на простых задачах он мне понравился. В том числе понравилась agentless использование, когда можно перед сдачей сервера клиенту сконфигурировать его по ssh без лишних телодвижений.
Но есть такое ощущение, что он прост и удобен до тех пор, пока задача не становится более-менее сложной. Пока опыта работы с ним мало, но от других админов слышал примерно такие выводы.