DevOps is a set of practices that works to automate and integrate the processes between software development and IT teams, so they can build, test, and release software faster and more reliably.
Methodology is a traditional model for developing engineering systems and is originally based on manufacturing and construction industry projects. When applied to software development, specialized tasks completed in one phase need to be reviewed and verified before moving to the next phase. It is a linear and sequential approach, where phases flow downward (waterfalls) to the next.
Agile:
Agile methodology is a type of incremental model of software development based on principles that focuses more on people, results, collaboration, and flexible responses to change. Instead of planning for the whole project, it breaks down development work in small increments completed in iterations, or short time frames. Each iteration includes all SDLC phases such that a working product is delivered at the end. After several iterations, a new or updated product is released.
Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop and test high quality software's. The SDLC aims to produce a high-quality software that meets or exceeds customer expectations, reaches completion within times and cost estimates.
SDLC is the acronym of Software Development Life Cycle.
It is also called as Software Development Process.
SDLC is a framework defining tasks performed at each step in the software development process.
ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
An EC2 instance is a virtual server in Amazon's Elastic Compute Cloud (EC2) for running applications on the Amazon Web Services (AWS) infrastructure. AWS is a comprehensive, evolving cloud computing platform; EC2 is a service that allows business subscribers to run application programs in the computing environment.
Let's start with the step-by-step process to Launch AWS EC2 instance.
Step 1 – Navigating to EC2 Page. ...
Step 2 – Click the Launch AWS EC2. ...
Step 3 – Choose an Amazon Machine Image or AMI. ...
Step 4 – Choose AWS EC2 Instance Type. ...
Step 5 – Configure Instance Options. ...
Step 6 – Add Storage. ...
Step 7 – Add Tags.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
Lesson 5: Vagrant | Virtualization
Virtualization is technology that lets you create useful IT services using resources that are traditionally bound to hardware. It allows you to use a physical machine's full capacity by distributing its capabilities among many users or environments.
Types of Virtualization
Desktop Virtualization.
Application Virtualization.
Server Virtualization.
Network Virtualization.
Storage Virtualization.
Lesson 6: Docker Induction
Lesson 6 (ii): Docker with Practical
What is Docker and why it is used?
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications.
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels.
Lesson7: Chef Real Time Practical
Chef in DevOps is an automation tool. It is a Configuration Management (CM) tool that lets you automate processes and tasks across numerous servers and other devices of an organization in simple steps. ... With a few clicks, you can deploy and manage software applications across all devices of your organization
The primary features of Puppet are as follows −
Implementing new systems with a uniform configuration.
Updating the systems and upgrading the security and software packages.
Incorporating new features and adding dexterous capabilities.
Customizing configurations for ensuring the availability of data sources.
Optimizing the available resources and minimizing the cost.
Simplifying the roles and enabling the team to focus on core and productive issues.
Getting a bird’s eye view of the available infrastructure.
Lesson8: Puppet Real time Practical
DevOps life cycle has many tools to work with and provides many advantages such as error-free, faster life cycle, configuration management, greater management of the SDLC, less iterative, provides saving in cost, savings in time, continuous integration and continuous deployment, etc.
The puppet is a system management tool that helps in automating and centralizing the configuration management process. It also used for software deployment. It is available in open source and commercial versions.