Кластеры как экономическая категория. Анализ кластерных технологий в контексте лабораторного практикума


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

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

Стоит отметить, что под регионом в данном случае следует понимать административно-территориальную единицу (область), как более прозрачную структуру управления инновационном процессом.

Понятие и виды кластера

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

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

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

По мнению М. Портера, конкурентоспособность страны следует рассматривать через призму международной конкурентоспособности не отдельных ее фирм, а кластеров - объединений фирм различных отраслей, причем принципиальное значение имеет способность этих кластеров эффективно использовать внутренние ресурсы. Проанализировав конкурентные возможности более 100 отраслей в десяти странах, М. Портер пришел к выводу, что наиболее конкурентоспособные транснациональные компании обычно не разбросаны бессистемно по разным странам, а имеют тенденцию концентрироваться в одной стране, а иногда даже в одном регионе страны. Объяснение этого явления состоит в следующем, одна или несколько фирм, достигая конкурентоспособности на мировом рынке, распространяет свое положительное влияние на ближайшее окружение: поставщиков, потребителей и конкурентов. А успехи окружения, в свою очередь, оказывают влияние на дальнейший рост конкурентоспособности данной компании. В результате такого взаимовыгодного сотрудничества формируется «кластер» - сообщество фирм, тесно связанных отраслей, взаимно способствующих росту конкурентоспособности друг друга.

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

Типология кластеров:

1. По характеру структурообразующей организации кластера:

а) Предприятие крупного масштаба;

б) Объединение вокруг торгово-промышленной палаты, или организации, определяющей экономическое развитие (ассоциации, региональные агентства)

2. По ядру кластера:

а) Базирующиеся на сложной технологической основе, часто новой для территории;

б) Основанные на традиционных для данной территории видах деятельности;

в) Связанные подрядными отношениями.

г) Боковые (межотраслевые) кластеры - охватывающие сразу несколько отраслей, например, мультимедийный кластер.

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

3. Выделяются две основные категории кластеров, сформированные по пространственной и функциональной осям:

а) Промышленный кластер - фокусируется на конкуренции внутри сектора. Он состоит из всевозможных действующих лиц, ресурсов и видов деятельности, которые объединяются вместе для развития, производства и продажи разнообразных типов товаров и услуг. Промышленный кластер, как правило, пространственно не привязан к какой-либо урбанизированной области. Он обладает тенденцией иметь более широкие границы, возможно охватывая весь регион или страну.

б) Региональный кластер – это пространственная агломерация подобной и связанной экономической деятельности, формирующая основу местной среды, способствующая переливам знания и стимулирующая различные формы обучения и адоптации. Такие кластеры, обычно, состоят из малых и средних предприятий, и центральный элемент их успеха сосредоточен в силах социального капитала и географической близости. Другая их особенность состоит в том, что фирмы менее взаимосвязаны, чем в промышленных кластерах.

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

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

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

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

В качестве примера применения кластерного подхода рассмотрим опыт развития кластеров в Финляндии и Норвегии.

Показателями международной конкурентоспособности продукции данной отрасли на мировом рынке служили: превышение доли продукции данной отрасли на мировом рынке над суммарной долей страны в общей мировой торговле, превышение отраслевого экспорта над импортом. Все проанализированные кластеры были разбиты на три группы: категория «сильных кластеров», категория «устойчивых кластеров», категория «потенциальных кластеров». В первую категорию попали лесной и кластер информационных и телекоммуникационных технологий. Для кластеров этой категории характерна хорошая сбалансированность развития как основных, так и вспомогательных производств, высокая внутренняя конкуренция, инновационный потенциал мирового уровня, интенсивное внутрикластерное взаимодействие в рамках совместных проектов и работы межотраслевых организаций. Подтверждением высокой конкурентоспособности кластерных объединений служит тот факт, что имея 0,5% мировых запасов лесных ресурсов, Финляндия обеспечивает более 10% мирового экспорта продукции деревопереработки, в том числе 25% мирового экспорта качественной бумаги. Доля Финляндии на рынках телекоммуникационной продукции также исключительно высока: около 30% рынка оборудования для мобильной связи и почти 40% рынка мобильных телефонов, что говорит об очень высоком уровне конкурентоспособности. Устойчивые кластеры, к которым отнесены энергетический, металлургический и машиностроительный, демонстрируют позитивную динамику становления всех кластерных элементов, однако они пока еще не достигли необходимого уровня развития для получения уверенных выгод от агломерации. Машиностроительный кластер представляет собой хороший пример взаимопроникновения кластеров. Основной его специализацией является производство оборудования для лесной промышленности, энергетики, металлургии и строительной отрасли - направления по определению включенных в состав соответствующих кластеров. Но интенсивное развитие специализированного машиностроения привело к формированию самостоятельного кластера со множеством поставщиков, сервисных и инжиниринговых компаний, исследовательских и инновационных центров. Так, Финляндия - лидер в производстве оборудования для целлюлозно-бумажной промышленности: удерживает 40% мирового рынка оборудования для производства целлюлозы и почти 30% рынка бумагодельного оборудования. Потенциальные кластеры - бизнес-услуги, здравоохранение - характеризуются неравномерным развитием структуры кластера и слабостью отдельных элементов модели «Даймонд» («Даймонд» - система детерминант конкурентного преимущества стран, разработанная М. Портером). Однако при этом существуют выраженные конкурентные преимущества, способствующие успешному дальнейшему развитию потенциальных кластеров. Латентные кластеры (пищевой и строительный) хотя и объединяют ряд довольно успешных компаний - Valio, Fazer, Skanska, Kone, но в целом далеки от полноценной кластерной структуры.

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

