What are DevOps, DevSecOps, and SRE, and differences among them?

DevOps – DevOps is the combination of culture, practices, and tools that increase an organization’s ability to deliver applications and services at high quality, as well as automate and integrate the processes between development and IT teams.


DevOps teams use tools to automate the process, which helps to increase reliability and efficiency.
DevOps ensures fast software delivery with minimum problems to fix and faster solution to problems.
The term DevOps has been made up of two words development and operations.


DevOps is a process that permits the Developer and operation teams to collaborate with each other to manage the whole application development life cycle, i.e. development, testing, deployment, monitoring, etc. DevOps aims to shorten the period and cost of development of the application.

DevSecOps – DevSecOps is a useful umbrella term that collects the processes introduced by organizations who want to run their operations on AWS, Azure, and Google cloud.


DevSecOps is about not only making software easily installable but making the process of installing it more secure and usable.

DevSecOps is not only making the software installation easy, but it makes the installation process more secure and usable as well.


Prior, the development cycles lasted for months or even years, and the release of new versions or software updates of their applications used to be released just once or twice a year.
It gave enough time for quality assurance and security testing teams to carry out security measures which is make the process very slow.


But these outdated security practices or separate security teams cannot keep up with the speeds of DevOps initiatives.
This vulnerability leads to the evolution of the DevSecOps methodology, where the development, operation, and security team, work together and share end-to-end responsibilities in the entire development life cycle to finish the project in less time.


DevSecOps methodology automates the integration of security at every stage of the software development lifecycle, from the initial design.


DevSecOps integrates the security of application and infrastructure seamlessly in Agile and DevOps processes and tools.

SRE – SRE stands for site reliability engineering.


In around 2000 Google realize DevOps is good as it is but there is something else that can be done. So there were a lot of different ideas flowing around then Google come up with this idea called an SRE.


It is a software engineering approach to operations where an SRE team uses software as a tool to manage systems and solve problems and automate operational tasks.


So basically, SRE takes the tasks which have been done often manually by the operation teams and instead of giving them to engineers or Operations teams who use software or automation to solve these problems, they do it themselves and manage the production environment.


In other words, SRE teams are made up of software engineers who build and implement software to improve the reliability of their systems.


SRE teams are responsible for how code is deployed, configured, and monitored as well as checks for the availability, latency, change management, emergency response as well as capacity management of service in production.


So how SRE does all these things, Basically it helps to determine the new features that are being launched, they test it across a few different metrics, so they check it across these things called SLA (Service Level Agreement), SLI (Service level indicator), and SLO (service level objectives).

Differences between DevOps, DevSecOps, and SRE

DevOps, DevSecOps, and SRE all work to bridge the gap between development and operation teams to deliver faster and reliable services.

DevOps and DevSecOps


DevOps is the process of integrating development and operations and focuses on eliminating the communication gap between different teams so that the whole code development and deployment process is done faster whereas DevSecOps solves the security concerns along with deployment.


DevOps is only responsible for Development and operational tasks related to a single project but DevSecOps suggests that security is everyone’s responsibility.


DevOps team requires the skillset of Linux fundamentals and scripting knowledge of various tools and technologies whereas DevSecOps engineers should be skilled with addressing the vulnerabilities with automated security tools. Need to have knowledge in cloud security and provide support to infrastructure users.


DevOps has some benefits like speed, rapid delivery, reliability, scale, improved collaborations, security whereas DevSecOps has improved agility, considers security automation, keeps security as code.


Automation is done for security testing so the development is tested on regular basis.

The report generates if any vulnerabilities are found during CI and CD. DevSecOps never allow security to get compromised. whereas automation in DevOps is for releasing codes in a higher environment. This helps developers to know about the changes has done by the members and to work accordingly.


Monitoring the security incident is done through incident management. Proper standards are created to raise Thus security concerns are managed in DevSecOps. In DevOps, Application infrastructure is managed through codes as infrastructure as codes. Here designing and managing the code is happen on the same platform.

DevOps And SRE


DevOps reduce silos whereas SRE doesn’t concern about the silos. DevOps involve unexpected failures, whereas SREs focus on no failure happening at all.


The automated workflow needs constant monitoring, in this process DevOps team ensures software is working effectively whereas SRE believes that operations are a software issue.


