Step-by_Step Guide About DevOps | Visualpath

Page 1

DevOps Strategy Document 1. Objective The objective of the document is to explain Riverstone’s strategy for implementing and/or improving the DevOps practices and tools used across the assorted Development and Operations related processes at a corporation. The square measureas that square measure appropriate for automation are known and possible solutions for every space square measure represented. this is often subject to vary supported discussion with company management. 2. DevOps summary 2.1.What is DevOps DevOps may be outlined as a culture or method or practise among a corporation that will increase the communication, collaboration and integration of the event (which includes the QA team) and the Operations (IT Operations) groups. The aim is to modify and speed up the computer code delivery method way more ofttimes and faithfully. Figure one A diagram thanks to perceive DevOps Even though ‘Continuous Delivery’ is another term that's employed in conjunction with DevOps, there are some variations. the subsequent diagram (Pic courtesy: collab.net) shows the relations Figure two DevOps vs Continuous Delivery Some of the phases might not slot in every kind of services or merchandise. Ex. ‘Operation’ part isn't relevant within the case of a product that's shipped to associate external client. The operation of that product falls below the customer’s operation life cycle. 2.2.DevOps Goals The goals of DevOps square measure to form enhancements across all elements within the product and repair delivery. They embody • Improved readying frequency


• quicker time to plug • Lower failure rates of latest releases • quicker recovery time from crashes or failures. 2.3.DevOps advantages Companies that apply DevOps have according vital advantages. a number of them square measure • considerably shorter time-to-market • Improved client satisfaction • higher product quality • additional reliable releases • Improved productivity and potency • The increased ability to make the proper product by quick experimentation Some of the key findings from PuppetLabs/DORA study in 2016 square measure as follows. High-performing IT organizations compared to low-performing organizations • 200x additional frequent deployments • 24x quicker recovery times • 2,555 times quicker lead times • 2.2x higher worker loyalty (eNPS) • twenty second less time on unplanned work and rework • fifty p.c less time remediating security problems 2.4.DevOps Practices DevOps is over simply a collection of practices. There square measure many who square measure employed in the trade. The following section can list the highest associated ordinarily used apply in an exceedingly DevOps method in an IT


organization. i. begin tiny. Trying to try and do an excessive amount of quickly may be a direction for disaster. it's higher to begin tiny comes and gain confidence of team. begin project that encompasses a high success likelihood. this might be a pilot or model or proof of construct project. ii. focus on the method and not on the tools. It is higher to be tool freelance and a decent method ought to have the flexibility to exchange one tool with another while not an excessive amount of disruption. iii. place everything below version management. To faithfully deploy associate application on to production, all the things that square measure needed for building the application: code, test cases, style documents, external libraries, databases and something that would be updated, has got to be anesthetise version management. iv. Maintain a production-equivalent staging surroundings Typically a development surroundings is completely different from production. So, to avoid problems that are found solely when going into production, like performance, access connected and such, it is advised to own a staging surroundings wherever all those i build surroundings cut back|to scale back|to cut back} time to setup and additionally reduce any human errors. Infrastructure as a Service (IAAS) is employed for this purpose. vii. modify readying of application In addition to higher than surroundings build automation, it's additionally terribly helpful to own automation to deploy the appliance to the surroundings. This includes initializing the databases, initial setup of application, installation of dependencies et al.. The automated build and readying may be achieved through ‘Infrastructure as a code’


methodology 2.5.DevOps Tools Since DevOps is additional of a method, there's not one tool that helps in deploying DevOps apply in a corporation. it's additional of a ‘toolchain’, a set of tools that helps within the implementation of a chosen DevOps apply. DevOps implementation doesn’t mean to throw away existing tools in favour of latest ones. It involves in desegregation the present tools and migrating the non-compliant tools to suit the chosen practice/process. the method steps you wish to contemplate for tools support are: • Request capture and price tag advancement • supply management • Agile coming up with • action Management • Build automation • Continuous readying • unharness Management • automatic take a look at scripts and cargo Testing • Feedback Management • Team Collaboration • Application measuring • laboratory Management • Cloud supplier integration Now there square measure several tools that became platforms through that several functions may be performed with one tool. a number of the popular DevOps platforms are: Jenkins is that the leading open supply, extendible continuous integration server on the market nowadays. Written in Java, Jenkins provides automatic continuous integration services for computer code