Виды кластеров

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

  • Кластеры высокой готовности или отказоустойчивые кластеры (high-availability clusters или failover clusters) используют избыточные узлы для обеспечения работы в случае отказа одного из узлов.
  • Кластеры балансировки нагрузки (load-balancing clusters) служат для распределения запросов от клиентов по нескольким серверам, образующим кластер.
  • Вычислительные кластеры (compute clusters), как следует из названия, используются в вычислительных целях, когда задачу можно разделить на несколько подзадач, каждая из которых может выполняться на отдельном узле. Отдельно выделяют высокопроизводительные кластеры (HPC - high performance computing clusters), которые составляют около 82% систем в рейтинге суперкомпьютеров Top500.

Системы распределенных вычислений (gird) иногда относят к отдельному типу кластеров, который может состоять из территориально разнесенных серверов с отличающимися операционными системами и аппаратной конфигурацией. В случае грид-вычислений взаимодействия между узлами происходят значительно реже, чем в вычислительных кластерах. В грид-системах могут быть объединены HPC-кластеры, обычные рабочие станции и другие устройства.

Такую систему можно рассматривать как обобщение понятия «кластер». ластеры могут быть сконфигурированы в режиме работы active/active, в этом случае все узлы обрабатывают запросы пользователей и ни один из них не простаивает в режиме ожидания, как это происходит в варианте active/passive.

Oracle RAC и Network Load Balancing являются примерами active/ active кластера. Failover Cluster в Windows Server служит примером active/passive кластера. Для организации active/active кластера требуются более изощренные механизмы, которые позволяют нескольким узлам обращаться к одному ресурсу и синхронизовать изменения между всеми узлами. Для организации кластера требуется, чтобы узлы были объединены в сеть, для чего наиболее часто используется либо традиционный Ethernet, либо InfiniBand.

Программные решения могут быть довольно чувствительны к задержкам - так, например, для Oracle RAC задержки не должны превышать 15 мс. В качестве технологий хранения могут выступать Fibre Channel, iSCSI или NFS файловые сервера. Однако оставим аппаратные технологии за рамками статьи и перейдем к рассмотрению решений на уровне операционной системы (на примере Windows Server 2008 R2) и технологиям, которые позволяют организовать кластер для конкретной базы данных (OracleDatabase 11g), но на любой поддерживаемой ОС.

Windows Clustering

У Microsoft существуют решения для реализации каждого из трех типов кластеров. В состав Windows Server 2008 R2 входят две технологии: Network Load Balancing (NLB) Cluster и Failover Cluster. Существует отдельная редакция Windows Server 2008 HPC Edition для организации высокопроизводительных вычислительных сред. Эта редакция лицензируется только для запуска HPC-приложений, то есть на таком сервере нельзя запускать базы данных, web- или почтовые сервера.

NLB-кластер используется для фильтрации и распределения TCP/IPтрафика между узлами. Такой тип кластера предназначен для работы с сетевыми приложениями - например, IIS, VPN или межсетевым экраном.

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

Failoverclustering - это кластеризации с переходом по отказу, хотя довольно часто термин переводят как «отказоустойчивые кластеры».

Узлы кластера объединены программно и физически с помощью LAN- или WAN-сети, для multi-site кластера в Windows Server 2008 убрано требование к общей задержке 500 мс, и добавлена возможность гибко настраивать heartbeat. В случае сбоя или планового отключения сервера кластеризованные ресурсы переносятся на другой узел. В Enterprise edition в кластер можно объединять до шестнадцати узлов, при этом пятнадцать из них будут простаивать до тех пор, пока не произойдет сбой. Приложения без поддержки кластеров (cluster-unaware) не взаимодействуют со службами кластера и могут быть переключены на другой узел только в случае аппаратного сбоя.

Приложения с поддержкой кластеров (cluster-aware), разработанные с использованием ClusterAPI, могут быть защищены от программных и аппаратных сбоев.

Развертывание failover-кластера

Процедуру установки кластера можно разделить на четыре этапа. На первом этапе необходимо сконфигурировать аппаратную часть, которая должна соответствовать The Microsoft Support Policy for Windows Server 2008 Failover Clusters. Все узлы кластера должны состоять из одинаковых или сходных компонентов. Все узлы кластера должны иметь доступ к хранилищу, созданному с использованием FibreChannel, iSCSI или Serial Attached SCSI. От хранилищ, работающих с Windows Server 2008, требуется поддержка persistent reservations.

На втором этапе на каждый узел требуется добавить компонент Failover Clustering - например, через Server Manager. Эту задачу можно выполнять с использованием учетной записи, обладающей административными правами на каждом узле. Серверы должны принадлежать к одному домену. Желательно, чтобы все узлы кластера были с одинаковой ролью, причем лучше использовать роль member server, так как роль domain controller чревата возможными проблемами с DNS и Exchange.

Третий не обязательный, но желательный этап заключается в проверке конфигурации. Проверка запускается через оснастку Failover Cluster Management. Если для проверки конфигурации указан только один узел, то часть проверок будет пропущена.