SRE practice involves a contribution from each level of the organization whereas DevOps is all about development and operations only.


SRE uses developers and tools to solve IT operation problems and workflow problems. Thus, SRE does most things through software engineers whereas DevOps uses a development and operation team to finish the work from building to deploying the software in the market.


SRE doesn’t have any special script to follow, but it offers a hard prescription to solve the problems and which tools to use. Whereas DevOps has a development lifecycle that describes what to do.

All these courses are being done at one of the best platforms which are DevOpsschool. If anyone is looking for an institute where you can learn DevOps, you should go for this.

Tagged : / / / /

Difference Between Div & Span

<div>   </div>

The div tag is used to group various other HTML elements. It is a block level element. We can say it also create a block.

Ex:-

<div> This is a Div Tag </div>

<div>
	<h1> Heading </h1>
	<p> Para </p>
</div>

<span>   </span>

The span tag is used to group inline elements. It is an inline element.

Ex:-

<p> I am example of span tag </p>

<p> I am <span>example of span tag</span> </p>

Tagged : / / / /

Difference Between echo and print in PHP

Echo

This statement is used to output the data to the screen or printing text on
screen.

Ex: –

echo with HTML
echo with Variables

print

This is very similar to echo statement a way of displaying text.

Ex-

Tagged : / / /

What is the difference between terraform and Ansible?

In today’s growing world of DevOps, big player are started implementing business processes on IaC (Infrastructure as Code). IaC work as to simplify the process of large-scale management. Modern IaC tools simplify the configuration to resolve server problems in a quick time.

Terraform and Ansible are two popular frontline line DevOps tools that provision and configure servers. Ansible is the more mature between the two, originating in early 2012 and Terraform is a Hashicorp product and was first introduce in 2014.  As the DevOps industry is gaining momentum, so also Ansible and Terraform gaining their popularity with this trend. Both the tools used in deploying the code and infrastructure, in simple Ansible acts as a configuration management solution, Terraform is a service orchestration tool.

In this blog, we point our focus on Terraform vs Ansible, a discussion that is highly dominating the current DevOps market. Let’s first known about these tools:

What is Ansible?

Ansible is an open-source automation tool, or you can also called platform, used for IT tasks such as configuration management, application deployment, intraservice orchestration, and provisioning. Automation is crucial these days, with IT environments that are too complex and often need to scale too quickly for system administrators and developers to keep up if they had to do everything manually.

In simple words, it frees up time and increases efficiency. And also it is rapidly rising to the top in the world of automation tools.

Benefits of Ansible

  • Free: Ansible is an open-source tool.
  • Very simple to set up and use: No special coding skills are necessary to use Ansible’s playbooks.
  • Powerful: Ansible lets you model even highly complex IT workflows.
  • Flexible: Orchestrate the entire application environment no matter where it’s deployed. You can also customize it based on your needs.
  • Agentless: No need to install any other software or firewall ports on the client systems you want to automate. You also don’t have to set up a separate management structure.
  • Efficient: You don’t need to install any extra software, there’s more room for application resources on your server.

What is Terraform?

Terraform is an open source, CLI-based infrastructure as code tool created by Hashicorp.

Terraform is an infrastructure as code tool that helps you to build, change, and infrastructure safely and efficiently. This process includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc. Terraform can manage both existing service providers and custom in-house solutions.

Benefits of Using Terraform

So now you know what Terraform is and how it works, let’s take a look on the top reasons why you should start using Terraform today:

  • Improve multi-cloud infrastructure deployment
  • Automated infrastructure management
  • Infrastructure as code
  • Reduced development costs
  • Reduced time to provision

What is the difference between terraform and Ansible?

In this section, let’s check the difference between the two. Meanwhile both are designed for similar purposes, both have definitely laid a foundation for lifecycle management frameworks. Now, both our players in their battle has placed their cards on the table. Let us find out their differences on some of major factors:

Conclusion

The possibility of a perfect answer on “Why Terraform” or “Why not Ansible” depends mainly on your requirements. Both the tools have so many similarities and also some fair differences as well. So, which one is the best? From a practical perspective, it is advisable to use Ansible for configuration management and Terraform for orchestration. The primary purpose of Terraform is orchestration, and it is considerably intuitive.

