软件开发投标技术力量

by Joel Speed

由Joel Speed

开发者社区的力量 (The power of the developer community)

In the autumn of 2014, I started my adventure into the world of DevOps. Having just started my degree, I found a society at the university that was in desperate need of some IT love. My home for the next three years was at Warwick Student Cinema.

2014年秋天,我开始了对DevOps世界的冒险。 刚开始攻读学位,我在大学里发现了一个迫切需要IT热爱的社会。 接下来三年我的家在沃里克学生电影院 。

Over the course of my degree, I tore every part of the cinema’s infrastructure apart and rebuilt it from scratch (not all single-handed, mind). Being on a tight budget, approximately £0 annually, the cinema’s infrastructure consisted of a number of hand-me-down machines that the university no longer required and a couple of 1U Dell pizza boxes they bought as a one-off expense. On this, they hosted their public facing website, as well as a number of internal sites crucial to the running of the cinema.

在攻读学位的过程中,我撕毁了电影院基础设施的每个部分,并从头开始对其进行了重建(请记住,并不是所有的单手操作)。 由于预算紧张,每年约需0英镑,这家电影院的基础设施包括大学不再需要的大量手动机器以及他们一次性购买的几个1U戴尔披萨盒。 在此,他们托管了面向公众的网站,以及许多对影院运营至关重要的内部网站。

The most important of these sites was known as EPOS. It was a PHP monolith, intertwined with the main public website that was written about 10 years prior by a handful of enthusiastic students and had been passed over year on year to the next IT officer in line.

这些站点中最重要的站点称为EPOS。 这是一个PHP巨著,与主要的公共网站交织在一起,该网站是由一群热心的学生在大约十年前编写的,并逐年传递给了下一批IT官员。

This EPOS site was used to sell tickets for the cinema’s screenings approximately 7 times a week. At each screening, over a 30-minute window, we could sell up to 300 tickets. But, more often than not, the site would fall over and our duty managers would have to resort to using raffle tickets to count our attendees. Sadly, the systems had no redundancy, nothing horizontally scaled, and honestly, no one quite knew how anything pieced together.

这个EPOS网站用于每周大约7次出售电影院放映的门票。 在每次放映中,在30分钟的窗口内,我们最多可以出售300张票。 但是,通常情况下,场地将倒塌,我们的值班经理将不得不使用抽奖券来计算参加者的人数。 可悲的是,这些系统没有冗余,没有水平扩展,说实话,没有人完全知道任何东西如何组合在一起。

I’d like to think that by the time I handed the IT Officer hat over to my successor, the infrastructure was in a better state. All of the Linux workloads had been migrated to Docker containers, running on a Swarm. The container’s Dockerfiles were under source control, with automated builds and deploys using Jenkins.

我想当我将IT总监移交给继任者时,基础架构处于更好的状态。 所有Linux工作负载都已迁移到在Swarm上运行的Docker容器。 容器的Dockerfile受源代码控制,并使用Jenkins进行自动构建和部署。

We now understood the role of each part of the infrastructure, we could see in code what was running and where. The monolith could now horizontally scale and its up-time had greatly increased. I felt like myself and the few colleagues who helped me during this period had really made a difference to the systems we maintained.

现在,我们了解了基础结构各部分的作用,我们可以在代码中看到正在运行的内容以及运行的位置。 整体现在可以水平缩放,并且正常运行时间大大增加了。 我觉得自己和在此期间为我提供帮助的少数同事确实对我们维护的系统产生了影响。

故事不错,乔尔,但这与社区有什么关系? (Nice story Joel, but what has this got to do with community?)

None of what I’ve described above I could have done alone. I’m no genius. I didn’t just instantly know how to write a Dockerfile, or how to set up a Docker Swarm. The redundant firewalls I set up with complicated policy-based routing and VRRP on their internal and external interfaces, it wasn’t guesswork. I barely knew what Linux was when I started university!

我上面没有提到的任何事情我都无法独自完成。 我不是天才。 我不仅立刻就知道如何编写Dockerfile或如何设置Docker Swarm。 我在内部和外部接口上使用复杂的基于策略的路由和VRRP设置的冗余防火墙,这并不是猜测。 我刚上大学时几乎不知道Linux是什么!

Everything I did, everything I learned during this period, came from the internet, the community. I spent countless hours on Google — going from tutorials on topics such as how to generate a CSR to StackOverflow questions which matched the error string I had just encountered. I trawled support forums for pfSense as I tried to work out how to get traffic routing between multiple VLANs. And I read articles on best practices for reducing single points of failures. All of the answers I found, everything I read, had been contributed by people in their spare time.

在此期间,我所做的一切,学到的一切都来自互联网和社区。 我在Google上花费了无数的时间-从有关如何生成CSR之类的主题的教程到与我刚遇到的错误字符串匹配的StackOverflow问题。 当我尝试确定如何在多个VLAN之间进行流量路由时,我在pfSense的支持论坛上拖了很多网。 我阅读了有关减少单点故障的最佳实践的文章。 我发现的所有答案,我阅读的所有内容,都是人们在业余时间贡献出来的。

