DUMP会议| grep '后端|devops'

上周我参加了叶卡捷琳堡的 DUMP IT 会议(https://dump-ekb.ru/),我想告诉大家后端和 DevOps 部分讨论了什么,以及区域性 IT 会议是否值得关注。

DUMP会议| grep '后端|devops'
《邪恶火星人》中的 Nikolay Sverchkov 关于无服务器

到底有什么?

会议共有 8 个部分:后端、前端、移动、测试和 QA、DevOps、设计、科学和管理。

顺便说一句,最大的大厅位于科学和管理))每个可容纳约 350 人。 后端和前端也小不了多少。 DevOps 房间最小,但很活跃。

我听了 DevOps 和 Backend 部分的报告,并与演讲者进行了一些交谈。 我想在会议上讨论所涵盖的主题并回顾这些部分。

SKB-Kontur、DataArt、Evil Martians、叶卡捷琳堡网络工作室 Flag、Miro (RealTimeBoard) 的代表在 DevOps 和后端部分发表了讲话。 主题涵盖 CI/CD、使用队列服务、日志记录;无服务器主题以及在 Go 中使用 PostgreSQL。

还有 Avito、Tinkoff、Yandex、Jetstyle、Megafon、Ak Bars Bank 的报道,但我没有时间亲自参加(报告的视频录像和幻灯片尚未提供,他们承诺在 2 周内发布)在 dump-ekb.ru 上)。

开发运营部分

令人惊讶的是,该部分在最小的大厅举行,大约有50个座位。 人们甚至站在过道里:)我会告诉你我设法听到的报告。

重达 PB 的弹性材料

本节以 Vladimir Lil (SKB-Kontur) 的关于 Kontur 中的 Elasticsearch 的报告开始。 它们有一个相当大且已加载的 Elastic(约 800 TB 数据,考虑到冗余,约 1.3 PB)。 所有 Kontur 服务的 Elasticsearch 都是单一的,由 2 个集群(7 台和 9 台服务器)组成,而且非常重要,以至于 Kontur 拥有一位专门的 Elasticsearch 工程师(实际上是 Vladimir 本人)。

Vladimir 还分享了他对 Elasticsearch 的好处及其带来的问题的想法。

好处:

  • 所有日志都集中在一处,轻松访问
  • 存储日志一年并轻松分析
  • 处理日志的速度很快
  • 开箱即用的炫酷数据可视化

问题:

  • 消息代理是必须具备的(对于 Kontur 来说,它的角色是由 Kafka 扮演的)
  • 使用 Elasticsearch Curator 的功能(定期从 Curator 中的常规任务创建高负载)
  • 没有内置授权(仅适用于单独的、相当大的资金,或作为不同程度的生产准备程度的开源插件)

关于 Open Distro for Elasticsearch 只有正面评价 :) 同样的授权问题已在那里得到解决。

PB 从哪里来?他们的节点由具有 12*8 Tb SATA + 2*2 Tb SSD 的服务器组成。 SATA上的冷存储,SSD仅用于热缓存(热存储)。
7+9 台服务器,(7 + 9) * 12 * 8 = 1536 Tb。
部分空间被保留,留作冗余等。
大约 90 个应用程序的日志发送到 Elasticsearch,包括 Kontur、Elba 等的所有报告服务。

Serverless开发特点

接下来是来自 DataArt 的 Ruslan Serkin 关于 Serverless 的报告。

Ruslan 谈到了无服务器方法的开发一般是什么,以及它的特点是什么。

无服务器是一种开发方法,开发人员不以任何方式接触基础设施。 示例 - AWS Lambda Serverless、Kubeless.io(Kubernetes 内的无服务器)、Google Cloud Functions。

理想的无服务器应用程序只是一个通过特殊 API 网关向无服务器提供商发送请求的函数。 一个理想的微服务,同时AWS Lambda还支持大量现代编程语言。 对于云提供商来说,维护和部署基础设施的成本为零,支持小型应用程序也将非常便宜(AWS Lambda - 0.2 美元/1 万个简单请求)。

这样的系统的可扩展性几乎是理想的——云提供商自己处理这个问题,Kubeless 在 Kubernetes 集群内自动扩展。

也有缺点:

  • 开发大型应用程序变得越来越困难
  • 对应用程序进行分析有困难(您只能使用日志,但不能进行通常意义上的分析)
  • 无版本控制

说实话,我几年前就听说过Serverless,但这些年来我一直不清楚如何正确使用它。 在Ruslan的报告之后,理解出现了,在后端部分的Nikolai Sverchkov(邪恶火星人)的报告之后,它得到了巩固。 我去参加会议并没有白费:)

CI 是为穷人准备的,或者是否值得为网络工作室编写自己的 CI?

来自叶卡捷琳堡的 Flag 网络工作室负责人 Mikhail Radionov 谈到了自己编写的 CI/CD。