На четвертом этапе создается кластер. Для этого из Failover Cluster Management запускается мастер Create Cluster, в котором указываются серверы, включаемые в кластер, имя кластера и дополнительные настройки IP-адреса. Если серверы подключены к сетям, которые не будут использоваться для общения в рамках кластера (например, подключение только для обмена данными с хранилищем), то в свойствах этой сети в Failover Cluster Management необходимо установить параметр «Do not allow the cluster to use this network».

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

Для этого необходимо запустить High Availability Wizard, который можно найти в Services and Applications оснастки Failover Cluster Management.

Cluster Shared Volumes

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

Еще одна проблема, возникающая из-за того, что LUN является минимальной единицей обхода отказа, заключается в том, что при сбое одного приложения, находящегося на LUN, приходится переключать все приложения, которые хранятся на этом LUN, на другой сервер. Во всех приложениях (включая Hyper-V до второго релиза Server 2008) это удавалось обходить за счет многочисленных LUN, на каждом из которых хранились данные только одного приложения. В Server 2008 R2 появилось решение для этих проблем, но предназначенное для работы только с Hyper-V и CSV (Cluster Shared Volumes).

CSV позволяет размещать на общем хранилище виртуальные машины, запускаемые на разных узлах кластера - тем самым разбивается зависимость между ресурсами приложения (в данном случае виртуальными машинами) и дисковыми ресурсами. В качестве файловой системы CSV использует обычную NTFS. Для включения CSV необходимо в Failover Cluster Manage выполнить команду Enable Cluster Shared Volumes. Отключить поддержку CSV можно только через консоль:

Get-Cluster | %{$_.EnableSharedVolumes = "Disabled"}

Для использования этой команды должен быть загружен Failover Clusters, модуль PowerShell. Использование CSV совместно с live migration позволяет перемещать виртуальные машины между физическими серверами в считанные миллисекунды, без обрыва сетевых соединений и совершенно прозрачно для пользователей. Стоит отметить, что копировать любые данные (например, готовые виртуальные машины) на общие диски, использующие CSV, следует через узел-координатор.

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

Oracle RAC

Oracle Real Application Clusters (RAC) - это дополнительная опция Oracle Database, которая впервые появилась в Oracle Database 9i под названием OPS (Oracle Parallel Server). Опция предоставляет возможность нескольким экземплярам совместно обращаться к одной базе данных. Базой данных в Oracle Database называет ся совокупность файлов данных, журнальных файлов, файлов параметров и некоторых других типов файлов. Для того, чтобы пользовательские процессы могли получить доступ к этим данным, должен быть запущен экземпляр. Экземпляр (instance) в свою очередь состоит из структур памяти (SGA) и фоновых процессов. В отсутствии RAC получить доступ к базе данных может строго один экземпляр.

Опция RAC не поставляется с Enterprise Edition и приобретается отдельно. Стоит отметить, что при этом RAC идет в составе Standard Edition, но данная редакция обладает большим количеством ограничений по сравнению с Enterprise Edition, что ставит под сомнение целесообразность ее использования.

Oracle Grid Infrastructure

Для работы Oracle RAC требуется Oracle Clusterware (или стороннее ПО) для объединения серверов в кластер. Для более гибкого управления ресурсами узлы такого кластера могут быть организованы в пулы (с версии 11g R2 поддерживается два варианта управления - на основании политик для пулов или, в случае их отсутствия, администратором).

Во втором релизе 11g Oracle Clusterware был объединен с ASM под общим названием Oracle Grid Infrastructure, хотя оба компонента и продолжают устанавливаться по различным путям.

Automatic Storage Management (ASM) - менеджер томов и файловая система, которые могут работать как в кластере, так и с singleinstance базой данных. ASM разбивает файлы на ASM Allocation Unit.

Размер Allocation Unit определяется параметром AU_SIZE, который задается на уровне дисковой группы и составляет 1, 2, 4, 8, 16, 32 или 64 MB. Далее Allocation Units распределяются по ASM-дискам для балансировки нагрузки или зеркалирования. Избыточность может быть реализована, как средствами ASM, так и аппаратно.

ASM-диски могут быть объединены в Failure Group (то есть группу дисков, которые могут выйти из строя одновременно - например, диски, подсоединенные к одному контролеру), при этом зеркалирование осуществляется на диски, принадлежащие разным Failure Group. При добавлении или удалении дисков ASM автоматически осуществляет разбалансировку, скорость которой задается администратором.

На ASM могут помещаться только файлы, относящиеся к базе данных Oracle, такие как управляющие и журнальные файлы, файлы данных или резервные копии RMAN. Экземпляр базы данных не может взаимодействовать напрямую с файлами, которые размещены на ASM. Для обеспечения доступа к данным дисковая группа должна быть предварительно смонтирована локальным ASM-экземпляром.

Развертывание Oracle RAC

Рассмотрим этапы установки различных компонентов, необходимых для функционирования Oracle RAC в режиме active/active кластера с двумя узлами. В качестве дистрибутива будем рассматривать последнюю на момент написания статьи версию Oracle Database 11g Release 2. В качестве операционной системы возьмем Oracle Enterprise Linux 5. Oracle Enterprise Linux - операционная система, базирующаяся на RedHat Enterprise Linux. Ее основные отличия - цена лицензии, техническая поддержка от Oracle и дополнительные пакеты, которые могут использоваться приложениями Oracle.

Подготовка ОС к установке Oracle стандартна и заключается в создании пользователей и групп, задании переменных окружения и параметров ядра. Параметры для конкретной версии ОС и БД можно найти в Installation Guide, который поставляется вместе с дистрибутивом.