Also from career aspect, opportunities for these skilled professionals are increasing significantly with huge scope for career growth.

According to Indeed.com, the average salary of a professional of these skills is $177,530 per annum.

Both Ansible and Terraform are the leading data analytics tool which is adopted by many MNCs worldwide. With this, the demand for the professionals is gradually.

Below you can watch and learn Ansible and Terraform Tutorials

Ansible Advance Tutorial – Intro, Adhoc Command, Inventory, Playbook

Terraform Basic Tutorial with Demo

Hope you find this answer helpful.

Tagged : / / / / /

What is DevOps and How its Different from AWS DevOps?

Introduction

Guys, today in this blog you will learn in detail about DevOps and AWS DevOps, so let’s know what is DevOps and AWS DevOps. DevOps is a term of the two words ‘development’ and ‘operations’. DevOps is not a technology, it is a combination of cultural, practices, and tools that increases an organization’s ability to deliver applications and services. As we know, AWS DevOps provides application developer teams with the means to efficiently implement continuous integration and continuous delivery (CI/CD). This enables them to securely store and version application source code, while automatically building, testing, and eventually deploying the application to either on-premises environments or to AWS.

What is DevOps?

DevOps is a software development methodology where the Development team & Operations teamwork as together. After adopting DevOps, it helps to increase the speed of an organization to deliver applications and services. And it can be defined as the alignment of development and IT operations with better communication and collaboration. And those who are DevOps engineers use many tools for the development & operations processes so that our life becomes easy. These popular DevOps tools are- Docker, Git, SVN, Maven, Jenkins, Selenium, Kubernetes, Puppet, Chef, SaltStack, Nagios, Splunk, etc.

Here are the some Benefits of DevOps:-

  • DevOps ideology encourages a completely new way of thinking and decision-making.
  • DevOps certified professionals are among the highest-paid in the IT industry.
  • The market demand is increasing rapidly with its increased implementation worldwide.
  • It ideology promotes increased collaboration and communication between the operation and development teams.
  • You learn to work in a team consisting of cross-functional team members—QA, developers, operation engineers, and business analysts.

What is AWS?

AWS stands for Amazon Web Services, It is a cloud infrastructure, is an extensive, emerging cloud platform offered by Amazon that contains a combination of IaaS, PaaS, and SaaS offerings. Also, AWS can provide organizational tools including database storage, computing power, and content delivery services. It can be used to store crucial data.

The below image gives you an idea about AWS certifications

Benefits after Grab AWS Certification:-

  • AWS certified professional is someone who can manage servers provided by amazon.
  • It is cloud storage is quite useful for organizations and it’s easily accessible too.
  • Design and deploy dynamic, scalable, highly available, and reliable cloud applications.
  • It is enables businesses to scale and grow with database storage, content delivery, compute power and other tools.

AWS Certified Developer Roles and Responsibilities:-

  1. Skills in write, correct and debug application code modules
  2. Knowledge of software development lifecycle for AWS cloud
  3. Ability to develop, deploy & debug AWS cloud applications
  4. Knowledge of software development lifecycle for AWS cloud
  5. Understanding of serverless applications and ability to write code for these applications.

What is AWS DevOps?

AWS DevOps is Amazon’s answer to implementing the DevOps philosophy using its cloud platform and dedicated tools and services. provides application developer teams with the means to efficiently implement continuous integration and continuous delivery (CI/CD). This enables them to securely store and version application source code, while automatically building, testing, and eventually deploying the application to either on-premises environments or to AWS.

Benefits of AWS DevOps:-

  • Develop, improve, and thoroughly document operational practices and procedures.
  • Develop and implement instrumentation for monitoring the health and availability of services including fault detection, alerting, triage, and recovery.
  • Work in conjunction with IT, engineering, and business groups to understand functionality, scalability, performance, security, and integration requirements.
  • Build solutions to problems that interrupt availability, performance, and stability in our systems, services, and products at scale.

Difference Between DevOps and AWS DevOps:-

DevOps is a software development methodology where the Development team & Operations team work as a together. After adopting DevOps, it helps to increase the speed of an organization to deliver applications and services. And it can be defined as the alignment of development and IT operations with better communication and collaboration. AWS DevOps is Amazon’s answer to implementing the DevOps philosophy using its cloud platform and dedicated tools and services. provides application developer teams with the means to efficiently implement continuous integration and continuous delivery (CI/CD).

