Brief introduction to DevOps and Chatops

Source: Internet
Author: User
Tags hubot

Some time ago a colleague took over a task called DevOps, and today overheard another thing that became a chatops.

Let's take a look at the two sides of the sacred.


First, DevOps

DevOps (a combination of English development and operations) is a group of processes, methodologies, and systems that promote communication, collaboration, and integration between development (application/software engineering), technology operations, and QA departments. It comes as the software industry is increasingly aware that development and operations must work closely together to deliver software products and services on time.

Brief introduction


We can think of DevOps as the intersection of development (software engineering), technology operations, and quality assurance (QA).
Traditional software organizations set development, IT operations, and quality assurance as separate departments. How to adopt new development methodologies (such as Agile Software development) in this environment is an important issue: developing and deploying in the way it was before, without the need for IT support or QA in-depth, cross-departmental support, requires extremely close multi-sectoral collaboration. DevOps, however, is not just about software deployment. It is a set of processes and methodologies for communication and collaboration issues between these departments.


Scenarios where you might need to introduce devops

    1. Use agile or other software development processes and methodologies
    2. Business leaders demand faster product delivery rates
    3. Virtualization and cloud infrastructure (possibly from internal or external suppliers) are becoming increasingly common
    4. The popularization of data Center automation technology and configuration management tools
    5. One view is that the dominant "traditional" American style of management ("Sloane Model vs Toyota Model") leads to "chimney-type Automation", which creates a gap between development and operations and therefore requires DEVOPS capabilities to overcome the problems that arise.
    6. DevOps is often described as "a more collaborative and efficient relationship between the development team and the operations team." As a result of improved teamwork, the efficiency of the entire organization is thus improved, and the risk of a production environment with frequent changes can be reduced.

The impact of DevOps on application publishing

In many organizations, application publishing is a highly stressful, high-risk activity involving multiple teams. However, in organizations with devops capabilities, the risk of application release is low for the following reasons:
The agile approach significantly increases the release frequency (usually in "days" or "weeks") compared to large, infrequent releases of traditional development methods (usually in "quarter" or "year" units)
Reducing the scope of change the adoption of agile or iterative development means more frequent releases and fewer changes per release than traditional waterfall development models. Because deployments are frequent, each deployment does not have a significant impact on the production system, and the application grows at a smooth rate. Strengthen release coordination rely on strong release coordinators to bridge the skill gap and communication gap between development and operations; Use collaboration tools such as spreadsheets, teleconferencing, instant Messaging, Enterprise portals (wikis, SharePoint) to ensure that all stakeholders understand the content of the changes and work together. Automate powerful deployment automation tools to ensure repeatable deployment tasks and reduce the likelihood of deployment errors.


Five priorities for DevOps

    1. Beware of overall security risks. The continued adoption of emerging technologies such as virtualization, Cloud, BYOD, and software-defined networking (SDN) means that the network is becoming more complex, more heterogeneous, and so is security risk. The big challenge is that security has so far been seen as an afterthought, and that security groups are thought to be corporate inhibitors, telling businesses what not to do, not how to do it safely. This is a cultural issue that requires security, developers, and operations teams to nurture a level of trust and collaboration that has not previously been met. The only way to do that is to do it gradually and with vigilance.
    2. Observing security risk changes, it is important to think of DevOps as a collaborative philosophy and process that leads developers and IT operations to faster and more efficient deployment, operation, and upgrade applications.
    3. Be aware of scalability. Business and technology people must weigh in terms of functionality, time to market, cost, and risk tolerance. You need to have the right metrics, including how many users are on those endpoints in a particular pattern, and how many concurrent requests.
    4. The pursuit of easy-to-use-devops is automation and repeatability.
    5. Management Gateway. While the new goal is to build the best culture between development and operations teams, it is still good to keep some gateways between the two functions in order to ensure a stable product environment.


DevOps three conveniences

Before putting people into technologyInvest in those that focus on the use of technology, and how to adopt continuous development, testing, integration, deployment and operational training programs.
Security and ManagementManagement of cloud application development must be systematic, building on every step of the devops process, including policies on the use of services or APIs, and the constraints on service discovery and service dependencies.
Make changesDevOps needs to change and evolve to keep up with emerging ideas and technologies. Always take the change into account when designing your devops process.


DevOps Metrics

    • The highest time spent developing applications: helping to understand how quickly you can develop your application
    • Percentage of failed deployments: see if Deployment succeeded
    • Customer Ticket Number: Shows how many problems have been generated
    • Average failure recovery time: Shows how long it takes to recover from an application bug or recovery
    • Number of users: shows how useful the application is to the user

