开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《领导 awesome-leading-and-managing》
今日推荐英文原文:《What is DevOps and Why Do We Need It?》
开源日报第399期:《领导 awesome-leading-and-managing》
今日推荐开源项目:《领导 awesome-leading-and-managing》传送门:GitHub链接
推荐理由:干得久了经验多了,迟早有一天就会作为新手的领路人。这个项目就是一个关于领导和管理的资源集合——在你接触这些之前可能想不到这玩意会涉及那么多方面:时间管理、文化、建议……不管哪个方面都不是可以轻易无视的。 没有人是天生的领袖,那些看起来像是天生领袖的人,只不过是作为领袖时比其他人更为了解这些方面,但不可否认的是,这的确很重要。
今日推荐英文原文:《What is DevOps and Why Do We Need It?》作者:Skywell Software
原文链接:https://medium.com/datadriveninvestor/what-is-devops-and-why-do-we-need-it-82c2ef0a9d3d
推荐理由:对于 DevOps 的介绍

What is DevOps and Why Do We Need It?

The DevOps methodology has been recognized by many experts as the best way to promote cooperation between development and operations teams. However, DevOps is much more than a methodology. It is more of a culture that makes both the technical and business sides of software development much more efficient thus reducing time to market and increasing the overall quality of the product. Before we get into why DevOps is important, let’s get the definition of it first.

DevOps Definition

DevOps is an offspring of the Agile methodology that breaks down the barriers separating development and operations teams thus increasing collaboration between them. However, if you do not have the right culture in place, DevOps is just a buzzword. The following are some of DevOps culture:
  • Shared responsibility — In many companies, the development team is focused solely on creating the product and can become disinterest or even estranged operating and managing a system if it is somebody else’s job. If it is also part of the development team’s responsibility to monitor the system over the course of its existence, they are likely to feel the same pains operations teams are dealing with. This will lead to finding new ways of simplifying deployments and the maintenance by automating the deployments and better logging.
  • Autonomous teams — Effective collaboration is only possible when development and operations teams can make decisions and changes independently without a complicated decision-making process. This includes trusting your teams, adjusting the way risks are managed and getting rid of an environment where employees are afraid of taking risks or failing.
  • Removing all silos — Some companies document the process and hand this documentation over to another team and consider this to be regular cooperation. Such an arrangement is doomed from the start because it promotes a culture of finger pointing and blaming. You must adjust resourcing structures to let operations teams start collaborating with other teams early on. One of the goals of DevOps is to blur the line between development and operations team to the point where there may not be a difference between them at all.

The DevOps Lifecycle

There are many stages that make up the DevOps lifecycle, but the process will look like the following:
  • Plan — This stage includes initial planning about how you envision the development process
  • Code — Coding the applications according to the requirements of the customer
  • Build — Integrate all of the various codes you have written
  • Releases — If the testing phase was successful, the application could go live
  • Deploy — The code is deployed to a cloud environment for additional usage
  • Operate — Conduct the operations on the code
  • Monitor — Keep an eye on how well the app is performing and make any changes necessary to satisfy the client.

Why Do We Need DevOps?

DevOps offers a lot of benefits for software programming companies such as increased innovation speed which will allow you to serve your customers better. You will also be more flexible to adjust to changing market conditions and drive higher business results. Since the speed and tempo of the releases will be frequent, you will be able to improve your product faster. This way you can release new features sooner, notice and fix bugs quicker and perhaps most importantly, respond to customer demands better to give your business a competitive advantage. Continuous integration and delivery (CI/CD) are practices that automate the software release process starting from the build and all the way to deployment.

Even though the pace of production will increase, it has to be done so reliably. You will be able to use CI/CD to test all of the changes, and better monitoring and logging will help you continuously stay on top of how well your application is doing in real-time. Security process will not be compromised since the compliance policies will be automated by using fine-grained controls and configuration management techniques.

Conclusion

If you are just embarking on your journey towards DevOps implementation, it is essential to set realistic goals expectations. While you may be eager to reap all the benefits of DevOps project management, your teams may experience culture shock, since they are used to the old siloed structure. It is not easy to change well-established processes, and it will take some time to implement on the people, process and information levels. This culture shock will usually come in the form of new goals. You cannot tell your teams, which are used to delivering one release a month, that they will need to have five releases every day from now on. This is simply not going to work.

You need to have a more structured approach with the understanding that the release schedule might slow down at first as your teams become acquainted with the DevOps culture and methodologies. This will require a lot of education, training and some time to get used to all of the changes. As the transition is going on, it is important to set and monitor business critical metrics such as overall revenue and customer satisfaction. There is no point in having multiple releases just for the sake of having various releases. It must make an impact on the bottom line.

Given all of the benefits that DevOps offers it is safe to say that companies who fail to implement DevOps process risk falling behind. One of the most common misconceptions is that DevOps is just for large companies when in fact small and medium-sized business can take advantage of everything DevOps has to offer. In fact, one of the reasons that companies such as Facebook, Netflix, and other conglomerates were able to achieve such rapid growth is because they were early adopters of DevOps and were able to deliver new features to their user faster than the competition. Therefore, if you have not yet begun implementing DevOps, you are falling behind your competitors.
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/