На узлах должен быть настроен доступ к внешним общим дискам, на которых будут храниться файлы базы данных и файлы Oracle Clusterware. К последним относятся votingdisk (файл, определяющий участников кластера) и Oracle Cluster Registry (содержит конфигурационную информацию - например, какие экземпляры и сервисы запущены на конкретном узле). Рекомендуется создавать нечетное количество votingdisk. Для создания и настройки ASMдисков желательно использовать ASMLib, которую надо установить на всех узлах:

# rpm -Uvh oracleasm-support-2.1.3-1.el4.x86_64.rpm

rpm -Uvh oracleasmlib-2.0.4-1.el4.x86_64.rpm

rpm -Uvh oracleasm-2.6.9-55.0.12.ELsmp-2.0.3-1.x86_64.rpm

Кроме интерфейса для взаимодействия с хранилищем на узлах желательно настроить три сети - Interconnect, External и Backup.
Необходимо настроить IP-адресацию (вручную или с использованием Oracl e GNS) и DNS для разрешения всех имен (или только GNS).

Вначале осуществляется установка Grid Infrastructure. Для этого загружаем и распаковываем дистрибутив, затем запускаем установщик. В процессе установки необходимо указать имя кластера; указать узлы, которые будут входить в кластер; указать назначение сетевых интерфейсов; настроить хранилище.

В конце нужно выполнить с правами root скрипты orainstRoot.sh и root.sh. Первым на всех узлах выполняется скрипт orainstRoot.sh, причем запуск на следующем узле осуществляется только после завершения работы скрипта на предыдущем. После выполнения orainstRoot.sh последовательно на каждом узле выполняется root.sh. Проверить успешность установки можно с помощью команды:

/u01/grid/bin/crsctl check cluster –all

Выполнив проверку, можно приступать к установке базы данных. Для этого запускаем Oracle Universal installer, который используется и для обычной установки базы.

Кроме active/active-кластера в версии 11g R2 существуют две возможности для создания active/passive-кластера. Одна из них - Oracle RACOneNode. Другой вариант не требует лицензии для RAC и реализуется средствами Oracle Clusterware. В этом случае вначале создается общее хранилище; затем устанавливается Grid Infrastructure, с использованием ASM_CRS и SCAN; а после этого на узлы устанавливается база данных в варианте Standalone. Далее создаются ресурсы и скрипты, которые позволяют запускать экземпляр на другом узле в случае недоступности первого.

Заключение

Oracle RAC совместно с Oracle Grid Infrastructure позволяют реализовать разнообразные сценарии построения кластеров. Гибкость настройки и широта возможностей компенсируются ценой такого решения.

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

Ссылки по теме

  • High Availability решения от Microsoft: microsoft.com/windowsserver2008/en/us/high-availability.aspx ;
  • Подборка ссылок на документацию и ресурсы по Failover Clustering и NLB: blogs.msdn.com/b/clustering/archive/2009/08/21/9878286.aspx (блог - Clusteringand HighAvailability содержит много полезной информации);
  • Документация и дистрибутивы Oracle RAC: oracle.com/technetwork/database/clustering/overview/index.html ;
  • Документация и дистрибутивы Oracle Clusterware и Oracle Grid Infrastructure: oracle.com/technetwork/database/clusterware/overview/index.html ;
  • Настройка Oracle Clusterware для защиты Single Instance Oracle Database 11g:

Цель дипломного проекта - Разработка лабораторного комплекса «Кластерные технологии» в рамках дисциплины «Высокопроизводительные вычислительные системы» для обучения студентов кафедры АСУ.

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

Анализ кластерных технологий в контексте лабораторного практикума

Типы кластеров

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

Один из первых архитекторов кластерной технологии Gregory F. Pfister [Грегори Пфистер] дал кластеру следующее определение: «Кластер -- это разновидность параллельной или распределённой системы, которая:

· состоит из нескольких связанных между собой компьютеров;

· используется как единый, унифицированный компьютерный ресурс».

Обычно различают следующие основные виды кластеров:

· отказоустойчивые кластеры (High-availability clusters, HA, кластеры высокой доступности)

· кластеры с балансировкой нагрузки (Load balancing clusters)

· вычислительные кластеры (Computing clusters)

· grid-системы.

Кластеры высокой доступности

Обозначаются аббревиатурой HA (англ. High Availability -- высокая доступность). Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Типичное число узлов -- два, это минимальное количество, приводящее к повышению доступности. Создано множество программных решений для построения такого рода кластеров.

Отказоустойчивые кластеры и системы вообще строятся по трем основным принципам:

· с холодным резервом или активный/пассивный. Активный узел выполняет запросы, а пассивный ждет его отказа и включается в работу, когда таковой произойдет. Пример -- резервные сетевые соединения, в частности, Алгоритм связующего дерева. Например, связка DRBD и HeartBeat.

· с горячим резервом или активный/активный. Все узлы выполняют запросы, в случае отказа одного нагрузка перераспределяется между оставшимися. То есть кластер распределения нагрузки с поддержкой перераспределения запросов при отказе. Примеры -- практически все кластерные технологии, например, Microsoft Cluster Server. OpenSource проект OpenMosix.