development. The platform provides sizeable flexibility around however builds may be initiated – including a version system, scheduled cron jobs, launched once alternative builds have completed, and by suggests that of a selected build address. Jenkins is additionally present within the DevOps market, supported by overflow 800 plugins that permit users to extend its use to support comes written in virtually any language, most version management systems, and most massive databases. Chef offers what it calls Automation for Web-Scale IT, by delivering quick, scalable, versatile IT automation. cook may be a configuration management platform that creates use of what it calls “recipes” to modify infrastructure tasks. samples of recipes square measure directions for configuring internet servers, databases and cargo balancers. These recipes describe what associate infrastructure consists of and the way each a part of it ought to be deployed, organized and managed. Chef will contour the configuration and maintenance of a company’s servers, furthermore as integrate with cloud-based platforms like Rackspace, Amazon EC2, and Google Cloud Platform to automatically provision and piece new machines. Puppet Labs may be a standard name within the DevOps trade, and is understood for its ASCII text file configuration management tool, Puppet, furthermore because the commercially out there version, known as Puppet Enterprise. Puppet Enterprise is employed to modify tasks at completely different stages of the IT infrastructure lifecycle, together with discovery, provisioning, OS and application configuration management, orchestration, and reportage. Puppet Labs offers associate expansive scheme that features coaching and certification. Through Puppet Certification Program Puppet Labs provides skilled exams to acknowledge IT professionals WHO have incontestable the technical ability and knowledge required to manage their infrastructure


proactively throughout its lifecycle. AnsibleWorks provides IT orchestration engine that creates applications and systems easier to deploy. Or in its own words, “Ansible makes deploying computer code fun once more.” Ansible takes this claim seriously. not like most configuration management platforms, Ansible uses what's known as “agentless architecture.” In most cases, nodes should have a domestically put in daemon that communicates with a controlling machine. Ansible, on the opposite hand, doesn’t need a custom agent or computer code to install, however merely communicates over SSH. Ansible is well protrusile and may deploy to virtualization environments and public and personal cloud environments together with VMware, OpenStack, AWS, Eucalyptus Cloud, KVM, and CloudStack. The platform can also deploy massive information, storage and analytics environments together with Hadoop, Riak, and Aerospike. 4. DevOps Implementation Implementing a decent DevOps method can profit any organization to an excellent extent. This includes planning, developing, integration and automation. There square measure a number of product areas that may immediately have the benefit of some integration and automation tasks which will cut back the manual work involved, increase the responsiveness of support team and additionally optimize the resources used. A typical DevOps implementation can integrate and modify the various method with tools appropriate to the client and would seem like the image below. (PC: digitalcto.com) 4.1.Understanding current scenario current DevOps capabilities and therefore the tools used. this is often through with the assistance of a form which will be shared with the stakeholders. A properly stuffed up form can provides a smart understanding of the current setup at the client organization. 4.3.Documentation of existing processes


The current processes, tools & systems utilized by the client are documented, if no such document exists already with the client. 4.4.Baseline activity Before beginning the project, some measurements to point this DevOps tools and capability will be noted down. Some samples of these measurements would be: variety of releases in an exceedingly year; Average time to mend a defect and then on. This activity are compared against when the engagement is completed. 4.5.Opportunities for improvement During the analysis of this method and tools, there'll be some areas which will need improvement in terms of method or technology. this can be incorporated into the ultimate presentation. 4.6.Impactful areas Each space of improvement are analyzed for business impact and therefore the areas with high impact can be documented. 4.7.Ideal end-state After all the analysis square measure done and processed, the best end-state from a DevOps stance are documented and conferred. this can embody the method and tools which will match the client requirement. a number of the method would be: Code review process; Versioning best practice; Infrastructure recommendation to use of personal cloud; and then on. DevOps Strategy Document Page nine of fourteen 4.8.Roadmap Finally, a roadmap which will show the steps to implement a replacement DevOps method or to boost the