他的工作室已经从“手动 CI/CD”(通过 SSH 登录服务器,执行 git pull,每天重复 100 次)转向 Jenkins 和一个名为 Pullkins 的自写工具,该工具允许您监控代码并执行发布。

詹金斯为什么不工作? 默认情况下它没有提供足够的灵活性,并且很难定制。

“Flag”是在 Laravel(PHP 框架)中开发的。 在开发 CI/CD 服务器时,Mikhail 和他的同事使用了 Laravel 的内置机制,称为 Telescope 和 Envoy。 结果是 PHP 中的服务器(请注意)处理传入的 Webhook 请求,可以构建前端和后端,部署到不同的服务器,并向 Slack 报告。

然后,为了能够执行蓝/绿部署并在 dev-stage-prod 环境中进行统一设置,他们切换到了 Docker。 优点保持不变,增加了同质化环境和无缝部署的可能性,并且增加了学习 Docker 才能正确使用它的需要。

该项目位于Github上

我们如何将服务器版本回滚次数减少 99%

DevOps 部分的最后一份报告来自 Miro.com(以前称为 RealTimeBoard)的首席 DevOps 工程师 Viktor Eremchenko。

RealTimeBoard 是 Miro 团队的旗舰产品,基于单一 Java 应用程序。 在不停机的情况下收集、测试和部署它是一项艰巨的任务。 在这种情况下,部署这样一个版本的代码非常重要,这样就不必回滚它(它是一个沉重的整体)。

在构建一个允许您执行此操作的系统的过程中,Miro 经历了一条包括研究架构、使用的工具(Atlassian Bamboo、Ansible 等)以及研究团队结构(他们现在有一个专门的 DevOps 团队 + 许多来自不同背景的开发人员的独立 Scrum 团队)。

事实证明,这条路是艰难而充满荆棘的,维克多分享了积累的痛苦和乐观,但并没有就此结束。

DUMP会议| grep '后端|devops'
赢得一本提问的书

后端部分

我设法参加了 2 份报告——来自 Nikolay Sverchkov(Evil Martians),也是关于无服务器的,以及来自 Grigory Koshelev(Kontur 公司)关于遥测的报告。

面向凡人的无服务器

如果说 Ruslan Sirkin 谈论了什么是 Serverless,Nikolay 则展示了使用 Serverless 的简单应用程序,并谈论了影响 AWS Lambda 中应用程序的成本和速度的细节。

一个有趣的细节:最低付费元素是 128 Mb 内存和 100 ms CPU,成本为 0,000000208 美元。 此外,每月 1 万个此类请求是免费的。

Nikolai 的一些函数经常超出 100 毫秒的限制(主要应用程序是用 Ruby 编写的),因此用 Go 重写它们可以节省大量时间。

Vostok Hercules — 让遥测再次伟大!

Grigory Koshelev(Kontur 公司)后端部分关于遥测的最新报告。 遥测意味着日志、指标、应用程序跟踪。

为此,Contour 使用发布在 Github 上的自行编写的工具。 报告中的工具 - 赫拉克勒斯, github.com/vostok/hercules,用于传递遥测数据。

Vladimir Lila 在 DevOps 部分的报告讨论了在 Elasticsearch 中存储和处理日志,但仍然存在从数千个设备和应用程序传递日志的任务,而 Vostok Hercules 等工具可以解决这些问题。

该电路遵循了许多人都知道的路径 - 从 RabbitMQ 到 Apache Kafka,但并非一切都那么简单))他们必须将 Zookeeper、Cassandra 和 Graphite 添加到电路中。 我不会完全透露这份报告的信息(不是我的个人资料),如果您有兴趣,可以等待会议网站上的幻灯片和视频。

与其他会议相比如何?

我无法将其与莫斯科和圣彼得堡的会议进行比较,我可以将其与乌拉尔的其他活动以及萨马拉的 404fest 进行比较。

DAMP分8个分区举行,这是乌拉尔会议的记录。 非常大的科学和管理部分,这也是不寻常的。 叶卡捷琳堡的受众相当有结构——该市有大型的 Yandex、Kontur、Tinkoff 开发部门,这在报告中留下了印记。

另一个有趣的点是,许多公司同时在会议上有 3-4 位发言人(Kontur、Evil Martians、Tinkoff 就是这种情况)。 其中很多是赞助商,但报道与其他报道相当,这些不是广告报道。

去还是不去? 如果您住在乌拉尔地区或附近,您就有机会并且对这些主题感兴趣 - 是的,当然。 如果你打算长途旅行,我会看看往年的报道主题和视频报道 www.youtube.com/user/videoitpeople/videos 并做出了决定。
一般来说,地区会议的另一个优点是,报告后很容易与演讲者进行沟通;只是申请这种沟通的人较少。

DUMP会议| grep '后端|devops'

感谢转储和叶卡捷琳堡! )

来源: habr.com

添加评论