· с модульной избыточностью. Применяется только в случае, когда простой системы совершенно недопустим. Все узлы одновременно выполняют один и тот же запрос (либо части его, но так, что результат достижим и при отказе любого узла), из результатов берется любой. Необходимо гарантировать, что результаты разных узлов всегда будут одинаковы (либо различия гарантированно не повлияют на дальнейшую работу). Примеры -- RAID и Triple modular redundancy.

Конкретная технология может сочетать данные принципы в любой комбинации. Например, Linux-HA поддерживает режим обоюдной поглощающей конфигурации (англ. takeover), в котором критические запросы выполняются всеми узлами вместе, прочие же равномерно распределяются между ними.

Кластеры распределения нагрузки

Принцип их действия строится на распределении запросов через один или несколько входных узлов, которые перенаправляют их на обработку в остальные, вычислительные узлы. Первоначальная цель такого кластера -- производительность, однако, в них часто используются также и методы, повышающие надёжность. Подобные конструкции называются серверными фермами. Программное обеспечение (ПО) может быть как коммерческим (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster Moab Cluster Suite, Maui Cluster Scheduler), так и бесплатным (OpenMosix, Sun Grid Engine, Linux Virtual Server).

Вычислительные кластеры

Кластеры используются в вычислительных целях, в частности в научных исследованиях. Для вычислительных кластеров существенными показателями являются высокая производительность процессора в операциях над числами с плавающей точкой (flops) и низкая латентность объединяющей сети, и менее существенными -- скорость операций ввода-вывода, которая в большей степени важна для баз данных и web-сервисов. Вычислительные кластеры позволяют уменьшить время расчетов, по сравнению с одиночным компьютером, разбивая задание на параллельно выполняющиеся ветки, которые обмениваются данными по связывающей сети. Одна из типичных конфигураций -- набор компьютеров, собранных из общедоступных компонентов, с установленной на них операционной системой Linux, и связанных сетью Ethernet, Myrinet, InfiniBand или другими относительно недорогими сетями. Такую систему принято называть кластером Beowulf. Специально выделяют высокопроизводительные кластеры (Обозначаются англ. аббревиатурой HPC Cluster -- High-performance computing cluster). Список самых мощных высокопроизводительных компьютеров (также может обозначаться англ. аббревиатурой HPC) можно найти в мировом рейтинге TOP500. В России ведется рейтинг самых мощных компьютеров СНГ.

Системы распределенных вычислений (grid)

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

Кластер: виды и польза

Большинство предприятий на сегодняшний день модернизируются при участии государства. Государство определяет основные приоритеты развития предприятий во всех областях деятельности - от промышленности до туризма. Структурная модернизация развивается государством на основе кластеризации.

Что такое кластер?

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

Для чего нужен кластер?

Что такое кластер, теперь стало понятно, осталось выяснить, для чего он нужен. Кластеры направлены, в первую очередь, на развитие конкурентных преимуществ национальной отрасли за счет сил отечественных предприятий без привлечения иностранных компаний. Организации, объединенные в кластер, "притираются" друг к другу, работают слаженно в одном направлении деятельности, развивая, таким образом, внутренний рынок и выходя на мировой уровень.

Какими бывают кластеры?

Различают три основных вида кластеров:

Региональный;

Вертикальный;

Отраслевой.

Что такое вычислительный кластер?

Существует такое понятие, как суперкомпьютер. Его еще называют вычислительным кластером. Что такое кластер вычислительный? Предмет представляет собой вычислительную машину с несколькими процессорами, объединенными коммуникационной сетью. Другими словами, это несколько компьютеров (но с большей производительностью, чем обычные), объединенных одной "магистралью". Такая система позволяет решать одну задачу параллельно (одновременно) на всех компьютерах.

Кластер в туризме

Туризм оказывает большое влияние на экономику страны, в связи с этим его значение возрастает. Быстрый рост туристической деятельности, а также прирост благосостояния жителей отдельной страны и ее экономики в целом позволили сделать развитие туризма одним из приоритетных направлений. Так, правительства разных стран, в том числе и России, ввели понятие "туристический кластер". Оно включает в себя группу туристических компаний, локализованных в одном регионе для развития инфраструктуры и использующих для ведения бизнеса современные технологии. Основная задача туристического кластера - это предоставление туристических услуг с высокой конкурентоспособностью.

Состав туристического кластера

Управление туристическим кластером проводится управляющей компанией - это юридическое лицо (как правило, АО), осуществляющее свою деятельность на основе принципов государственно-частного партнерства, которому государство передает некоторые полномочия в управлении теми или иными экономическими зонами туристического кластера. Управляющая компания туристического кластера регулирует деятельность следующих компаний, связанных с туризмом:

Туроператоры;

Турагентства;

Организации, оказывающие туристические услуги (отели, гостиницы, дома отдыха и т. д.).

Второстепенные составляющие туристического кластера:

Предприятия общепита (рестораны, кафе-бары и т.д.);

Предприятия, оказывающие транспортные услуги (авиакомпании, ж/д и автоперевозки);

Места торговли товарами для туристов;

Места проведения досуга (парки, площадки для концертов, кинотеатры);

Объекты, оказывающие услуги по сервисному обслуживанию туристического транспорта.

Цель туристического кластера

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

Понятие «кластер» может варьироваться в зависимости от возлагаемых на него ролей. Цель данной статьи — ознакомить читателя с полным спектром кластерных решений, представленных на рынке, и помочь определиться в выборе варианта для тех или иных задач. Рассмотрим каждый вид кластеров на конкретных примерах решений от Microsoft.

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

