Skip to content

Latest commit

 

History

History
179 lines (109 loc) · 16 KB

File metadata and controls

179 lines (109 loc) · 16 KB

Домашнее задание к занятию "Средства автоматизации и основные функции систем"

Кейс 1.

Какой вариант решения задач ниже (1.1-1.6) вы выберете? Коротко объясните, почему именно такой вариант вы выбрали.
Вариант решения:
А) делать вручную, B) использовать программу [1], C) написать скрипт [2].

Задачи:
1.1 Обработать один текстовый файл, заменив в нём все слова "ООО Винни Пух" на "АО Пятачок"

1.2 Найти строчки, содержащие слово "interface", среди 10 000 текстовых файлов в одном каталоге

1.3 Найти повторяющиеся строки в текстовом файле, содержащем 10 строк вида:

192.168.0.1
192.168.1.2
1.4 Заменить все символы "$" на символ "€" в тексте на 1 страницу А4

1.5 Посчитать количество файлов в папке

1.6 Найти повторяющиеся строки в текстовом файле, содержащем 10 000 строк вида:

192.168.0.1
192.168.1.2
**

[1] При выборе варианта В дополнительно укажите, какую программу вы будете использовать: Excel, Notepad или любую другую.

[2] Скриптом мы называем написание кода или команды с помощью языка программирования (Python) или командной оболочки (Bash, Powershell).

Ответ:

  • 1.1 B) Notepad, Word (варианты офисного ПО для Linux здесь же) - так как просто задача заменить одно на другое
  • 1.2 В) grep -r "interface" /etc/ - так как их 10 000
  • 1.3 В) Notepad - строк всего 10
  • 1.4 В) Word - небольшой объем и простая задача с единственным условием
  • 1.5 B) wc - "ls -l | wc"
  • 1.6 С) Python или sort ./file_name.txt | uniq -c - объем в 10 000

Кейс 2.

Предположим, что вы не владеете инструментом автоматизации - например, языком программирования. Вам руководитель поставил задачу, которую можно решить как вручную, так и почитав статьи в интернете и написав скрипт по аналогии.

Вопрос: на основании чего вы будете решать - делать эту задачу вручную или попытаться автоматизировать решение задачи? Обоснуйте свой ответ.

Ответ:

Все зависит от задачи.

  • Если задача будет повторяться в будущем, почитаю, о том как можно автоматизировать
  • Если задача разовая, но из серии "Найти повторяющиеся строки в текстовом файле, содержащем 10 000 строк" применю разовую автоматизацию
  • Если задача простая, сделаю вручную

Кейс 3.

Как вы думаете, в чем причина популярности виртуальных серверов последнее время? В чем преимущество виртуальных серверов перед физическими серверами? Какие недостатки есть у виртуальных серверов?

Ответ:

Причина популярности и приимушество перед физическими заключаются в:

  • удобстве (бэкап виртуального сервера, можно сделать не выключая остальные виртуалки, которые продолжат работать)
  • возможности ограничить максимальное количество задействованных ресурсов на один виртуальный сервер
  • масштабируемости - создание на одном физическом сервере, нескольких виртуальных серверов (одна железка в серверном шкафу вместо условных десяти)
  • стоимости - возможность арендовать ровно столько ресурсов, сколько нужно под текущие задачи и вспомнив пункт выше, легко увеличить мощность при необходимости
  • надежности - при аренде виртуального сервера, когда бэкап лежит на стороне компании, предоставляющей услугу. Исключаем возможность внезапного выхода из строя физического сервера
    Недостатки:
  • Как вариант производительность по сравнению с физическим, но все равно тут спорно, так как зависит от задачи, виртуальный тоже может быть очень мощным
  • Если арендуете виртуальный сервер, в компании пропал доступ интернета, резерва нет, и вы не можете пользоваться им локально. Сюда же, проблемы с тем, чтобы локализовать данные в случае, например отказа компании работать из-за санкций

Кейс 4.

Какой из вариантов решения вы выберете для каждой из ситуаций (4.1-4.7)? Коротко объясните, почему вы сделали такой выбор.[1]
Вариант решения:
A) Физический сервер, B) виртуальный сервер [2], C) контейнеры [3], D) SaaS [4], E) Прочее (предложите свой вариант).

Ситуации:
4.1 Почтовый сервер для небольшой компании из 15 человек без постоянного администратора

4.2 Сервер для хранения старых резервных копий

4.3 Сервер для тестирования приложений в разных окружениях (версиях ОС, версиях языка программирования, и т.д.)

4.4 Web-сервер для размещения сайта компании

4.5 Старое ПО, работающее только на Windows XP

4.6 Почтовый сервер в компании из 1500 человек и с собственным ИТ отделом

4.7 Несколько одинаковых серверов, позволяющих запускать и останавливать экземпляры программ по мере необходимости

**

