0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Proof of Work и Proof of Stake для чайников</a></li>
1
<ul><li><a>Proof of Work и Proof of Stake для чайников</a></li>
2
<li><a>4 вида распространённых ошибок в Event-Driven системах</a></li>
2
<li><a>4 вида распространённых ошибок в Event-Driven системах</a></li>
3
<li><a>Основные функции Apache Tomcat</a></li>
3
<li><a>Основные функции Apache Tomcat</a></li>
4
<li><a>Kubernetes на AWS: пошаговое руководство</a></li>
4
<li><a>Kubernetes на AWS: пошаговое руководство</a></li>
5
<li><a>Архитектурный паттерн для обработки больших данных: Kappa</a></li>
5
<li><a>Архитектурный паттерн для обработки больших данных: Kappa</a></li>
6
<li><a>Как управлять состоянием телеграм-бота</a></li>
6
<li><a>Как управлять состоянием телеграм-бота</a></li>
7
<li><a>Паттерн Circuit Breaker</a></li>
7
<li><a>Паттерн Circuit Breaker</a></li>
8
<li><a>Проблемы согласованности данных в микросервисах и их решение</a></li>
8
<li><a>Проблемы согласованности данных в микросервисах и их решение</a></li>
9
<li><a>Паттерн Одиночка</a></li>
9
<li><a>Паттерн Одиночка</a></li>
10
<li><a>На пути к четкой архитектуре: проблема избыточной функциональности</a></li>
10
<li><a>На пути к четкой архитектуре: проблема избыточной функциональности</a></li>
11
<li><a>Коротко про платежи через ботов в Telegram</a></li>
11
<li><a>Коротко про платежи через ботов в Telegram</a></li>
12
<li><a>Проектирование fault-tolerant систем на Go</a></li>
12
<li><a>Проектирование fault-tolerant систем на Go</a></li>
13
<li><a>Обзор библиотеки bleve в Golang</a></li>
13
<li><a>Обзор библиотеки bleve в Golang</a></li>
14
<li><a>Обзор библиотеки Go Kit</a></li>
14
<li><a>Обзор библиотеки Go Kit</a></li>
15
<li><a>Зачем нужен архитектор 1С</a></li>
15
<li><a>Зачем нужен архитектор 1С</a></li>
16
<li><a>Разбираемся с Cloud Landing Zone</a></li>
16
<li><a>Разбираемся с Cloud Landing Zone</a></li>
17
</ul><h2>Proof of Work и Proof of Stake для чайников</h2>
17
</ul><h2>Proof of Work и Proof of Stake для чайников</h2>
18
<p>На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне - это согласие всех участников сети относительно ее текущего состояния, т.е это механизм, который позволяет децентрализованным сетям достигать общего согласия о том, какие транзакции считаются действительными и добавляются в блокчейн.</p>
18
<p>На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне - это согласие всех участников сети относительно ее текущего состояния, т.е это механизм, который позволяет децентрализованным сетям достигать общего согласия о том, какие транзакции считаются действительными и добавляются в блокчейн.</p>
19
<p>Для достижения консенсуса в блокчейне существуют механизмы <em>Proof of Work</em> и Proof of Stake. Рассмотрим их в этой статье.</p>
19
<p>Для достижения консенсуса в блокчейне существуют механизмы <em>Proof of Work</em> и Proof of Stake. Рассмотрим их в этой статье.</p>
20
<p><a>Читать далее</a></p>
20
<p><a>Читать далее</a></p>
21
<h2>4 вида распространённых ошибок в Event-Driven системах</h2>
21
<h2>4 вида распространённых ошибок в Event-Driven системах</h2>
22
<p>В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:</p>
22
<p>В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:</p>
23
<ul><li>Слабая связанность между компонентами</li>
23
<ul><li>Слабая связанность между компонентами</li>
24
<li>Концепция “Fire and Forget”</li>
24
<li>Концепция “Fire and Forget”</li>
25
<li>Отсутствие зависимости во времени</li>
25
<li>Отсутствие зависимости во времени</li>
26
<li>Ряд бизнес-моделей очень легко вписывается в event-driven системы</li>
26
<li>Ряд бизнес-моделей очень легко вписывается в event-driven системы</li>
27
</ul><p><a>Читать далее</a></p>
27
</ul><p><a>Читать далее</a></p>
28
<h2>Основные функции Apache Tomcat</h2>
28
<h2>Основные функции Apache Tomcat</h2>
29
<p>Apache Tomcat - это открытое программное обеспечение, реализующее спецификации <em>Java Servlet</em>, <em>JSP</em> и <em>Java WebSocket,</em> предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Software Foundation, Tomcat служит контейнером сервлетов, который позволяет веб-приложениям использовать Java для создания динамичных веб-страниц.</p>
29
<p>Apache Tomcat - это открытое программное обеспечение, реализующее спецификации <em>Java Servlet</em>, <em>JSP</em> и <em>Java WebSocket,</em> предоставляя таким образом платформу для запуска веб-приложений, написанных на языке Java. Разработанный и поддерживаемый Apache Software Foundation, Tomcat служит контейнером сервлетов, который позволяет веб-приложениям использовать Java для создания динамичных веб-страниц.</p>
30
<p>Tomcat может работать как самостоятельный веб-сервер, где он обрабатывает как статические страницы, так и динамические запросы через <em>Servlets</em> и <em>JSP</em>. Однако часто Tomcat используется в сочетании с традиционными веб-серверами, такими как Apache HTTP Server или Nginx, для обработки статического контента, в то время как динамический контент обрабатывается через Tomcat.</p>
30
<p>Tomcat может работать как самостоятельный веб-сервер, где он обрабатывает как статические страницы, так и динамические запросы через <em>Servlets</em> и <em>JSP</em>. Однако часто Tomcat используется в сочетании с традиционными веб-серверами, такими как Apache HTTP Server или Nginx, для обработки статического контента, в то время как динамический контент обрабатывается через Tomcat.</p>
31
<p>В этой статье мы рассмотрим основной функционал Tomcat.</p>
31
<p>В этой статье мы рассмотрим основной функционал Tomcat.</p>
32
<p><a>Читать далее</a></p>
32
<p><a>Читать далее</a></p>
33
<h2>Kubernetes на AWS: пошаговое руководство</h2>
33
<h2>Kubernetes на AWS: пошаговое руководство</h2>
34
<p>В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:</p>
34
<p>В этой статье мы рассмотрим несколько распространенных способов создания кластера Kubernetes на AWS:</p>
35
<ul><li><strong>Создание кластера с помощью kops</strong>: kops - это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS.</li>
35
<ul><li><strong>Создание кластера с помощью kops</strong>: kops - это инструмент, предназначенный для промышленной эксплуатации, используемый для установки, обновления и управления Kubernetes на AWS.</li>
36
<li><strong>Создание кластера с помощью Amazon Elastic Kubernetes Service (EKS)</strong>: EKS - это управляемый сервис Kubernetes, предоставляемый компанией Amazon. Кластер Kubernetes с EKS можно создать с помощью AWS Management Console.</li>
36
<li><strong>Создание кластера с помощью Amazon Elastic Kubernetes Service (EKS)</strong>: EKS - это управляемый сервис Kubernetes, предоставляемый компанией Amazon. Кластер Kubernetes с EKS можно создать с помощью AWS Management Console.</li>
37
<li><strong>Создание кластера с помощью Rancher</strong>: Rancher - это платформа управления Kubernetes, которая упрощает развертывание Kubernetes и контейнеров.</li>
37
<li><strong>Создание кластера с помощью Rancher</strong>: Rancher - это платформа управления Kubernetes, которая упрощает развертывание Kubernetes и контейнеров.</li>
38
</ul><p><a>Читать далее</a></p>
38
</ul><p><a>Читать далее</a></p>
39
<h2>Архитектурный паттерн для обработки больших данных: Kappa</h2>
39
<h2>Архитектурный паттерн для обработки больших данных: Kappa</h2>
40
<p>Когда речь идет о обработке больших данных, архитектурные паттерны играют самую важную роль. Ранее мы обсудили Lambda, который предлагает подход, сочетающий в себе потоковую и батч-обработку данных. Однако, Kappa предоставляет нам несколько другой взгляд на эту проблему. Он упрощает архитектуру, фокусируясь исключительно на потоковой обработке.</p>
40
<p>Когда речь идет о обработке больших данных, архитектурные паттерны играют самую важную роль. Ранее мы обсудили Lambda, который предлагает подход, сочетающий в себе потоковую и батч-обработку данных. Однако, Kappa предоставляет нам несколько другой взгляд на эту проблему. Он упрощает архитектуру, фокусируясь исключительно на потоковой обработке.</p>
41
<p><a>Читать далее</a></p>
41
<p><a>Читать далее</a></p>
42
<h2>Как управлять состоянием телеграм-бота</h2>
42
<h2>Как управлять состоянием телеграм-бота</h2>
43
<p>Управление состоянием - это фундаментальный аспект создания телеграм-ботов, позволяющий нам эффективно управлять взаимодействием с пользователями и предоставлять более персонализированный опыт.</p>
43
<p>Управление состоянием - это фундаментальный аспект создания телеграм-ботов, позволяющий нам эффективно управлять взаимодействием с пользователями и предоставлять более персонализированный опыт.</p>
44
<p>Управление состоянием - это концепция, которая делает весь процесс взаимодействия с пользователем систематическим и удобным. Без этого механизма, ваш бот будет действовать как человек, страдающий амнезией, забывая предыдущие действия пользователя и не способный предоставить согласованный опыт.</p>
44
<p>Управление состоянием - это концепция, которая делает весь процесс взаимодействия с пользователем систематическим и удобным. Без этого механизма, ваш бот будет действовать как человек, страдающий амнезией, забывая предыдущие действия пользователя и не способный предоставить согласованный опыт.</p>
45
<p><a>Читать далее</a></p>
45
<p><a>Читать далее</a></p>
46
<h2>Паттерн Circuit Breaker</h2>
46
<h2>Паттерн Circuit Breaker</h2>
47
<p>Каждая секунда простоя может стоить компании целое состояние, важно иметь надежные механизмы защиты от сбоев. Здесь и приходит на помощь паттерн Circuit Breaker.</p>
47
<p>Каждая секунда простоя может стоить компании целое состояние, важно иметь надежные механизмы защиты от сбоев. Здесь и приходит на помощь паттерн Circuit Breaker.</p>
48
<p>Представьте себе обычный автоматический выключатель в вашем доме. Когда происходит перегрузка, он "выбивается", предотвращая возможные повреждения. Точно так же работает и Circuit Breaker в микросервисах. Он мониторит вызовы к внешнему сервису и при обнаружении слишком большого количества неудачных попыток временно "отключает" вызов, предотвращая тем самым падение всей системы.</p>
48
<p>Представьте себе обычный автоматический выключатель в вашем доме. Когда происходит перегрузка, он "выбивается", предотвращая возможные повреждения. Точно так же работает и Circuit Breaker в микросервисах. Он мониторит вызовы к внешнему сервису и при обнаружении слишком большого количества неудачных попыток временно "отключает" вызов, предотвращая тем самым падение всей системы.</p>
49
<p>Этот паттерн основывается на трех основных состояниях: <em>закрытое</em>, <em>открытое</em> и <em>полуоткрытое</em>.</p>
49
<p>Этот паттерн основывается на трех основных состояниях: <em>закрытое</em>, <em>открытое</em> и <em>полуоткрытое</em>.</p>
50
<p><a>Читать далее</a></p>
50
<p><a>Читать далее</a></p>
51
<h2>Проблемы согласованности данных в микросервисах и их решение</h2>
51
<h2>Проблемы согласованности данных в микросервисах и их решение</h2>
52
<p>Микросервисы стали выбором многих благодаря их гибкости, масштабируемости и способности поддерживать сложные приложения в динамично меняющемся мире.</p>
52
<p>Микросервисы стали выбором многих благодаря их гибкости, масштабируемости и способности поддерживать сложные приложения в динамично меняющемся мире.</p>
53
<p>Но не всё так просто. Одной из ключевых проблем, с которыми сталкиваются при переходе от монолитных архитектур к микросервисным, является обеспечение согласованности данных.</p>
53
<p>Но не всё так просто. Одной из ключевых проблем, с которыми сталкиваются при переходе от монолитных архитектур к микросервисным, является обеспечение согласованности данных.</p>
54
<p>Каждый сервис работает автономно, управляя своим собственным набором данных. Как гарантировать, что данные, распределенные по разным сервисам, будут консистентными? Как избежать потери данных и обеспечить их актуальность в реальном времени?</p>
54
<p>Каждый сервис работает автономно, управляя своим собственным набором данных. Как гарантировать, что данные, распределенные по разным сервисам, будут консистентными? Как избежать потери данных и обеспечить их актуальность в реальном времени?</p>
55
<p><a>Читать далее</a></p>
55
<p><a>Читать далее</a></p>
56
<h2>Паттерн Одиночка</h2>
56
<h2>Паттерн Одиночка</h2>
57
<p>Паттерн "Одиночка" (Singleton) является одним из паттернов проектирования, который используется для создания класса, имеющего только один экземпляр в системе, и предоставляющего глобальную точку доступа к этому экземпляру. Это означает, что в рамках приложения может существовать только один объект данного класса, и любой запрос на создание нового экземпляра будет возвращать ссылку на существующий.</p>
57
<p>Паттерн "Одиночка" (Singleton) является одним из паттернов проектирования, который используется для создания класса, имеющего только один экземпляр в системе, и предоставляющего глобальную точку доступа к этому экземпляру. Это означает, что в рамках приложения может существовать только один объект данного класса, и любой запрос на создание нового экземпляра будет возвращать ссылку на существующий.</p>
58
<p>Паттерн обеспечивает механизм глобального доступа к единственному экземпляру класса, что упрощает взаимодействие с этим объектом из любой части приложения.</p>
58
<p>Паттерн обеспечивает механизм глобального доступа к единственному экземпляру класса, что упрощает взаимодействие с этим объектом из любой части приложения.</p>
59
<p>Паттерн может быть реализован разными способами, включая ленивую инициализацию (создание экземпляра при первом запросе), мгновенную инициализацию (создание экземпляра при загрузке класса), и использование синхронизации для обеспечения потокобезопасности.</p>
59
<p>Паттерн может быть реализован разными способами, включая ленивую инициализацию (создание экземпляра при первом запросе), мгновенную инициализацию (создание экземпляра при загрузке класса), и использование синхронизации для обеспечения потокобезопасности.</p>
60
<p><a>Читать далее</a></p>
60
<p><a>Читать далее</a></p>
61
<h2>На пути к четкой архитектуре: проблема избыточной функциональности</h2>
61
<h2>На пути к четкой архитектуре: проблема избыточной функциональности</h2>
62
<p>Несколько лет назад, будучи еще новичком, я столкнулся с задачей, которая казалась на первый взгляд простой, но оказалась настоящим ужасом. Мое слепое стремление добавить как можно больше функций привело к тому, что интерфейс стал чрезмерно перегруженным и сложным для пользователя.</p>
62
<p>Несколько лет назад, будучи еще новичком, я столкнулся с задачей, которая казалась на первый взгляд простой, но оказалась настоящим ужасом. Мое слепое стремление добавить как можно больше функций привело к тому, что интерфейс стал чрезмерно перегруженным и сложным для пользователя.</p>
63
<p>Мы в небольшой команде разрабатывали модуль отчетности, который должен был предоставлять пользователю возможности для анализа данных проекта. Мы решили интегрировать множество функций: от базового отображения статистики до сложных инструментов предиктивного анализа. В результате пользовательский интерфейс превратился в лабиринт из кнопок, меню и форм, мало того, что это не просто лабиринт, а лабиринт с минотавром, ведь после некоторой комбинации кнопок юзеры получали неизвестную нам ошибку.</p>
63
<p>Мы в небольшой команде разрабатывали модуль отчетности, который должен был предоставлять пользователю возможности для анализа данных проекта. Мы решили интегрировать множество функций: от базового отображения статистики до сложных инструментов предиктивного анализа. В результате пользовательский интерфейс превратился в лабиринт из кнопок, меню и форм, мало того, что это не просто лабиринт, а лабиринт с минотавром, ведь после некоторой комбинации кнопок юзеры получали неизвестную нам ошибку.</p>
64
<p><a>Читать далее</a></p>
64
<p><a>Читать далее</a></p>
65
<h2>Коротко про платежи через ботов в Telegram</h2>
65
<h2>Коротко про платежи через ботов в Telegram</h2>
66
<p>Больше не нужно переключаться между различными приложениями или веб-сайтами, чтобы совершить покупку. Теперь всё это возможно прямо в телеге, платформе, которая уже является частью повседневной жизни миллионов людей.</p>
66
<p>Больше не нужно переключаться между различными приложениями или веб-сайтами, чтобы совершить покупку. Теперь всё это возможно прямо в телеге, платформе, которая уже является частью повседневной жизни миллионов людей.</p>
67
<p>Платежи через ботов позволяют пользователям совершать покупки напрямую в интерфейсе чата. А непосредственно разработчикам, можно интегрировать функции электронной коммерции в бота, позволяя пользователям покупать товары или услуги без выхода из телеги.</p>
67
<p>Платежи через ботов позволяют пользователям совершать покупки напрямую в интерфейсе чата. А непосредственно разработчикам, можно интегрировать функции электронной коммерции в бота, позволяя пользователям покупать товары или услуги без выхода из телеги.</p>
68
<p>Платежи обрабатываются через проверенных и надежных платежных провайдеров, что обеспечивает безопасность транзакций. Пользователям не нужно беспокоиться о сохранности своих финансовых данных, так как Telegram не хранит информацию о картах. Всё, что им нужно - это выбрать товар, нажать на кнопку покупки, и они будут направлены на безопасную страницу платежной системы для завершения транзакции.</p>
68
<p>Платежи обрабатываются через проверенных и надежных платежных провайдеров, что обеспечивает безопасность транзакций. Пользователям не нужно беспокоиться о сохранности своих финансовых данных, так как Telegram не хранит информацию о картах. Всё, что им нужно - это выбрать товар, нажать на кнопку покупки, и они будут направлены на безопасную страницу платежной системы для завершения транзакции.</p>
69
<p><a>Читать далее</a></p>
69
<p><a>Читать далее</a></p>
70
<h2>Проектирование fault-tolerant систем на Go</h2>
70
<h2>Проектирование fault-tolerant систем на Go</h2>
71
<p>Fault-tolerant системы - это те, которые способны продолжать функционировать даже в условиях частичных сбоев или неисправностей. Основная фича таких систем заключается в том, чтобы обеспечить непрерывность работы приложения и безопасность данных даже при возникновении ошибок или непредвиденных ситуаций. Это достигается за счет ряда архитектурных и программных решений, направленных на предотвращение полного отказа системы при возникновении отдельных сбоев.</p>
71
<p>Fault-tolerant системы - это те, которые способны продолжать функционировать даже в условиях частичных сбоев или неисправностей. Основная фича таких систем заключается в том, чтобы обеспечить непрерывность работы приложения и безопасность данных даже при возникновении ошибок или непредвиденных ситуаций. Это достигается за счет ряда архитектурных и программных решений, направленных на предотвращение полного отказа системы при возникновении отдельных сбоев.</p>
72
<p>Go благодаря своей простоте, производительности и, что наиболее важно, поддержке конкурентности на уровне языка, становится идеальным выбором для создания fault-tolerant систем.</p>
72
<p>Go благодаря своей простоте, производительности и, что наиболее важно, поддержке конкурентности на уровне языка, становится идеальным выбором для создания fault-tolerant систем.</p>
73
<p><a>Читать далее</a></p>
73
<p><a>Читать далее</a></p>
74
<h2>Обзор библиотеки bleve в Golang</h2>
74
<h2>Обзор библиотеки bleve в Golang</h2>
75
<p>Bleve предоставляет индексации любых структур данных Go, он поддерживает различные типы полей: <em>текст</em>, <em>числа</em>, <em>даты</em> и <em>логические</em> <em>значения</em>, а также разнообразие запросов: от простых терминов до фраз и сложных булевых запросов.</p>
75
<p>Bleve предоставляет индексации любых структур данных Go, он поддерживает различные типы полей: <em>текст</em>, <em>числа</em>, <em>даты</em> и <em>логические</em> <em>значения</em>, а также разнообразие запросов: от простых терминов до фраз и сложных булевых запросов.</p>
76
<p>Чтобы начать работу с Bleve, нужно установить саму библиотеку в рабочее пространство Go. Процесс установки выполняется с помощью команды go get:</p>
76
<p>Чтобы начать работу с Bleve, нужно установить саму библиотеку в рабочее пространство Go. Процесс установки выполняется с помощью команды go get:</p>
77
go get -u github.com/blevesearch/bleve<p><a>Читать далее</a></p>
77
go get -u github.com/blevesearch/bleve<p><a>Читать далее</a></p>
78
<h2>Обзор библиотеки Go Kit</h2>
78
<h2>Обзор библиотеки Go Kit</h2>
79
<p>Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные протоколы, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.</p>
79
<p>Go Kit предоставляет стандартизированный способ создания сервисов, с ее помощью можно легко реализовать совместимость сервисов. С его помощью можно легко интегрировать различные транспортные протоколы, такие как HTTP, RPC, gRPC, и многое другое, а также реализовывать общие паттерны: логирование, метрики, трассировка. В общем, Go Kit хорошо подходит для разработки микросервисов на go.</p>
80
<p><a>Читать далее</a></p>
80
<p><a>Читать далее</a></p>
81
<h2>Зачем нужен архитектор 1С</h2>
81
<h2>Зачем нужен архитектор 1С</h2>
82
<p>Есть такие, кто считает, что нет оснований для использования отдельного понятия архитектор 1С. Дескать, архитекторы это, например, Растрелли или Гауди, а мы тут немного другим занимаемся. Разработка программного обеспечения и проектирование зданий может и являются родственниками, но уж очень дальними. И, в конце концов, есть уже один достаточно широко используемый термин: разработчик. Зачем плодить лишние сущности и ссылаться при этом на что-то постороннее? Некоторое время назад автор и сам был одним из тех, кто так считал. Но все-таки различать разработчиков ПО и архитекторов ПО имеет смысл. И я попробую раскрыть его.</p>
82
<p>Есть такие, кто считает, что нет оснований для использования отдельного понятия архитектор 1С. Дескать, архитекторы это, например, Растрелли или Гауди, а мы тут немного другим занимаемся. Разработка программного обеспечения и проектирование зданий может и являются родственниками, но уж очень дальними. И, в конце концов, есть уже один достаточно широко используемый термин: разработчик. Зачем плодить лишние сущности и ссылаться при этом на что-то постороннее? Некоторое время назад автор и сам был одним из тех, кто так считал. Но все-таки различать разработчиков ПО и архитекторов ПО имеет смысл. И я попробую раскрыть его.</p>
83
<p><a>Читать далее</a></p>
83
<p><a>Читать далее</a></p>
84
<h2>Разбираемся с Cloud Landing Zone</h2>
84
<h2>Разбираемся с Cloud Landing Zone</h2>
85
<p>Облачные сервисы в последние годы пользуются большой популярностью. Преимущества всем хорошо известны - это экономия на закупке и сопровождении оборудования, лицензиях, персонале и т.д. Если у нас разворачивается инфраструктура с нуля, то ситуация несколько проще. Мы можем сразу развернуть наши сервисы в облаках и дальше уже тестировать их работу. Конечно, здесь тоже можно столкнуться с различными трудностями, но по крайней мере при создании инфраструктуры с нуля нам не требуется выполнять миграцию.</p>
85
<p>Облачные сервисы в последние годы пользуются большой популярностью. Преимущества всем хорошо известны - это экономия на закупке и сопровождении оборудования, лицензиях, персонале и т.д. Если у нас разворачивается инфраструктура с нуля, то ситуация несколько проще. Мы можем сразу развернуть наши сервисы в облаках и дальше уже тестировать их работу. Конечно, здесь тоже можно столкнуться с различными трудностями, но по крайней мере при создании инфраструктуры с нуля нам не требуется выполнять миграцию.</p>
86
<p><a>Читать далее</a></p>
86
<p><a>Читать далее</a></p>
87
87