Для решения используется метод балансировки нагрузки (Network Load Balancing, NLB). Он заключается в построении фермы объединенных сетевыми интерфейсами серверов (узлов), на которых выполняется общее серверное приложение. Под общ-ностью подразумеваются одинаковые параметры безопасности и конфигурации приложения на всех узлах. В то же время общие данные вынесены за пределы фермы и расположены на отдельных серверах или сетевых хранилищах.

Использование NLB позволяет не столько повысить скорость выполнения отдельного серверного приложения (время одного запроса бесконечно мало в сравнении с количеством запросов), сколько перераспределять нагрузку между несколькими узлами с идентичными приложениями. Для этого в общей сети фермы, которая объединяет узлы между собой и обеспечивает доступ пользователей к узлам, NLB регистрирует общий — публичный — IP-адрес будущего кластера. Именно этот IP-адрес будет доступен пользователям для обращения к серверным приложениям. Кроме того, все узлы фермы добавляются в кластер с собственными — приватными — IP-адресами.


Упрощенно механизм работы NLB-кластера выглядит следующим образом: при первом обращении пользователя на публичный IP-адрес, запрос перенаправляется на один из узлов кластера по приватному IP-адресу, где и обрабатывается конкретным серверным приложением. Связка «адрес пользователя — приватный адрес узла» (на практике параметров привязки намного больше) сохраняется службой NLB и при следующем обращении соединение происходит с тем узлом, на котором был обработан его предыдущий запрос. Запрос от другого пользователя перенаправляется на следующий узел кластера (или по какому-то другому принципу — нагрузке, приоритетов портов, — это зависит от конкретной реализации и настроек NLB).

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

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



В качестве примера представим веб-ферму на базе NLB-кластера с веб-приложением, куда пользователь вносит данные. Помимо переадресации запросов на конкретные узлы, других задач NLB не выполняет, поэтому по умолчанию все данные пользователя сохранятся на том узле кластера, к которому его подключила система при первом обращении. Если пользователь отключился от веб-приложения и вернулся через 15 минут — нет никакой гарантии, что он будет перенаправлен на тот же узел, следовательно, он может не увидеть введенные ранее данные. Кроме того, современные веб-приложения активно используют понятие «состояния сессии» для сохранения глобальных переменных (например, результат аутентификации пользователя при регистрации через веб-форму) или передачи параметров и массивов данных при переходе между веб-страницами. По умолчанию сессия сохраняется в рабочем процессе серверного веб-приложения, т.е. в случае сбоя узла, перезагрузки рабочего процесса или других нештатных ситуаций данные текущей сессии будут утеряны безвозвратно. При следующем обращении пользователя, чей текущий узел отключился, запрос будет переведен NLB на другой узел. Однако этот узел не будет «знать», какую аутентификацию прошел пользователь, в какой части сайта он находился. В результате вместо формы с заполненными данными на экране пользователя появится приглашение на ввод пароля или первая страница сайта. Поэтому для нормального функционирования кластера NLB, его узлы помимо публичной сети должны иметь и внутреннюю сеть, где будут присутствовать серверы общих ресурсов — базы данных, файловые хранилища, хранилища состояний сессий и т.п., — доступные одновременно всем серверным приложениям на всех узлах. И эти приложения должны «знать» о том, каким образом хранить общие данные на внешнем ресурсе.

Пример построения фермы веб-серверов

Требуемые программные продукты: Microsoft Windows Server 2008 любых редакций. Начиная с самой младшей редакции, Web Edition, и заканчивая Datacenter Edition, Windows Server 2008 поддерживает службу Windows Network Load Balancing (WNLB) и может выступать в роли узла кластера NLB. Для предыдущих версий Windows Server (2003, 2003 R2) смотри соответствующие спецификации. Максимальное поддерживаемое число узлов в кластере — 32.

Требуемое аппаратное обеспечение: рекомендуемые Microsoft конфигурации к выбранной редакции ОС (беспокоиться о требованиях службы WNLB к памяти не следует — понадобится от 1 до 32 МБ в зависимости от нагрузки; в среднем — 2 МБ) и требования программного обеспечения, которое будет выполняться как задача; сетевой коммутатор с поддержкой протокола IGMP (желательно) или, если поддержка мультикастинга сетевым оборудованием не обеспечивается, — два сетевых адаптера на каждом узле.

Алгоритм процесса развертывания следующий:

1. Установить на всех узлах будущего NLB-кластера службу Network Load Balancing, добавляется как Feature сервера Windows Server 2008.

2. Запустить оснастку управления Network Load Balancing Manager на любом из узлов и запустить мастер создания NLB-кластера командой New Cluster.

3. Мастер после указания имени первого узла позволяет определить сетевой интерфейс узла, где будет работать публичная сеть, приоритеты узла и, собственно, IP-адрес(а) и FQDN будущего кластера, режим работы кластера (юникаст, мультикаст, аппаратный IGMP) и, самое главное, правила распределения запросов между узлами кластера. Правило по умолчанию — это равномерное распределение всех запросов на все IP-адреса кластера независимо от порта, с «привязкой» конкретного отвечающего узла к IP-адресу клиента.

4. По завершении работы мастера, кластер конфигурируется и запускается в указанной конфигурации с одним узлом (определенным в мастере создания). Команда Add Host To Cluster запускает мастер добавления новых узлов в кластер. При этом не обязательно загружать консоль Network Load Balancing Manager на подключаемом узле. Мастер автоматически связывается с указанным сервером, проверяет наличие установленной службы NLB и только после этого конфигурирует службу и добавляет узел в указанный кластер.