[1] Если вам не хватает информации для принятия решения - укажите, между какими вариантами выбираете и какая информация и как повлияет на ваш выбор.

[2] Виртуальный сервер - один из нескольких серверов, запущенных на физическом хосте с помощью гипервизора (например, Ubuntu или Windows Server на гипервизоре VmWare ESXi).

[3] Контейнеры - это программное обеспечение, которое "упаковывает" приложение в стандартизованные блоки (контейнеры). Каждый контейнер включает все необходимое для работы приложения: библиотеки, системные инструменты, код и среду исполнения. Контейнеры можно быстро развертывать (запускать) и таким образом масштабировать приложение (например, Docker-контейнеры).

[4] SaaS (Software as a service) - программное обеспечение как услуга (например, почтовый сервис Gmail).

Ответ:

  • 4.1 D) SaaS - вам не нужно заботиться о резервных копиях, серверной и наличии специалиста
  • 4.2 A) Физический сервер или B) виртуальный сервер - в завимости от типа и вида резервных копий (образы системы, файлы бухгалтерии, базы?) и наличия железа (есть старый сервер которого хватит для хранения или наоборот очень мощный новый, где в виртуалке можно поставить например openmediavault)
  • 4.3 C) контейнеры или B) виртуальный сервер - опять же зависит от задачи, например контейнеры подойдут для быстрого развертывания и тестирования, в случае тестирования вашего ПО например в Windows, наверно лучше будет использовать виртуальный сервер. Еще можно использовать шаблоны в Virtual Machine Manager
  • 4.4 C) контейнеры - быстро развернули, легко перенесли
  • 4.5 B) виртуальный сервер - можно даже найти готовый образ с XP
  • 4.6 B) виртуальный сервер - масштаб компании и наличие собственного отдела предполагают надежность, соответственно, серверов скорее всего будет 2, возможно в кластере, получаем удобство и отказоустойчивость
  • 4.7 B) виртуальный сервер - легче и проще

Кейс 5.

Как вы думаете, что правильнее мониторить:

инфраструктуру изнутри (свободное место на диске, загрузку процессора и т.д.)

или сервисы снаружи (как их видит клиент - например, доступность сайта)?

Обоснуйте свой выбор.

Ответ:

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

Кейс 6.

Какое из этих вариантов облачных решений вы бы выбрали под каждую из ситуаций (6.1-6.5)? Обоснуйте свой выбор.
Вариант решения:
A) SaaS, B) PaaS, C) IaaS

Ситуации:
6.1 Сервер с типовой программой CRM для контроля взаимодействия менеджеров с клиентами

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

6.3 Веб-сервер для сайта-визитки (одностраничный лендинг) компании

6.4 Территориально распределенный между несколькими датацентрами отказоустойчивый кластер почтовых серверов

6.5 Почтовый сервер для небольшой компании из 15 человек без постоянного администратора

Ответ:

  • 6.1 A) SaaS - меньше головной боли с бэкапами и настройкой сервера и ПО, но зависит все-таки от масштабов компании и требований к той же CRM
  • 6.2 B) PaaS - настраиваем сервис как нам надо и не переживаем о железе и отказоустойчивости
  • 6.3 A) SaaS - не нужно настраивать софт и железо, заботиться о резервных копиях (на одностраничных данные тоже могут меняться) и обслуживании железа
  • 6.4 C) IaaS - мы сами настраиваем инфраструктуру как нам надо и не заботимся о работе самих серверов
  • 6.5 A) SaaS - небольшой масштаб и отсуствие администратора, получаем отсутствие необходимости размещения серверной, создавать новые ящики может и сам менеджер, не заботимся о бэкапах и отказоустойчивости

Кейс 7.

Нужно ли делать резервное копирование в ситуациях ниже (7.1-7.6)? Коротко объясните, почему вы так решили.
7.1 Перед внесением изменений в конфигурационный файл на сервере

7.2 Перед удалением с сервера рабочей папки уволенного сотрудника

7.3 Перед применением обновления на работающее ПО на сервере

7.4 Перед изменением документа, лежащего в общем доступе, в режиме "только чтение"

7.5 Перед копированием файла из папки проекта на рабочий стол

7.6 Перед обновлением операционной системы

Ответ:

  • 7.1 Нужно, на случай если что-то пойдет не так и придется откатиться назад, можно сделать SnapShot
  • 7.2 Зависит от самой компании (нужно ли хранить данные), но в целом да, а вдруг его проект продолжит кто-то другой?
  • 7.3 Нужно, SnapShot, чтобы откатиться если обновление будет неудачным и что-то поломает
  • 7.4 Так как файл в режиме "только чтение" нет, но если все-таки необходимо внести изменения, просто сделать его копию с пометкой в названии
  • 7.5 Нет, так как мы копируем, а не удаляем
  • 7.6 Нужно, так как мы не знаем, успешно ли пройдет обновление и загрузится ли система после