上周,我参加了在叶卡捷琳堡举行的DUMP IT会议(https://dump-ekb.ru/),并想讨论后端和Devops部分中讨论的内容以及区域IT会议是否值得关注。
Evil Martians的Nikolay Sverchkov关于无服务器到底有什么?
会议总共有8个部分:后端,前端,移动,测试和质量保证,开发,设计,科学和管理。
顺便说一下,最大的礼堂是科学和管理))每个约有350人。 后端和前端也不少。 Devops Hall是最小但最活跃的。
我听了Devops和Backend部分中的报告,并与演讲者进行了一些交谈。 我想谈谈涵盖的主题,并在会议上概述这些部分。
SKB-Kontur,DataArt,Evil Martians,叶卡捷琳堡Flag网络工作室的旗子,Miro(RealTimeBoard)的代表在Devops和Backend部分发言。 与CI / CD相关的主题,与队列服务一起使用,日志记录,无服务器主题以及在Go中使用PostgreSQL的主题已被很好地披露。
也有Avito,Tinkoff,Yandex,Jetstyle,Megafon,Ak Bars Bank的报告,但我没有时间亲自拜访(录像和报告幻灯片尚不可用,他们承诺在2周内将其发布到dump-ekb.ru上)。
Devops部分
令人惊讶的是-该部分在最小的大厅举行,大约有50个座位。 人们甚至站在过道里:)我将告诉您我设法听过的报告。
弹性重量(以PB为单位)
该部分以弗拉基米尔·利尔(VKBimir Lil)(SKB-Kontur)关于Kontur的Elasticsearch的报告开头。 它们具有足够大的负载弹性(约800 TB的数据,约1.3 PB,考虑到冗余)。 Elasticsearch对电路的所有服务都是单个的,由2个集群(分别由7和9个服务器组成)组成,并且非常重要,以至于电路中有一位特殊的Elasticsearch工程师(实际上是Vladimir本人)。
弗拉基米尔(Vladimir)也分享了他对Elasticsearch的好处以及他带来的问题的看法。
好处:
- 所有日志都放在一个地方,方便访问
- 一年的日志存储及其轻松分析
- 高速记录
- 出色的数据可视化“开箱即用”
问题:
- 消息代理-必须具备(Kafka扮演Kontur的角色)
- 使用Elasticsearch Curator的功能(通过Curator中的常规任务定期创建高负载)
- 没有内置授权(仅用于单独的,相当大的资金,或者作为具有不同生产准备水平的开源插件)
关于OpenDistro 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等的所有报告服务。
无服务器开发功能
来自DataArt的Ruslan Serkin关于Serverless的进一步报告。
Ruslan讨论了无服务器方法的总体发展以及它的功能。
无服务器是一种开发方法,其中开发人员与基础架构无关。 一个示例是AWS Lambda Serverless,Kubeless.io(Kubernetes中的Serverless),Google Cloud Functions。
理想的无服务器应用程序只是通过专用网关API向无服务器提供程序发送请求的功能。 理想的微服务,同时在同一AWS Lambda中支持多种现代编程语言。 在云提供商的情况下,支持和部署基础结构的成本为零;支持小型应用程序也将非常便宜(AWS Lambda-0.2美元/ 1百万个简单请求)。
这样的系统的可伸缩性几乎是完美的-云提供商自行解决此问题,Kubeless在Kubernetes集群中自动扩展。
有缺点:
- 开发大型应用程序变得越来越困难
- 对应用程序进行性能分析很困难(只有日志可供您使用,但通常情况下无法进行性能分析)
- 没有版本控制
坦白说,几年前我听说过Serverless,但这些年来我一直不清楚如何正确使用它。 在Ruslan的报告发布后,就出现了理解,在后端部分的Nikolai Sverchkov(邪恶的火星人)报告之后,他进行了合并。 难怪我去参加会议了:)
穷人的配置项,还是值得为网络工作室编写自己的配置项
叶卡捷琳堡Flag网络工作室的负责人Mikhail Radionov谈到了自己编写的CI / CD。
他的工作室从“手动CI / CD”(通过SSH登录到服务器,进行git pull,每天重复100次)到Jenkins,再到一个自写工具,您可以使用它控制代码并执行称为Pullkins的发行版。
詹金斯为什么不工作? 默认情况下,它没有提供足够的灵活性,并且对于定制而言过于复杂。
Laravel(PHP框架)正在开发“标志”。 在开发CI / CD服务器时,Michael和他的同事使用了称为Telescope和Envoy的内置Laravel机制。 结果是一个php服务器(注意),该服务器处理传入的Webhook请求,能够组合前端,后端,部署到其他服务器并向Slack报告。
此外,为了能够执行蓝/绿部署,并在dev-stage-prod环境中进行统一设置,他们选择了Docker。 优点保持不变,增加了使环境均匀化和无缝部署的可能性,并且增加了学习Docker使其正确工作的需要。
该项目在Github上我们如何将服务器版本的回滚次数减少99%
Devops部分中的最新报告来自Miro.com(以前称为RealTimeBoard)的首席devops工程师Victor Eremchenko。
Miro团队的核心产品RealTimeBoard基于单片Java应用程序。 在不停机的情况下收集,测试和部署它是一项艰巨的任务。 在这种情况下,重要的是部署这样一个版本的代码,以便不必回滚(沉重的整体)。
在构建允许该功能的系统的过程中,Miro进行了很长的路要走,包括在体系结构方面的工作,所使用的工具(Atlassian Bamboo,Ansible等),以及团队的建设(他们现在有专用的Devops命令+许多单独的Scrum命令)来自不同配置文件的开发人员)。
道路变得艰难而棘手,维克多(Victor)分享了他的决定,积累的痛苦和不止于此的乐观态度。
赢得了一本书的问题后端部分
我有2份报告,分别来自Nikolai Sverchkov(邪恶的火星人)(也涉及Serverless)和Grigory Koshelev(Kontur公司)关于遥测的报告。
无服务器的凡人
如果Ruslan Sirkin谈论什么是Serverless,则Nikolai展示了使用Serverless的简单应用程序,并讨论了影响AWS Lambda中应用程序的成本和速度的细节。
一个有趣的细节:最低付款项是128 Mb的内存和100 ms的CPU,它的价格为0.000000208美元。 此外,每月有100万个此类请求是免费的。
Nikolai的某些功能通常超过100 ms的限制(主要应用程序是用Ruby编写的),因此在Go上重写它们可以节省大量成本。
Vostok Hercules-使遥测再次出色!
Grigory Koshelev(Kontur公司)的后端部分中有关遥测的最新报告。 遥测是日志,指标,应用程序跟踪。
Contour为此使用了自己在Github上发布的书面工具。 报告工具Hercules(
网址为
github.com/vostok/hercules )用于传递遥测数据。
Vladimir Lila在Devops部分中的一份报告研究了Elasticsearch中的日志的存储和处理,但是仍然存在从成千上万个设备和应用程序中传送日志的任务,诸如Vostok Hercules之类的工具可以解决它们。
从RabbitMQ到Apache Kafka,这条电路是众所周知的,但并不是那么简单))他们必须在方案中添加Zookeeper,Cassandra和Graphite。 我不会完全披露此报告中的信息(不是我的个人资料),如果有兴趣,您可以等待会议网站上的幻灯片和视频。
与其他会议相比如何?
我不能将其与莫斯科和圣彼得堡的会议相提并论,我可以将其与乌拉尔的其他活动以及萨马拉的404fest相提并论。
转储分8部分举行,这是乌拉尔会议的记录。 科学与管理的很大部分,这也是不寻常的。 叶卡捷琳堡的听众颇为有条理-该市设有大型开发部门Yandex,Kontur,Tinkoff,这在报告中留下了自己的印记。
另一个有趣的一点是,许多公司在会议上立即有3-4位发言人(Kontur,Evil Martians和Tinkoff就是这种情况)。 他们中的许多人是赞助商,但报告与其他人相当;它们不是广告报告。
去还是不去? 如果您住在乌拉尔或乌拉尔附近,您将有很多机会和有趣的话题-当然可以。 如果您考虑长途旅行,那么我将看一下前几年的报告和视频报告的主题,
网址为www.youtube.com/user/videoitpeople/videos并做出决定。
通常,在报告之后,该地区的会议再加上与发言人的交流很容易,这种交流的申请人较少。

感谢Dump和叶卡捷琳堡! )