К слову, даже без использования стороннего ПО служба NLB поддерживает различные «хитрые» конфигурации. Например, она способна одновременно поддерживать и кластер для определенных приложений, и работу серверов как отдельных узлов по любому адресу/порту с балансировкой только при сбое. Также в NLB один сервер может одновременно выступать узлом в различных кластерах.



Конечно, не следует рассматривать NLB-кластер как панацею от всех бед, связанных с производительностью и высокой нагрузкой. По сути, функция NLB заключается в выполнении одной простой задачи — распределения обращений между узлами, поэтому такой кластер ничего не «знает» об особенностях тех или иных приложений и не учитывает их в своей работе. В результате многие службы — и простые, как File Sharing, Active Directory Domain Controller, и сложные, например, Windows Terminal Services, Microsoft SQL Server (либо СУБД других производителей) — не будут работать в режиме NLB-кластера, поскольку для распределения нагрузки между их сервисами требуется больше, чем просто распределение запросов. Для каждой из служб существуют сервисы балансировки нагрузки. Например, сервис Distributed File System (DFS) обеспечивает распределение данных и запросов пользователей между файловыми серверами в сети, а для SQL Server — специальные настройки репликации данных между серверами и механизмы контроля целостности на уровне приложений.

Кроме того, поскольку подход NLB по сути — сетевой, то критерий функционирования узлов для него ограничивается работой стека TCP/IP на узлах кластера. А работает ли на определенном порту узла какой-либо сервис (тот же IIS), NLB не проверяет и будет успешно передавать все http-запросы на узел, где служба IIS остановлена. Другими словами, работа службы NLB — отдать пакет узлу, а кто и как, и будет ли вообще его обрабатывать — ее уже не волнует.

Кластеры высокой доступности


Есть некотор ая многомерная задача, которую распараллелить невозможно, но требуется реализовать ее надежное выполнение на некотором наборе серверных ресурсов. При этом необходимо обеспечить не только физическую доступность сервиса, но и работу служб, нагрузку и т.д. Такие задачи решают кластеры высокой доступности (High Availability Cluster).

Кластеры высокой доступности обеспечивают гарантированную работу целевого приложения на одном из своих серверных узлов, объединенных высокоскоростной сетью для обмена состояниями процессов и общей дисковой СХД. В случае выхода из строя узла с приложением, вмешательства оператора, снижения производительности приложения до некоторого порога и т.п., целевое приложение запускается на другом доступном узле кластера. Поскольку данные приложения хранятся на общем дисковом массиве, они остаются доступными и при старте на другом узле, а сетевое имя и адрес маршрутизируется кластером между узлами. В отличие от NLB-кластера, который, по сути, является точкой обращения к приложениям, программы в HA-кластере представлены как отдельные сетевые серверные ресурсы. Каждый из таких сервисов имеет собственные IP-адрес и имя, отличные от IP-адресов/имен кластера и узлов. Кластеры высокой доступности обеспечивают надежное выполнение серверных приложений, но не повышают их производительность. Часто — даже наоборот, скорость работы несколько снижается, поскольку возникают накладные расходы на менеджмент ресурсов узла.

Таким образом, HA-кластер можно назвать «приложениецентричной» службой. Для нее важно, чтобы приложение получало все необходимые ресурсы — процессорное время, память, дисковую подсистему, сетевые соединения. Благодаря столь обширному контролю, пользователи всегда имеют доступ к приложению, которое мигрирует в случае сбоя отдельного узла на следующий свободный по задаваемому администраторами алгоритму. То есть, пожертвовав некоторым количеством серверов, которые в определенный момент простаивают «на подхвате» (пассивный режим, в отличие от активного режима того узла, где работает конкретная задача), можно быть уверенным, что аппаратный или программный сбой отдельного сервера не прервет бизнес-процессы организации.

В простейшем варианте HA-кластеры состоят из активного и пассивного узла. На активном выполняется задача, пассивный используется в случаях сбоев основного узла либо же при обновлении аппаратного или программного обеспечения. Для экономии аппаратных ресурсов порой используют конфигурации активный/активный, где на каждом из узлов выполняется своя задача. В таком случае при переносе задачи с одного узла на другой второй узел будет выполнять две задачи одновременно, но с более низкой производительностью обеих (если не сконфигурированы какие-то специальные приоритеты). Поэтому, если планируется отказоустойчивое решение для работы нескольких критических бизнес-приложений (или их отдельных служб), используется HA-кластер с 4, 8 или более узлами, один или два из которых работают в пассивном режиме, а остальные — в активном.

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

Пример построения HA-кластера



Таким образом, в отличие от NLB-кластера, здесь потребуется специ-фическое оборудование — общая дисковая подсистема.

Требуемые программные продукты: Microsoft Windows Server 2008 в редакциях Enterprise или Datacenter — только они поддерживают работу кластера высокой доступности с применением Windows Server Failover Clustering. Количество узлов в кластере — 16, все узлы должны быть участниками одного домена Active Directory. Без Active Directory установить HA-кластер под управлением Windows Server Failover Clustering невозможно. Программное обеспечение, которое будет выполняться как задача, должно поддерживать работу в HA-кластере (или обеспечивать возможность переноса конфигурации, состояний между узлами).