DevOps Fundamental to Advanced Tutorial for Beginners

If you want to learn DevOps | Cloud and Containers Free Videos and Tutorials then Join scmGalaxy YouTube Channel

I hope this post will be very helpful for you!

Thank You

Tagged : / / / / / / /

Difference between jenkins and Urbancode build

What is the difference between jenkins and Urbancode build?

jenkins Urbancode build
Jenkins is open framework for automating the repeative tasks and has great plugins which can be used to create entire automated customized continous integration framework. Urbancode build(uBuild) is for automating the repeative tasks and has great limited sets of plugins which can be used to create entire automated continous integration flow.
Jenkins can deliver core CI loop: Detect a change, do a build, test, and deliver feedback and its open framework allows and can be used for software Deployment as well. Urbancode build(uBuild) can deliver core CI loop: Detect a change, do a build, test, and deliver feedback but it can be not be used for deployment. Urbancode Deploy(uDeploy) is another product by IBM which can be used for deployment.
Jenkins can be extended with Large sets of plugins https://plugins.jenkins.io/ Urbancode build(uBuild) can be extended with Limited sets of plugins https://developer.ibm.com/urbancode/plugins/
Jenkins is one of top active Open Source and free developed in Java. Urbancode build(uBuild) is properiety tool by IBM, previously known as Urbancode and developed in Java
Jenkins has plugins which needs extra learning curve by development teams for centrally defined templates Urbancode build(uBuild) has built-in Easy addition of new projects by development teams based on centrally defined templates
Jenkins has Dependency management and but not awareness. Build based on project relationships. Urbancode build(uBuild) has Dependency management and awareness. Build based on project relationships.

My Recommendation – Jenkins

Tagged : / / / /

What is the difference between terminating and stopping an EC2 instance?

terminating-and-stopping-an-ec2-instance

Answer

Terminate Instance

When you terminate an EC2 instance, the instance will be shutdown and the virtual machine that was provisioned for you will be permanently taken away and you will no longer be charged for instance usage. Any data that was stored locally on the instance will be lost. Any attached EBS volumes will be detached and deleted. However, if you attach an EBS Snapshot to an instance at boot time, the default option in the Dashboard is to delete the attached EBS volume upon termination.

Stop Instance

When you stop an EC2 instance, the instance will be shutdown and the virtual machine that was provisioned for you will be permanently taken away and you will no longer be charged for instance usage. The key difference between stopping and terminating an instance is that the attached bootable EBS volume will not be deleted. The data on your EBS volume will remain after stopping while all information on the local (ephemeral) hard drive will be lost as usual. The volume will continue to persist in its availability zone. Standard charges for EBS volumes will apply. Therefore, you should only stop an instance if you plan to start it again within a reasonable timeframe. Otherwise, you might want to terminate an instance instead of stopping it for cost saving purposes.

The ability to stop an instance is only supported on instances that were launched using an EBS-based AMI where the root device data is stored on an attached EBS volume as an EBS boot partition instead of being stored on the local instance itself. As a result, one of the key advantages of starting a stopped instance is that it should theoretically have a faster boot time. When you start a stopped instance the EBS volume is simply attached to the newly provisioned instance. Although, the AWS-id of the new virtual machine will be the same, it will have new IP Addresses, DNS Names, etc. You shouldn’t think of starting a stopped instance as simply restarting the same virtual machine that you just stopped as it will most likely be a completely different virtual machine that will be provisioned to you.

Tagged : / / / / / / /

Difference between Code Coverage and Test Coverage | Code Coverage VS Test Coverage

code-coverage-and-test-coverage-difference

There is not any official distinguished between code Coverage and Test Coverage. Some practitioner has expressed their difference opinion in terms of defining Code Coverage and Test Coverage.
Code coverage and test coverage metrics are both measurements that can be seful to assess the quality of your application code. Code coverage is a term to describe which application code is exercised when the application is running.

Whereas Test coverage refers to metrics in an overall test-plan. In this expert  response, you’ll learn how quality assurance professionals use both of these metrics effectively.

