Beginners' Guide for Getting Started with DevOps

Source: Internet
Author: User
Keywords devops devops guide devops definition devops basics for beginners
When we talk about DevOps, we might discuss concepts such as process and management, operation and maintenance and automation, architecture and services, and culture and organization. So, what exactly is "DevOps"?

What is DevOps

With the increasing frequency of software release iterations, the traditional "waterfall" (development-test-release) model has been unable to meet the needs of rapid delivery. DevOps came into being around 2009. Simply put, it is better to optimize the development (DEV), testing (QA), and operation and maintenance (OPS) processes. The integration of development and operation and maintenance, through highly automated tools and processes Software construction, testing, and release are faster, more frequent, and more reliable.

About what DevOps is, DevOps co-author John Willis wrote a very good post here.


Benefits and value of Devops

Code submission triggers directly: eliminate waiting time, quick feedback

Each change corresponds to a delivery pipeline: making problem location and debugging easy

Efficient automation of the entire development process: stable, fast, and predictable delivery results

Continuous automated regression testing: improve delivery quality

Facility sharing and provision on demand: maximizing resource utilization

As can be seen from the above, the benefits of DevOps are more based on continuous deployment and delivery, which is for business and products. DevOps begins with the acceptance of DevOps culture and technology methodology. It is a set of processes and methods for inter-departmental communication and collaboration, which helps to improve the company's organizational culture and enhance employees' sense of participation.

Devops and continuous integration
DevOps is a complete IT operation and maintenance workflow, based on IT automation and continuous integration (CI), continuous deployment (CD), to optimize all aspects of program development, testing, system operation and maintenance.

Looking at the technical data of each DevOps practice company, the most comprehensive and classic is the technical key points of DevOps Tools mentioned in flickr's 10+ deploys per day best practice:

1.Automated infrastructure (automation, integration between systems)
2.shared version control (SVN shared source code)
3.one step build and deploy
4.feature flags (backbone development)
5.Shared metrics
6. IRC and IM robots (information integration)
The above technical points are penetrated by continuous integration / deployment. The main development is the premise of continuous integration. Automation and centralized management of the code periphery are the necessary conditions for the implementation of continuous integration. There is no doubt that DevOps is an extension of continuous integration. Continuous integration / deployment is the core of DevOps technology. Without automated testing and continuous integration / deployment, DevOps is a castle in the sky.

We made a Hosted continuous integration product-flow.ci, which integrates the continuous integration (CI) service of the workflow mechanism, and can also be understood as an automated process platform. In addition to integrating code, compilation, and testing, it can also integrate common Tools and flexible custom processes to help you create a better and smarter DevOps environment.

DevOps technology stack and tool chain
Everything is Code, DevOps also needs to complete the integration of continuous integration, continuous delivery, user feedback and system optimization through the technical tool chain. Elasticbox organizes 60+ open source tools and categories, including version control & collaborative development tools, automated build and test tools, continuous integration & delivery tools, deployment tools, maintenance tools, monitoring, warning & analysis tools, etc.
Added some domestic services that will allow you to better implement the DevOps workflow.

Version control & collaborative development: GitHub, GitLab, BitBucket, SubVersion, Coding, Bazaar

Automated build and test: Apache Ant, Maven, Selenium, PyUnit, QUnit, JMeter, Gradle, PHPUnit

Continuous integration & delivery: Jenkins, Capistrano, BuildBot, Fabric, Tinderbox, Travis CI, flow.ci Continuum, LuntBuild, CruiseControl, Integrity, Gump, Go

Container platform: Docker, Rocket, Ubuntu (LXC), third-party vendors such as (Alibaba Cloud)

Configuration management: Chef, Puppet, CFengine, Bash, Rudder, Powershell, RunDeck, Saltstack, Ansible

Microservice platforms: OpenShift, Cloud Foundry, Kubernetes, Mesosphere

Service activation: Puppet, Docker Swarm, Vagrant, Powershell, OpenStack Heat

Log management: Logstash, CollectD, StatsD

Monitoring, warning & analysis: Nagios, Ganglia, Sensu, zabbix, ICINGA, Graphite, Kibana

By the way, share another DevOps BookMarks, which covers all aspects of DevOps tools and content. Interested students can go to learn.

DevOps best practices
Since the concept of DevOps was proposed in 2009, many companies have begun to implement DevOps. The more well-known foreign countries are Amazon, Google, Facebook, etc., and the domestic famous ones are Baidu, Huawei, and Ali. Amazon is one of the most convincing representatives of DevOps best practices. This is a snapshot of Amazon's DevOps in Why We Need DevOps for one month:

    11.6 seconds: average deployment time (working days)
    1,079: Maximum deployment volume per hour
    10,000: average number of concurrent receiver deployments
    30,000: Maximum concurrent receiver deployment

DevOps = Culture + Tools
If you want to deploy DevOps for the entire business, you need not only the soft requirements to cultivate the DevOps culture from top to bottom, but also the hard tool chain requirements to obtain higher quality software delivery.

Finally, whether you are a technical leader, or a Dev, QA or Ops, it is very ideal and challenging to achieve a comprehensive DevOps, I hope this DevOps beginners guide is a good start :)

DevOps is a continuous integration (CI) service that incorporates a workflow mechanism. It can also be understood as an automated process platform. In addition to integrating code, compilation, and testing, it can also integrate common tools and flexible custom processes. The development and test environment can be built in 1 minute, and the first Build can be started.
Related Article

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.