Требуемое аппаратное обеспечение: рекомендуемые Microsoft конфигурации к выбранной редакции ОС, требования ПО (с учетом вероятности работы нескольких приложений на одном узле); два высокоскоростных (не менее 100 Мбит) сетевых интерфейса. Первый — для публикации в общей сети ресурсов кластера и приложений, другой — как внутренний интерфейс обмена данными между службами Windows Server Failover Clustering узлов для информирования о сбоях и режимах работы; общая дисковая подсистема, подключенная ко всем узлам, построенная на технологиях Fiber Channel, SCSI, iSCSI и в которой присутствует дисковое хранилище, оснащенное по крайней мере двумя свободными логическими дисковыми устройствами (одно — для общих данных служб кластеризации узлов Windows Server Failover Clustering, второе — непосредственно для данных кластеризуемого приложения). Если предполагается исполнение на узлах более одного приложения или приложение требует нескольких дисков, число логических устройств можно увеличить.

Алгоритм процесса развертывания:

1. Добавить серверы, которые будут работать как узлы HA-кластера, в домен Active Directory.



2. Подключить и настроить аппаратные компоненты, требуемые для работы кластера на каждом из узлов (особенно касается дисковой подсистемы).

3. Установить на всех узлах службу Windows Server Failover Clustering, которая добавляется как свойство сервера Windows Server 2008.

4. Запустить на одном из узлов оснастку Failover Cluster Management. Командой Validate a Configuration запустить мастер проверки конфигурации оборудования будущего кластера. Мастеру указываются имена всех узлов, которые будут задействованы в кластере, он автоматически находит всё требуемое оборудование и проверяет его в различных режимах работы. Процесс проверки занимает от 15 минут до нескольких часов. Рекомендуется внести все изменения, которые будут предложены мастером по окончании работы.

5. В оснастке Failover Cluster Management запустить командой Create a Cluster мастер создания кластера. После указания имен всех будущих узлов кластера и проверки наличия на них службы Windows Server Failover Clustering, мастер потребует только IP-адрес и имя будущего кластера. Процесс непосредственного создания кластера занимает буквально минуту.

6. После создания кластера в Failover Cluster Management будет отображена структура нового кластера. После проверки конфигурации, подготавливаем целевое приложение или сервис для работы в отказоустойчивом режиме. (Если требуется сервер БД, то на данном шаге его необходимо установить в кластерном режиме на каждый из узлов кластера, где он должен работать. Если работа сервера не будет нормироваться отдельными узлами, лучше устанавливать на все узлы. Процесс кластерной установки сервера БД только копирует исполнимые файлы приложения, а дальнейшая настройка и конфигурирование выполняется непосредственно в оснастке.)



7. В оснастке Failover Cluster Management в разделе Services and Applications запускаем мастер создания приложения High Availability Wizard. Выбираем из списка установленных служб требующуюся, определяем IP-адрес и имя будущего сервера баз данных, указываем, какие из доступных дисков общего хранилища предоставляем для данного приложения. Мастер создает приложение, которое запускается в режим онлайн.

Если на HA-кластере работает несколько задач, нужно быть готовыми к тому, что они не всегда совместимы между собой на одном узле или не позволяют двухузловому кластеру работать в режиме активный/активный. Поэтому в решениях отказоустойчивой кластеризации на Windows Server 2008 рекомендуется использовать средства встроенной виртуализации Windows Hyper-V. Виртуальная машина с точки зрения кластеризации является обычным сервисом, выполнение которого следует остановить на одном узле, сохранив его данные в общем хранилище, и запустить на другом узле. При этом виртуальная машина не просто сохраняет данные (собственно, ее основные данные и так находятся в общем хранилище кластера) — сервис виртуализации приостанавливает работу переносимой виртуальной машины и сохраняет состояние оперативной памяти в виде файла на диске. Далее этот файл восстанавливается на другом узле как память запущенной там ранее остановленной виртуальной машины. Таким образом можно добиться более безопасного и изолированного исполнения нескольких несовместимых служб на одном узле, а также более полного использования аппаратных ресурсов, поскольку несколько виртуальных машин позволяют эффективнее распределять процессорное время между виртуальными процессорами. О вычислительных кластерах на базе решений Microsoft см. приложение PCWeek Review №3 «Ресурсоёмкие вычисления».

Выбор редакции
1.1 Отчет о движении продуктов и тары на производстве Акт о реализации и отпуске изделий кухни составляется ежед­невно на основании...

, Эксперт Службы Правового консалтинга компании "Гарант" Любой владелец участка – и не важно, каким образом тот ему достался и какое...

Индивидуальные предприниматели вправе выбрать общую систему налогообложения. Как правило, ОСНО выбирается, когда ИП нужно работать с НДС...

Теория и практика бухгалтерского учета исходит из принципа соответствия. Его суть сводится к фразе: «доходы должны соответствовать тем...
Развитие национальной экономики не является равномерным. Оно подвержено макроэкономической нестабильности , которая зависит от...
Приветствую вас, дорогие друзья! У меня для вас прекрасная новость – собственному жилью быть ! Да-да, вы не ослышались. В нашей стране...
Современные представления об особенностях экономической мысли средневековья (феодального общества) так же, как и времен Древнего мира,...
Продажа товаров оформляется в программе документом Реализация товаров и услуг. Документ можно провести, только если есть определенное...
Теория бухгалтерского учета. Шпаргалки Ольшевская Наталья 24. Классификация хозяйственных средств организацииСостав хозяйственных...