Another definition found over the google search as below;
Code coverage is a measure of how much code is executed during testing &
Test coverage is a measure of how many test cases have been executed during testing.

Lets know about  Code Coverage by definition more in details.
In computer science, code coverage is a measure used to describe the degree to which the source code of a program is tested by a particular test suite. A program with high code coverage has been more thoroughly tested and has a lower chance of containing software bugs than a program with low code coverage. Many different metrics can be used to calculate code coverage; some of the most basic are the percent of program subroutines and the percent of program statements called during execution of the test suite.

Basic coverage criteria

There are a number of coverage criteria, the main ones being:

  • Function coverage – Has each function (or subroutine) in the program been called?
  • Statement coverage – Has each statement in the program been executed?
  • Branch coverage – Has each branch (also called DD-path) of each control structure (such as in if and case statements) been executed? For example, given an if statement, have both the true and false branches been
  • executed? Another way of saying this is, has every edge in the program been executed?
  • Condition coverage (or predicate coverage) – Has each Boolean sub-expression evaluated both to true and false?

[Taken from Wikipedia]

Simply put, code coverage is a way of ensuring that your tests are actually testing your code. When you run your tests you are presumably checking that you are getting the expected results. Code coverage will tell you how much of your code you exercised by running the test. Your tests may all pass with flying colours, but if you’ve only tested 50% of your code, how much confidence can you have in it?

Tagged : / / / / / / / / / / /

How to Differentiate Dynamic code analysis and Static code analysis?

static-dynamic-code-analysis-difference

Difference between dynamic code analysis and static code analysis

Static analysis is the testing and evaluation of an application by examining the code without executing the application whereas Dynamic analysis is the testing and evaluation of an application during runtime.

Many software defects that cause memory and threading errors can be detected both dynamically and statically. The two approaches are complementary because no single approach can find every error.

The primary advantage of dynamic analysis: It reveals subtle defects or vulnerabilities whose cause is too complex to be discovered by static analysis. Dynamic analysis can play a role in security assurance, but its primary goal is finding and debugging errors.

Level of in-depth review

The key difference between a static and dynamic code analyser is the how in-depth the code review

process is. By default, static code analysis combs through every single line of source code to find flaws and errors. For dynamic analysis, the lines of code that get reviewed depend upon which lines of source code are activated during the testing process. Unless a line of code is interacted with, the dynamic analysis tool will ignore it and continue checking active codes for flaws. As a result, dynamic analysis is a lot quicker since it is able to review code on the fly and generates real-time data. However, static code analysis provides peace of mind that each and every line of source code has been thoroughly inspected. It may take longer, but static code analysis runs in the background and is crucial for creating a flawless web application.

 

Catching errors early and making recommendations

The primary advantage of static analysis: It examines all possible execution paths and variable values, not just those invoked during execution. Thus static analysis can reveal errors that may not manifest themselves until weeks, months or years after release. This aspect of static analysis is especially valuable in security assurance, because security attacks often exercise an application in unforeseen and untested ways.

As mentioned before, dynamic analysis reviews codes during the testing process and generates real-time results. While it is great for fine-tuning the user experience, it has one major drawback: any errors highlighted by dynamic code analysis tools requires developers to go all the way back to the source code, make changes to the code itself and then make changes to everything that has been modified as a result of changing the source code. This is a very time consuming and expensive process; one that companies and developers like to avoid at all costs. Static code analysis tools highlight any errors immediately and allow developers to makes changes before proceeding any further. Moreover, static code analysis tools are more feature-packed than their dynamic counterparts. One important feature is the number of errors it can detect and the recommendations it can make to fix that error. If configured, static code analysers can automatically make the required changes and let developers know what changes have been made.

 

Cost of code analysis tools

Just like any other business, software application companies have to find a fine balance between application costs and profit margins. With respect to price, static code analysis tools are always cheaper than dynamic analysers. Moreover, having a dynamic code analyser requires a company to hire professionals trained in the use of dynamic analysis tools. A static code analysis tool can be used by any web developer with ease, thus guaranteeing that it won’t turn out to be a long-term expenditure.

Static code analysers are absolutely essential for application developers, whereas dynamic code analysers can only be used in conjunction with static analysis tools.

 

Tagged : / / / / / / / / / / /