The community inspired me. There were so many people out there who were willing to give up their time, to share their expertise, to help people by writing, maintaining and responding to issues on open source projects. I feel like I learned so much over the three year period and I genuinely believe I wouldn’t be in my current role without all this. I feel indebted to the community for helping me to get to where I am today.

社区启发了我。 有这么多人愿意放弃他们的时间,分享他们的专业知识,通过编写,维护和响应开源项目上的问题来帮助人们。 我感觉自己在三年中学到了很多东西,并且我真的相信如果没有这一切,我将不会担任现任职务。 对于帮助我到达今天的状态,我感到很感激社区。

社区让您今天处于现状吗? (So the community got you where you are today?)

That’s exactly what I’m saying! Without the time and effort that countless members of the community spent on their blogs and tutorials, I would not have managed most of the projects I took on at the cinema, nor would I have learned so much!

我就是这么说的! 没有社区无数成员在博客和教程上花费的时间和精力,我将无法管理我在电影院从事的大多数项目,也学不到很多东西!

It got me thinking. I wanted to be able to give back, take what I had learned and become an active member of the community. If these people were helping me so much, could I possibly help them and repay the favor?

这让我开始思考。 我希望能够回馈,吸收我所学到的知识并成为社区的积极成员。 如果这些人对我有很大帮助,我是否可以帮助他们并偿还青睐?

I came to the conclusion that I might be doing some interesting things at the cinema. Perhaps I had spent enough time learning from others that now I could start contributing back to the community. I bought myself a personal domain and decided that I would start blogging, with the hope that someday people might find my ramblings useful.

我得出的结论是,我可能会在电影院里做一些有趣的事情。 也许我花了很多时间向他人学习,现在我可以开始回馈社区了。 我为自己购买了一个个人域名,并决定开始写博客,希望有一天人们能发现我的杂文有用。

This didn’t go quite as planned. It took me a full 3 years from purchasing my domain to actually putting a blog up on it. I’m fortunate that my company, Pusher, is supportive of my wanting to write and to give back to the community. In March of this year, I managed to write my first blog post and have now been published on The New Stack, and InfoQ. I’ve spoken at 2 meetups and I’ve been pushing to open-source a bunch of projects I’ve worked on since I joined Pusher. Five have been shared so far!

这没有按计划进行。 从购买域名到实际在上面写博客花了整整3年的时间。 我很幸运,我的公司Pusher支持我的写作并回馈社区。 在今年三月,我设法写了我的第一篇博客文章,现在已经发表在The New Stack和InfoQ上 。 自从加入Pusher以来,我在两次聚会中都发表了讲话,并且一直在努力开源一些我从事过的项目。 到目前为止,已经分享了五个!

What I have come to realize over the last year is that it’s not as hard to contribute to the community as I thought it would be, and that actually, I have been working on some interesting stuff. I’ve had a number of people reach out to me, talk to me after talks, asking me questions or for more detail on the work I’ve done. A couple of times people have just told me they’ve read my work and used it as a guideline for their own projects. I’m glad I have managed to help these people and started to help others as many others helped me.

在过去的一年中,我意识到,为社区做出贡献并不像我想象的那么难,实际上,我一直在从事一些有趣的工作。 我有很多人与我联系,谈话后与我交谈,询问我问题或更多有关我已完成工作的细节。 几次人们只是告诉我他们已经阅读了我的作品,并将其用作自己项目的指南。 我很高兴能够帮助到这些人,并像其他许多人一样帮助我,也开始帮助他人。

为什么要开源您的工作? (Why Open Source your work?)

The projects we’ve open sourced at Pusher aren’t particularly big and they give us no competitive advantage over any of our competitors. They are related to our Kubernetes infrastructure. Where we couldn’t find an existing solution in the community, we wrote the tools we needed, and now we are sharing them so that other people, trying to solve the same problems, need not spend their time writing their own version.

我们在Pusher开源的项目并不是特别庞大,并且与其他竞争对手相比,它们没有给我们带来竞争优势。 它们与我们的Kubernetes基础架构有关。 在无法在社区中找到现有解决方案的地方,我们编写了所需的工具,现在我们可以共享它们,以便其他人可以尝试解决相同的问题,而不必花费时间来编写自己的版本。

Perhaps you’ve worked on something that is similar, is it open source? Could it be? I would like to encourage you to share it if you can.

也许您从事过类似的工作,它是开源的吗? 可以吗 如果可以的话,我鼓励您分享。

我的请求 (My plea)

If you got this far, thank you, I have a favor to ask. Whether you’re a developer or an accountant, whether you work in PR or in Sales, you will know something that someone else doesn’t. You will be an expert at something even if you don’t know that you are. Have a think on that and then put pen to paper (or digital equivalent).

如果您走得这么远,谢谢,我有个忙要问。 无论您是开发人员还是会计师,无论您是在PR还是在Sales中工作,您都会知道别人没有的一些知识。 即使您不知道自己是什么,您也会在某些方面成为专家。 请对此有所考虑,然后将其付诸实践(或等效的数字技术)。