DevOps is used on mainframesDevOps speeds DeliveryDevOps fills up the blank part of DevOps by building a complete life cycle, and DevOps focuses on how to better get feedback from IT operations teams. DevOps applies agile principles to management, and DevOps enables developers and administrators to communicate without hindrance.
There are many deficiencies in devops, and DevOps leads to delays in code handover. The same scenario for DevOps can be seen in the repair process of major bugs.
DevOps run-time software optimizationDevOps can improve knowledge and program quality in two ways. First, DevOps remains operational for many newer, object-oriented operating systems, such as Linux,devops, which are likely to be shut down. As a result, devops is prone to problems, such as the wrong garbage collection mechanism and the inability to reorganize relational data stores correctly.
DevOps draws on the experience accumulated by mainframe administrators to re-recognize the types of software platforms and the development and/or testing processes that can cause these types of problems. DevOps development teams can use embedded mode Protection code to deploy code libraries and test environments.
The goal of DevOps is to embed the existing knowledge of mainframe complexity into the application itself in a test environment, or devops, in the form of code, and DevOps doesn't want the mainframe administrator to find the problem. DevOps not only makes the work of developers and testers easier, but also simplifies the work of administrators.
DevOps improves mainframe administrator productivityDevOps can improve this mainframe management model, and DevOps improves the productivity of mainframe administrators. First, DevOps ensures that administrators have more time to "fight the Fire" by automating the standard configuration and Linux-related tasks. DevOps reduces the need to handle emergency situations by ensuring that solutions are long-term, effective and high-quality. In addition, DevOps allows administrators to participate in agile development processes, communicate with development teams, and when the development team has a test tool or code base that can quickly locate problems and fix run-time problems, devops can reduce the time it takes for administrators to fix bugs and coordinate with the development department. [13]


DevOps Strengthens Cloud Application security

1. Automated manual safety TestingAutomation is important in devops because it provides accuracy and speed. Application delivery needs to be efficient, and manual security testing is not fast enough. More importantly, third parties often miss test errors in external manual tests.
Although organizations do not need to completely abandon manual testing, they should put the automated process on the agenda. The security team should determine how to automate their manual processes. When embedding robust devops into your existing cloud environment, review the security testing tools to ensure that they can be added to the continuous integration and application delivery process. Then, remove or replace tools that aren't suitable for devops or that don't integrate with your cloud business.
2. Prioritize security as early as possibleAlthough the IT industry employs a large proportion of agile and devops processes, the security testing cycle is still based on the traditional cumbersome waterfall model. This means that many organizations forget to do security qualification tests, such as PCI checks and risk assessments, until it is almost too late. To more effectively synchronize security and DevOps cycles, security testing starts from the start of the development process.
3. Establish cross-functional team involvementImplementing robust DevOps, the security team needs to work closely with the development and operations teams. When doing so, security experts should keep an open mind to understand the culture and language of their colleagues. In this way, the relationship becomes a real partnership rather than a mechanical form.
4. Embed security tools in your operationsIn a robust DevOps model, security teams should let other parts of the organization know about security tools as well. By sharing technical knowledge, businesses will have a broader workforce that can address security issues at the forefront. To help small security teams expand their business presence within a larger DevOps organization, security tools can be included in a common operational toolkit.
5. Monitoring and auditing integration processclosely monitor and document integration and delivery processes to ensure high-quality software. This also helps identify security issues. Use granular change logs to prepare information for auditors, as well as scalable cloud security monitoring tools. These tools should be able to automatically track and measure newly added resources. In addition, they should summarize monitoring data and quickly detect real-world problems while eliminating false positives. [14]


Second, Chatops

Hubot is a software embedded in a Github chat system, or it's a chat bot. 5 years ago, an employee named Ryan Tomayko built the hubub to make it easier for engineers to manage Github's hardware and software.

By sending information to Hubot, engineers can upgrade the system on the server, delete data from the database, and even get all the servers offline. However, Hubot's ability is increasing. Today, it provides services to everyone in the company to handle a variety of complex tasks.

Outside the company, Hubot is called the "chatops" tool. That is, it can handle "operations" tasks, such as setting up new servers and databases, or upgrading the code behind a GitHub site. Chatops is a self-made word from Github, but the idea stems from the DevOps movement in the software world. With some new software, engineers can automate the setup and upgrade of a wide range of hardware and software within the company. Chatops added a dialog element.

Hubot's ability is not confined to system tasks. If you want to talk to an employee on the other side of the globe, Hubot can tell you the time zone, and if you're a company programmer, Hubot can tell you when a specific part of the GitHub software has changed, and if you're an employee in the Finance department, Hubot can show you the company's latest revenue data.


Reference documents:

Http://netsmell.com/post/github-gitbot.html

Http://baike.baidu.com/link?url=q3gi-QFyQjPuVtYpDV84lCAwaEu6S_7FWfbJ0AaXHUz-kw6EJtnWlqOaTYpj1SI_u2WNODQgaPNx2ADWyvVY0_#17


Brief introduction to DevOps and Chatops

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.