пʼятниця, 4 березня 2016 р.

понеділок, 29 лютого 2016 р.

LTSP - дякую, що живий


Linux Terminal Server Project - досить успішний проект, метою якого є  створення механізму підтримки тонких клієнтів операційними системами сімейства Linux. Проте, останній запис на офіційному сайті проекту датується 31 січня 2013 року. Це означає, що проект "проспав" як мінімум один реліз найпопулярнішої linux-системи з довгим терміном підтримки - Ubuntu 14.04 Trusty Tahr.

Незважаючи на відсутність розробників з кінця 2012 року, проект залишається популярним і по сьогодні. В мережі можливо знайти значну кількість тутораілів та відео про налаштування LTSP для сучасних операційних систем.

Чому? Відповідь проста - більш зручного інструменту для розгортання навчального комп’ютерного класу або комп’ютерної мережі для офісних працівників важко знайти. Особливо відчутна різниця у економічному плані: програмне забезпечення безкоштовне. Конфігурація сервера для підтримки п’ятьох тонких клієнтів - 4 ГБ оперативної пам'яті, більш-менш сучасний чотири-дво -ядерний процесор (Intel J900 буде цілком достатньо), жорсткий диск для зберігання файлів усіх користувачів; конфігурація клієнта - 1 ГБ оперативної пам’яті, процесор початкового рівня і някого жорсткого диску. За цих параметрів, додатки зі знову ж таки, сучасного безкоштовного офісного пакету Libre Office будуть просто "літати".

Проте, наведені переваги донедавна перекреслювались однією вимогою: наявністю кваліфікованого "лінуксятника", що зможе налаштувати LTSP на сучасних системах, виправивши "баги" - адже ще недавно крайній реліз LTSP був націлений на морально застарілу Ubuntu 12.04 LTS....

І ось сталося майже диво - проект ожив - на launchpad 7 лютого 2016 року з’явився реліз 5.5.6 (дата попереднього релізу - лютий 2013 року). Крім того, він вже встиг увійти  до офіційних репозиторіїв Ubuntu 16.04, що вийде в квітні цього року. На момент публікації, в поточній версії з довгим терміном підтримки 14.04, фігурує ще старий пакет, проте оновлений має з’витись найближчим часом.

Надіюсь, що оновлений пакет дозволить якісно налаштувати систему тонких клієнтів без "традиційних танців з бубном".

Як вийде насправді, маю намір розказати у наступних публікаціях.

неділя, 28 лютого 2016 р.

Знайомство з Docker

Що таке Docker?


На офіційному сайті знаходимо таке визначення:
Це інструмент, що дозволяє упакувати додаток з усіма залежностями у стандартний пакет для розробки програмного забезпечення.
та трішки розтлумачення:
Контейнери Docker огортають окремі частини програмного забезпечення у цілісну файлову систему, що містить все необхідне для їх запуску: код, середовище виконяння, системні утиліти, системні бібліотеки - будь-що, що можливо встановити на сервер. Це гарантує, що додаток працюватиме однаково, не зважаючи на середовище, в якому він запущений.
Наприклад, якщо маєте додаток, що написаний на Node.js та використовує MongoDB, при бажанні можете зібрати його у контейнер Docker. Цей контейнер включатиме:
  • власне, код вашого додатку (наприклад, файли index.js та package.json) та інструкції щодо його запуску (наприклад: npm install; node index.js);
  • утиліти, необхідні для виконання додатку - Node.js та MongoDB;
  • мінімальну операційну систему (наприклад, Ubuntu), в якій все це буде встановлено та зможе працювати.
Отриманий контейнер - стандартизований, то ж може бути запущений на виконання як на вашому персональному комп’ютері, так і в хмарному сервісі. Це свого роду міні-віртуальна машина. На відміну від "звичайних" віртуальних машин:
  • контейнер включає лише елементи, необхідіні для виконання Вашого додатку, що забезпечує економію системних ресурсів;
  • в контейнері виконується лише Ваш додаток, чим забезпечується стабільність його роботи.

В чому ж зручність використання Docker?


По перше, у розгортанні додатків у хмарних сервісах. Вам потрібно орендувати у провайдера лише обчислювальний ресурс. Заливаємо на нього свій контейнер - і вуаля - все працює. Порівняємо з "старим" шляхом: орендуємо сервер, встановлюємо операційну систему, конфігуруємо операційну систему, всановлюємо необхідні утиліти, заливаємо та запускаємо сам додаток... Це переваги контейнера при одноразовомцу встановленні. Уявіть економію часу при перенесенні або масштабуванні додатку.

По друге, у доступності готових контейнерів та можливості їх розширення. Ви можете створити свій контейнер, розширивши публічно доступний контейнер з Docker хабу. Створений контейнер теж можна опублікувати.

Як почати працювати з Doker?


Натискаємо на офіційному сайті велику зелену кнопку "Get Started" або на посилання для користувачів Мас, Linux або Windows. Читаємо чудовий туторіал, в який важко щось додати. Таймінг - з десяток хвилин.

понеділок, 18 січня 2016 р.

Google Cloud: публікація додатку Node.js + MongoDB в хмарі

Нещодавно зіткнувся з проблемою розміщення в мережі невеликого додатку Node.js + MongoDB. Спробувавши кілька варіантів, вирішив зупинитись саме на пропозиції від Google Cloud. В цій статті спробую описати процес розміщення додатку.


Чому саме хмара від Google? 


Спочатку уточнення: буду використовувати контейнери Node.js та MongoDB від Bitnami, які присутні на gcloud. В жодному разі не рекомендую саме це рішення, як універсальну пігулку. Проте, для додатку Node.js з невеликою базою, що не вимагає реплікації, кращого рішення не знайшов.

Переваги:
  • низька вартість (до 10$/місяць);
  • можливість безболісного масштабування;
  • бонус у вигляді адреси додатку https://<ім'я проекту>.appspot.com;
  • два місяці тріалу.
Недоліки:
  • складне (як на мене, в порівнянні з Heroku чи Azure) налаштування;
  • бідна документація - просте посилання на сайт Bitnami з описом встановлення контейнера для всіх випадків.

Створення проекту gloud


Спочатку треба зареєструватись на cloud.google.com натиснувши кнопку "Free Trial". Також для користування навіть тріал-версіями продуктів, необхідно прив'язати платіжну картку (в процесі реєстрації чи пізніше через Menu - Billing консолі управління за адресою console.cloud.google.com).

неділя, 10 січня 2016 р.

console.log("I AM HERE!!!");

Доброго дня! Після кількарічної перерви вирішив повернутись до свого блогу. Оновлена тематика: MEAN, зокрема, як зв'язати все до купи, де розмістити, можливо, про деякі UI-фреймворки напишу. Приємного читання!