Write an article and share your experience. Write an article and help someone learn, and further themselves. Help them understand something they’ve been trying to wrap their head around for days. Write an article and, like so many did for me, inspire someone.

撰写文章并分享您的经验。 写一篇文章,帮助别人学习,进一步发展自己。 帮助他们了解他们几天来一直在想的事情。 写一篇文章,就像许多人为我所做的那样,激励一个人。

翻译自: https://www.freecodecamp.org/news/the-power-of-the-developer-community-2b6e713fc9ae/

软件开发投标技术力量

软件开发投标技术力量_开发者社区的力量相关推荐

  1. sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz!...

    sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz! sae-v2ex 一个运行在SAE上的类似v2e ...

  2. 模型驱动软件开发:技术、工程与管理

    模型驱动软件开发:技术.工程与管理 文章目录 模型驱动软件开发:技术.工程与管理 第一章:引言 第二章:软件开发的演化 第三章:MDD 的概念 MDD 模型驱动开发 MDD 的主要特点 1. 模型为中 ...

  3. 中国移动云能力中心 Iaas 产品部软件开发工程师陈焱山:社区始于连接,也成就于连接...

    社区始于连接,也成就于连接 --陈焱山 ApacheCon 是 Apache 软件基金会(ASF)的官方全球系列大会.作为久负盛名的开源盛宴,ApacheCon 在开源界备受关注,也是开源运动早期的知 ...

  4. 软件开发怎么对抗抄袭_对抗软件开发中的复杂性

    软件开发怎么对抗抄袭 这是怎么回事 (What's this about) After working on different projects, I've noticed that every o ...

  5. 关于视频软件开发的技术

    网络视频犹如一个万花筒,它让所有痴迷于可视.可听的人群找到了一条畅快淋漓的途径,它为网民带来了视听的真实和画面灵动的刺激.这个产业的迅速崛起让网络更贴近现实生活,更让信息时代的网络服务焕发出鲜活的魅力 ...

  6. 软件开发规范和标准_社交APP,社交直播软件开发怎样才可靠了?

    在网络飞速发展的今天,开发社交直播APP软件已经成为商家发展的必然,他们都需要社交直播APP或者小程序软件来拓展业务.那么社交APP,社交直播软件开发怎样才可靠了? 首先,甄别网络虚假宣传. 目前,傍 ...

  7. 软件开发前言技术系列讲座

    一.最开始的题目 1.大数据 1)大数据背景下软件开发的特点(分条), 2)大数据背景下软件开发要注意什么(或需要关注的是什么). 价值,数据量,速度,复杂度,多样性 2.什么是云计算?(给出你使用过 ...

  8. 软件开发团队成员分工_分析软件开发人员的能力–选择合适的团队成员

    软件开发团队成员分工 在这篇文章中,我将尝试解释一种评估开发人员技能的方法. 该方法仍然是一个概念,缺少一些具体的决策,但是您可以选择最适合您的情况的方法. 有许多评估开发人员技能的方法,我最喜欢的是 ...

  9. qq幻想开发组腾讯_开发者的幻想

    qq幻想开发组腾讯 当我成为一个骄傲的父亲的那一刻,我几乎失去了所有的业余时间. 从那以后,我两次成为骄傲的父亲. 长话短说-我有三个孩子. 这基本上意味着根本没有空闲时间. 时不时地,我只有五分钟的 ...

最新文章

  1. Android日志系统分析之开篇
  2. XenDesktop7.12配置StoreFront使用HTTPS
  3. 云计算具有什么平台_究竟什么是云计算?
  4. Cocos2dx源码记录(11) CCPrimtiveCommand,CCPrimetive
  5. 混合使用Azure LB和ILB访问相同web服务(3)
  6. 软件测试个人心得总结
  7. Java集合之HashSet源码分析
  8. 让你python代码更快的3个小技巧
  9. python语言的读法-就语法而言,Python 这个语言怎么样?
  10. 【优化求解】基于matlab模拟退火算法求解函数极值问题【含Matlab源码 1203期】
  11. 北京大学 | 软件工程理论与实践
  12. TwinCAT3中台达A3伺服使用
  13. c++ iostream
  14. 屈臣氏供应链数据分析
  15. 《大数据》2022年第3期目次摘要
  16. 极简番茄钟与白噪音|潮汐
  17. 马云:眼光有多远 未来就有多远【2014世界互联网大会】
  18. Cisco QoS配置说明(CBWFQ/LLQ/PQ/CQ/WFQ)
  19. 长沙银行“三重奏”:“生态银行”的新玩法
  20. JVM jvmpi (转)

热门文章

  1. PL0扩展一维数组array
  2. Gitlab Failed to squash
  3. Ubuntu v20.04 Detailed installation tutorial
  4. 最近调试HEVC中码率控制, 发现HM里面一个重大bug
  5. 跟踪HTTP通道流程分析网络安全隐患
  6. PHP 家长互助解决问题步骤,家长互助学习心得体会
  7. ICCBDAI 2022 - 十二月无数计算机学者齐聚张家界
  8. 【唐老狮】C#四部曲之C#基础:习题汇总
  9. 利用Python开发App
  10. tinymce编辑器上传本地视频预览