Wednesday, July 8, 2020

What Is DevOps

What Is DevOps What is DevOps? DevOps Methodology, Principles Stages Explained Back Home Categories Online Courses Mock Interviews Webinars NEW Community Write for Us Categories Artificial Intelligence AI vs Machine Learning vs Deep LearningMachine Learning AlgorithmsArtificial Intelligence TutorialWhat is Deep LearningDeep Learning TutorialInstall TensorFlowDeep Learning with PythonBackpropagationTensorFlow TutorialConvolutional Neural Network TutorialVIEW ALL BI and Visualization What is TableauTableau TutorialTableau Interview QuestionsWhat is InformaticaInformatica Interview QuestionsPower BI TutorialPower BI Interview QuestionsOLTP vs OLAPQlikView TutorialAdvanced Excel Formulas TutorialVIEW ALL Big Data What is HadoopHadoop ArchitectureHadoop TutorialHadoop Interview QuestionsHadoop EcosystemData Science vs Big Data vs Data AnalyticsWhat is Big DataMapReduce TutorialPig TutorialSpark TutorialSpark Interview QuestionsBig Data TutorialHive TutorialVIEW ALL Blockchain Blockchain TutorialWhat is BlockchainHyperledger FabricWhat Is EthereumEthereum TutorialB lockchain ApplicationsSolidity TutorialBlockchain ProgrammingHow Blockchain WorksVIEW ALL Cloud Computing What is AWSAWS TutorialAWS CertificationAzure Interview QuestionsAzure TutorialWhat Is Cloud ComputingWhat Is SalesforceIoT TutorialSalesforce TutorialSalesforce Interview QuestionsVIEW ALL Cyber Security Cloud SecurityWhat is CryptographyNmap TutorialSQL Injection AttacksHow To Install Kali LinuxHow to become an Ethical Hacker?Footprinting in Ethical HackingNetwork Scanning for Ethical HackingARP SpoofingApplication SecurityVIEW ALL Data Science Python Pandas TutorialWhat is Machine LearningMachine Learning TutorialMachine Learning ProjectsMachine Learning Interview QuestionsWhat Is Data ScienceSAS TutorialR TutorialData Science ProjectsHow to become a data scientistData Science Interview QuestionsData Scientist SalaryVIEW ALL Data Warehousing and ETL What is Data WarehouseDimension Table in Data WarehousingData Warehousing Interview QuestionsData warehouse architectureTalend T utorialTalend ETL ToolTalend Interview QuestionsFact Table and its TypesInformatica TransformationsInformatica TutorialVIEW ALL Databases What is MySQLMySQL Data TypesSQL JoinsSQL Data TypesWhat is MongoDBMongoDB Interview QuestionsMySQL TutorialSQL Interview QuestionsSQL CommandsMySQL Interview QuestionsVIEW ALL DevOps What is DevOpsDevOps vs AgileDevOps ToolsDevOps TutorialHow To Become A DevOps EngineerDevOps Interview QuestionsWhat Is DockerDocker TutorialDocker Interview QuestionsWhat Is ChefWhat Is KubernetesKubernetes TutorialVIEW ALL Front End Web Development What is JavaScript â€" All You Need To Know About JavaScriptJavaScript TutorialJavaScript Interview QuestionsJavaScript FrameworksAngular TutorialAngular Interview QuestionsWhat is REST API?React TutorialReact vs AngularjQuery TutorialNode TutorialReact Interview QuestionsVIEW ALL Mobile Development Android TutorialAndroid Interview QuestionsAndroid ArchitectureAndroid SQLite DatabaseProgramming Development, Testing D eployment Technologies Involved In DevOps Git Stages Explained Last updated on Jan 23,2020 125.2K Views Arvind18 Comments Bookmark 1 / 12 Blog from Introduction To DevOps Become a Certified Professional If you are in the IT industry then you might have certainly heard one of the most trending buzzwords called DevOps. If you want to pursue a career in DevOps, then it is certainly beneficial and rewarding to go for a DevOps Certification. Before we proceed further, I will suggest you to go through the following blogs:Top 10 reasons to learn DevOpsWho is a DevOps Engineer?A lot of big IT companies have adopted DevOps as their way forward. So in this blog, I will discuss what exactly is DevOps and the points that I will be covering are as follows:What is DevOps?History of DevOpsDevOps Tools and stagesWho is a DevOps Engineer?What is DevOps?The term DevOps is a combination of two words namely Development and Operations. DevOps is a practice that allows a single team to manage th e entire application development life cycle, that is, development, testing, deployment, and monitoring.The ultimate goal of DevOps is to decrease the duration of the systems development life cycle while delivering features, fixes, and updates frequently in close synchronization with business objectives.DevOps is a software development approach with the help of which you can develop superior quality software quickly and with more reliability. It consists of various stages such as continuous development, continuous integration, continuous testing, continuous deployment, and continuous monitoring.So since what is DevOps, let us have a look at the history of DevOps.History of DevOpsBefore DevOps, We had two approaches for software development namely the Waterfall and the Agile.Waterfall ModelThe waterfall model is a software development model that is pretty straight forward and linear. This model follows a top-down approach. This model has various starting with Requirements gathering an d analysis. This is the phase where you get the requirements from the client for developing an application. After this, you try to analyze these requirements.The next phase is the Design phase where you prepare a blueprint of the software. Here, you think about how the software is actually going to look like.Once the design is ready, you move further with the Implementation phase where you begin with the coding for the application. The team of developers works together on various components of the application.Once you complete the application development, you test it in the Verification phase. There are various tests conducted on the application such as unit testing, integration testing, performance testing, etc.After all the tests on the application are completed, it is deployed onto the production servers.At last, comes the Maintenance phase. In this phase, the application is monitored for performance. Any issues related to the performance of the application are resolved in this p hase.Advantages of the Waterfall Model:Simple to understand and useAllows for easy testing and analysisSaves a significant amount of time and moneyGood for small projects if all requirements are clearly definedAllows for departmentalization managerial controlDisadvantages of Waterfall Model:Risky and uncertainLack of visibility of the current progressNot suitable when the requirements keep changingDifficult to make changes to the product when it is in the testing phaseThe end product is available only at the end of the cycleNot suitable for large and complex projectsAgile MethodologyAgile Methodology is an iterative based software development approach where the software project is broken down into various iterations or sprints. Each iteration has phases like the waterfall model such as Requirements Gathering, Design, Development, Testing, and Maintenance. The duration of each iteration is generally 2-8 weeks.Agile ProcessIn Agile, a company releases the application with some high p riority features in the first iteration.After its release, the end-users or the customers give you feedback about the performance of the application.Then you make the necessary changes into the application along with some new features and the application is again released which is the second iteration.You repeat this entire procedure until you achieve the desired software quality.Advantages of Agile ModelIt adaptively responds to requirement changes favorablyFixing errors early in the development process makes this process more cost-effectiveImproves the quality of the product and makes it highly error-freeAllows for direct communication between people involved in software projectHighly suitable for large long-term projectsMinimum resource requirements very easy to manageDisadvantages of Agile ModelHighly dependent on clear customer requirementsQuite Difficult to predict time and effort for larger projectsNot suitable for complex projectsLacks documentation efficiencyIncreased mai ntainability risksNow let us move on and discuss the DevOps stages and tools.DevOps Stages and ToolsAs mentioned earlier, the various stages such as continuous development, continuous integration, continuous testing, continuous deployment, and continuous monitoring constitute the DevOps Life cycle. Now let us have a look at each of the stages of DevOps life cycle one by one.Stage 1: Continuous DevelopmentTools Used: Git, SVN, Mercurial, CVSProcess Flow:This is the phase that involves planning and coding of the software. You decide the project vision during the planning phase and the developers begin developing the code for the application.There are noDevOps toolsthat are required for planning, but there are a number of tools for maintaining the code.The code can be in any language, but you maintain it by using Version Control tools. This process of maintaining the code is known as Source Code Management.After the code is developed, then you move to the Continuous Integration phase. Stage 2: Continuous IntegrationTools: Jenkins, TeamCity, TravisProcess Flow:This stage is the core of the entire DevOps life cycle. It is a practice in which the developers require to commit changes to the source code more frequently. This may be either on a daily or weekly basis.You then build every commit and this allows early detection of problems if they are present. Building code not only involves compilation but it also includes code review, unit testing, integration testing, and packaging.The code supporting new functionality iscontinuously integratedwith the existing code. Since there is a continuous development of software, you need to integrate the updated code continuously as well as smoothly with the systems to reflect changes to the end-users.In this stage, you use the tools for building/ packaging the code into an executable file so that you can forward it to the next phases.Stage 3: Continuous TestingTools: Jenkins, Selenium TestNG, JUnitProcess Flow:This is the sta ge where you test the developed software continuously for bugs using automation testing tools. These tools allow QAs to test multiple code-bases thoroughly in parallel to ensure that there are no flaws in the functionality. In this phase, you can use Docker Containers for simulating the test environment.Selenium is used for automation testing, and the reports are generated by TestNG. You can automate this entire testing phase with the help of a Continuous Integration tool called Jenkins. Suppose you have written a selenium code in Java to test your application. Now you can build this code using ant or maven. Once you build the code, you then test it for User Acceptance Testing (UAT). This entire process can be automated using Jenkins.Stage 4: Continuous DeploymentTools Used: Configuration Management Chef, Puppet, Ansible Containerization Docker, VagrantProcess Flow:This is the stage where you deploy the code on the production servers. It is also important to ensure that you corr ectly deploy the code on all the servers. Before moving on, let us try to understand a few things about Configuration management and Containerization tools. These set of tools here help in achieving Continuous Deployment (CD).Configuration Management is the act of establishing and maintaining consistency in an applications functional requirements and performance. Let me put this in easier words, it is the act of releasing deployments to servers, scheduling updates on all servers and most importantly keeping the configurations consistent across all the servers.Containerization tools also play an equally crucial role in the deployment stage. The containerization tools help produce consistency across Development, Test, Staging as well as Production environments. Besides this, they also help in scaling-up and scaling-down of instances swiftly.Stage 5: Continuous MonitoringTools Used: Splunk, ELK Stack, Nagios, New RelicProcess Flow:This is a very critical stage of the DevOps life cycle where you continuously monitor the performance of your application. Here you record vital information about the use of the software. You then process this information to check the proper functionality of the application. You resolve system errors such as low memory, server not reachable, etc in this phase.This practice involves the participation of the Operations team who will monitor the user activity for bugs or any improper behavior of the system. The Continuous Monitoring tools help you monitor the applications performance and the servers closely and also enable you to check the health of the system proactively.Lastly, we will discuss who exactly is a DevOps Engineer.Who is a DevOps Engineer?DevOps Engineer is somebody who understands the Software Development Lifecycle and has the outright understanding of various automation tools for developing digital pipelines (CI/ CD pipelines).DevOps Engineer works with developers and the IT staff to oversee the code releases. They are eit her developers who get interested in deployment and network operations or sysadmins who have a passion for scripting and coding and move into the development side where they can improve the planning of test and deployment.So that was all from my side in this article on What is DevOps. I hope you have understood everything that I have discussed here. If you have any questions kindly mention that in the comments section.Following is a list of blogs which you might find interesting:DevOps TutorialGit TutorialContinuous Delivery TutorialDocker Container TutorialAnsible TutorialPuppet TutorialNow that you have understood What is DevOps, check out the DevOps training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. The Edureka DevOps Certification Training course helps learners to understand What is DevOps and gain expertise in various DevOps processes and tools such as Puppet, Jenkins, Nagios, Ansible, Chef, Sal tstack and GIT for automating multiple steps in SDLC.Got a question for us? Please mention it in the comments section and we will get back to you.Recommended videos for you 5 Best Practices In DevOps Culture Watch Now DevOps-Redefining your IT Strategy Watch Now What is Git A Complete Git Tutorial For Beginners Watch Now What is DevOps A Beginners Guide To DevOps Watch Now What is Docker DevOps Tool For Containerization Watch Now Ansible Tutorial For Beginners Ansible Playbook Watch Now DevOps Tutorial For Beginners Watch Now Continuous Integration With Jenkins Watch Now Top DevOps Interview Questions And Answers Watch Now Puppet Tutorial DevOps Tool For Configuration Management Watch Now What is Jenkins? Continuous Integration With Jenkins Watch Now DevOps is Going to Replace SDLC! Learn Why Watch Now Devops : Automate Your Infrastructure With Puppet Watch NowRecommended blogs for you What is Continuous Integration? Read Article Top 50 Kubernetes Interview Questions You Must P repare In 2020 Read Article Ansible Provisioning: Smarter and Effortless way of Provisioning Read Article Nagios Tutorial Continuous Monitoring With Nagios Read Article Git’ting Ahead: Hacking Git And GitHub Part 3 Read Article Top Chef Interview Questions All You Need To Know About Chef In 2020 Read Article Top 20 Git Commands with Example Read Article Top 6 DevOps Skills That Organizations Are Looking For Read Article What is Puppet ? Configuration Management Using Puppet Read Article Puppet Tutorial One Stop Solution For Configuration Management Read Article Who Is A DevOps Engineer? DevOps Engineer Roles And Responsibilities Read Article Kubernetes Tutorial A Comprehensive Guide For Kubernetes Read Article Ansible Tutorial Learn To Write Ansible Playbooks Read Article How to use Puppet Modules for IT Infrastructure Automation? Read Article ‘Git’ting Ahead: Hacking Git and GitHub Part 1 Read Article What Is Ansible? Configuration Management And Automation With Ansib le Read Article Jenkins Cheat Sheet A Beginners Guide to Jenkins Read Article Ansible for AWS Managing Cloud Made Easy Read Article Git Tutorial Commands And Operations In Git Read Article How To Install Kubernetes Cluster On Ubuntu 16.04 Read Article Comments 18 Comments Trending Courses in DevOps DevOps Certification Training72k Enrolled LearnersWeekend/WeekdayLive Class Reviews 5 (28700)

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.