existing method and therefore the list of tools that square measure counseled are conferred to the client. 4.9.Prototype Riverstone would then show the advantage of new DevOps method by prototyping and demonstrating one of the areas known for improvement. 5. Use Case eventualities Listed below square measure a number of the eventualities that Riverstone can facilitate the client implement the DevOps method 5.1.Integration with Continuous Integration (CI) platform CI is a vital part of the DevOps method. Tools like Jenkins, Buildbot, Microsoft VSTS/TFS, and Bamboo square measure the popular CI tools. one in every of them may be enforced supported customer necessities. CI tools may be integrated with supported version system like lowlife, Subversion to supply automated builds whenever there's a code commit in any chosen branch. This avoids a manual means to somebody looking for code and doing a build. Any build errors owing to a wrong commit will also be caught now instead of later throughout a periodic builds. CI may be any extended to require such builds and run automatic take a look at cases that on any failing take a look at cases will mechanically revert the committed code. Tools like Jenkins offer plenty of plugins that helps in extending Jenkins to try and do several functions among a DevOps method. Take the below diagram as a typical development method. The developer commits the code into a repository system (ex. Git). The build and unharness team a part of the Operations can take the committed code and build it on the build server. Then they deploy the resultant bits (like War file) on to a testing surroundings. The test/QA team then will their tests on the appliance. On


successful testing, the discharge team then deploys the appliance on to the assembly server. Figure four Manual processes in an exceedingly development life cycle There square measure several manual steps in such a method. i. looking for code to make server ii. Doing the build iii. Deploying the appliance to check server iv. Testing by the QA team (manual half, if not absolutely automated) v. Deploying the appliance to production server vi. readying of build server vii. readying of take a look at server viii. watching of the take a look at, staging, production servers Now we have a tendency to install a CI tool (ex. Jenkins) and integrate it with the version system (Git), testing server and additionally with the staging and production setup. With correct configuration, the CI server can automatically checkout code from the lowlife repository (can be organized to try and do daily/weekly or whenever a commit happens). It then uses the build servers to make the appliance. It will deploy the application to the organized take a look at server and run the automatic take a look at cases. On productive take a look at, it can deploy the appliance to staging surroundings and eventually on to production surroundings on request. This method currently eliminates plenty of manual steps. The below diagram denotes the new process. 5.2.Integration with Infrastructure/Configuration Management Continuous readying is another major part of the method. to try and do application deployments automatically, the infrastructure (CPU, storage, memory) ought to support it. this is often attainable once customer uses associate IAAS platform. It can be a private/on premise cloud like VMware, OpenStack or


public/internet cloud like Amazon AWS, Microsoft Azure. CI build setup, testing setup and lots of alternative functions needs hosts with bound CPU/memory/storage capability. On this the builds would happen, applications would be deployed for system testing and then on. rather than putting in dedicated build servers or testing servers which is able to be used only needed and can be idle for the reminder of the time, it's higher to deploy these hosts as and once it's needed. this is often attainable with technologies like Infrastructure as a Service (IAAS), configuration management. CI tools like Jenkins et al. have well integrated interfaces to IAAS platforms like OpenStack, AWS which might provision the specified build servers on demand and do the build for it. Similarly, testing automation will use the suitable interfaces (using APIs) to provision the specified machines (virtual machines) and use configuration management tools like Chef, Puppet to deploy the applications on to those VMs and so do the automatic testing. Most of these are done mechanically in an exceedingly DevOps method. Take the instance mentioned in four.1. Even when automating the build and unharness method employing a CI (Jenkins) platform, there square measure some manual steps concerned. The Operations team are concerned in India no.1 Best DevOps Online Training institutes in Hyderabad, Karnataka, and Maharashtra. Visualpath is the advance Software training center for DevOps Online Training In Ameerpet, Hyderabad, India. They provides e-learning, devops tutorials with clear information.they are Offering Real-Time Projects scenarios and practical experiments.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.