+91 700 483 5930   +91 810 584 3520    info@scmgalaxy.com
LOGIN
Sign In or Register
Avatar
Not Registered Yet?

Join Now! It's FREE. Get full access and benefit from this site

Reset My password - Remind Me My username

Username
Password
Remember me
 
scmGalaxy logo
Create a subscribe form for your rss feed
 
Joomla Website with K2 Content
https://www.templatemonster.com/help/joomla-2-5-x-how-to-set-up-rss-feeds.html
 
 
RSS To email using mailchimp
https://mailchimp.com/features/rss-to-email/
 
 
RSS To email using hubspot
https://knowledge.hubspot.com/blog-user-guide-v2/how-to-set-up-an-rss-to-email-blog-subscription-for-an-external-blog
 
 
RSS to email using phplist
http://docs.phplist.com/RSSFunctionsInfo.html
 
Feed Burner
http://digitcodes.com/add-a-stylish-email-subscription-form-for-your-blog/
Cloud computing is one of the trends which is going in IT industry these days. The traditional way of building IT environment is now shifting towards the cloud computing. This is the reason number of cloud service provider is increasing day by day and it becomes a tough task to select good one amongst them. So, In this article I am going to tell you about the top 10 cloud platforms for cloud services.
 
But, before that let's have a quick overview on Cloud platforms?
 
Cloud platforms are platforms that allow developers to write applications that runs in the cloud and allows users to access data, services and applications, storage over the internet and allow them to work from anywhere on it.
 
If we look on to the benefits of cloud platforms than these are the following benefits
 
1. Reducing Costs - Cloud platforms eliminating the needs of own hardware, software, licenses, servers and other infrastructures which you needs to build IT working environment which ultimately reduce your costs.
 
2. Productivity - As you don't need your hardware, software and on-premises servers which means you don't need to hire experts to maintain them which helps you in both ways first on cost savings and second the professionals can focus on other things.
 
3. Availability - Cloud platforms allows you to access from anywhere, on any device 24/7
 
4. Scalability - The best thing about cloud platforms is that you don't need to worry about high traffic or sudden growth on traffic because cloud platforms automatically provide as many servers as required in such situations.
 
5. Affordability - As we mentioned above about scalability of cloud platforms where service providers allow server as per situations but it's not cost you much because it;s not compelling you to pay for unnecessary usage of servers by automatically reduces the numbers of servers when traffic go down. You need to pay only for that sort of time when service provider allocates extra servers.
 
6. Migration - Cloud platforms also allow users to migrate completely from one service provider to another without losing your data.
 
 
Now, let's check on to the service models of cloud platforms
 
There are three models of cloud platforms

1. SaaS - Software as a service (Saas) applications runs completely in the cloud. It enables delivery of applications over the cloud, it means you don't need to buy, install and maintain own software. Software is managed from a central location and Just pay for what you used.
 
 
2. PaaS -  Platform as a service (PaaS) This kind of cloud platforms provides you set of tools and services designed to make coding and deploying those applications quick and efficient. Means to say you can develop, runs and manage applications on the cloud.
 
3. IaaS - Infrastructure as a Service (IaaS) It is a kind of service where you get access to virtualized computer resources over the internet. You can get complete infrastructure solutions like hardware, software, servers, storage and other things from third party.
 
Now, lets move on to the next section.
 
Here is the list of top 10 cloud platforms.

1. Amazon Web Services


  • Service Model - IaaS
  • Deployment Model - Hybrid, Private & Public Cloud
  • Server operating system - Linux & windows
  • Auto Scaling
  • Block Storage
  • VPN Access
  • Cloud Storage
  • Database as a Service
  • Deploy servers
  • DNS management

2. Microsoft Azure Cloud


  • Service Model - PaaS
  • Deployment Model - Private Cloud
  • Server operating system - Linux windows
  • Auto Scaling
  • Block Storage
  • Cloud Storage
  • Content Delivery Network
  • Deploy Servers
  • Disaster Recovery
  • VPN Access
  • DNS Management
  • Database as a Service
     
3. Google


  • Service Model - IaaS
  • Deployment Model - Public Cloud
  • Server operating system - Linux & windows
  • Cloud Storage
  • Docker Support
  • Load Balancing
  • Firewalls
  • Snapshots
  • API (Application Programming Interface)
  • Web Based Application/Control Panel
     
4. Rackspace


  • Service Model - IaaS
  • Deployment Model - Hybrid Cloud, Private Cloud, and Public Cloud
  • Server operating system - Linux & windows
  • Auto Scaling
  • Block Storage
  • Cloud Storage
  • Content Delivery Network (CDN)
  • Database as a Service
  • Deploy Servers
  • DNS Management
5. VMware


  • Service Model - IaaS
  • Deployment Model - Hybrid Cloud
  • Server operating system - Linux & windows
  • Auto Scaling
  • Cloud Storage
  • Load Balancing
  • System Monitoring
  • Web Based Application/Control Panel
  • API (Application Programming Interface)
6. Salesforce


  • Service Model - PaaS
  • Deployment Model - Public Cloud
  • Server operating system - Linux & windows
  • Auto Scaling
  • File Storage
  • Firewalls
  • Flexible Storage Services
  • System Monitoring
7. Oracle


  • Service Model - PaaS
  • Deployment Model - Private Cloud and Public Cloud
  • Server operating system - windows
  • Block Storage
  • Cloud Storage
  • Database as a Service
  • Object Storage

8. IBM


  • Service Model - IaaS
  • Deployment Model - Hybrid Cloud and Private Cloud
  • Server operating system - Linux & windows
  • Web Based Application/Control Panel
  • API (Application Programming Interface)
  • Messaging Services
9. Red Hat


  • Service Model - PaaS
  • Deployment Model - Hybrid cloud and Private Cloud
  • Server operating system - windows
  • Auto Scaling
  • Horizontal Scaling
  • Snapshots
  • Vertical Scaling
  • API (Application Programming Interface)
  • Command Line
  • Graphical User Interface

10. Heroku

  • Service Model - PaaS
  • Deployment Model - Public Cloud
  • Server operating system - Linux & windows
  • Auto Scaling
  • Horizontal Scaling
  • Control Interface-Command Line
So, this is my list of top cloud platforms which are trending these days. But, if you think about some other platforms than feel free to share with us in the comment section below.
This is the age of Internet and social media and people's spend more and more time on to the net and social networks. And when people spend their time somewhere they are looking for the persons who share the same interest or skills. This is the reason you can see the online world is full bustling with online communities. You can find tons of dedicated communities, forums, groups or platforms for various purposes by the people who share the same interest. But, what about DevOps ? Where you can find DevOps practitioners ? Where they interact or hangout with their communities?
 
Don't worry! You will get the answer. Just keep reading.

Here, I am going to share five platforms which will provide you the opportunity to connect with peers and industry leaders, where you can share or get information and grow your professional network.
 
 
 
FaceBook group, DevOps India is rocking on this platform with 5000+ members in very small span of time. This is a pubic group for DevOps interested professionals around the world. Very much active and updated group. This group's strictly follows on no-promotional activity, only updates, share information, discussion etc. Yo can see almost every members from this group participate in every discussion and at the same time we have number of followers for this group as well. You will find jobs as well where recruiters post their vacancies here, which is also very important for us and others as well.
 
 
 
With regards to finding helpful articles, news and general data in the DevOps, CD or Agile industry, LinkedIn is typically the ticket. We as a whole know LinkedIn is an incredible instrument for systems administration and interfacing with companions, however it has likewise ended up being an apparatus used to begin important and beneficial discussions about whatever the most recent advancement or industry organization might be. A significant number of these discussions are had in particular gatherings on LinkedIn and on the off chance that you aren't a part, you are certainly passing up a great opportunity. This group is for all interested people in DevOps, Networking, Discussions, news, meetups and sharing materials and anything else related to DevOps. Group is getting stronger day by day with number of peoples and information they share. This group is very much active and one of the most strongest groups among all the existing groups on linkedin.
 
 
 
Google has given a platform to stay together and share information and update everyone. We utilises this platform and created a DevOps Group which is having 5000+ members and is one of the biggest group on google for DevOps. People who joined this are very much interested in getting updates and recent news about DevOps and Agile and Build and Release thing. Members do discussion in group about the DevOps and how to improve the field of development. Peoples do Updates on recent webinars and Newsletters which is important for every professionals of this group. So, Connected with and Stay updated.
 
 
this portal offer Q&A forums, free ebook, Free learning materials and much more. devops.org, share information with others of DevOps. Here you can join us and share information related to devops and programming languages and about software development. You can share information on your research and if you have questions you can ask here and you will get solutions from the professionals. People knows how important it is to share information now a days. So this is the main motive to bring people around the world on one page where they can come and share and get solutions of the problems as well. This website is for professionals and people who want to keep themselves updated with the on-going studies, research and share informative materials.
 
BestDevOps are professional and expert in delivering practical and solution to transform and accelerate the way that organisation deliver software. We believe that DevOps offers a new operation model for IT organization to deliver software at speed. This enables innovation which drive competitive advantage. We are slowly getting famous in engaging customer by learning, educating, transforming. We gather all the blogs from different companies, different country and from experts of DevOps in one place which is BestDevOps.com. I am sure soon we gonna be widely regarded as a global best leader in educating people in devOps space. Bestdevops is the DevOps portal for a website that covers a wide range of area in DevOps. This portal gets frequently updated. Our followers are on facebook, linkedin, pinterest, tumblr, scoop.

I hope that this list will help you to connect and hear from DevOps professionals who can provide you with information about everything DevOps related that you need to know.


DevOps is merging the path between Developers and Operations teams. It's all about the agility and automation. Servers, in DevOps easily can be replaced instead of keeping it and nurture it. Everyone knows that the basic role of System Administrator to Configuring, Debugging and Troubleshooting.

They build their career in DevOps, where they have to configure and troubleshoot individual servers those have roles to play in the work space. With that they should learn to apply their skills to entire IT infrastructure described and managed by code. They should learn to manage cloud service and use automated deployment tools and code repositories.  Also, they must learn to focus on the infrastructure they can control because in the cloud they usually won't have access to or information about the underlying hardware, storage or networks. So a System Administrator should learn existing skills and new tools.

Everyone knows scripting is used to automate repetitive or error prone tasks which is a key practice in DevOps. Learning a programming language will help them create more robust scripts like Python or Perl.  “Anyone with basic shell scripting experience can pick them up pretty easily.” Says Bobby Smith, Director of Research and Development.

Though most DevOps System runs in the cloud, learning the management interfaces to Infrastructure service offerings such as Amazon Web Service (AWS ) or Microsoft Azure is valuable.

Most important, knowledge of Configuration management tools such as puppet and chef can help system administrators automate the large scale system provisioning that is central to DevOps. Understand the language on which such tools are built such as Ruby, makes it easier to extend their use to an organizations need.

Inventory Management Tools, help system administrator identify the resources they need to manage in fast changing cloud environment.

For Performance monitoring, he recommends tools such as Nagios or Amazon , along with log aggregation products such as Logstash and Flume. Combined with cloud service, it's impossible to create systems of metrics to understand how your infrastructure is doing.

The very next step is combining build management tools with continuous integration platforms. This will help system administrators provide agility promised by DevOps. Also, you can learn version control that holds the code that describes enterprise infrastructures.

If you may see developers create applications without a whole lot expertise of the infrastructure on which they ought to run. Now, your price isn't just what I’m able to do, but how I help others, and the way am I able to help align with the organization’s dreams and targets. So For System Administrators, DevOps doesn’t make their specialized talents out of date. Instead, he says, it may deliver them “first rate powers” to make those competencies even extra vital to the enterprise.

Few days ago, I published an article in which i covered the topic Top five release management tools which are high in trend these days. Today, I am going to write on the same topic but there is one difference, today we will discuss about open source release management tools.
 
In this article I am going to share top 5 open source tools for Release Management. But, if you want to know about Release management and it's benefits than you can check out the previously written article here.
 
So, Without any further ado in this article, let's directly move to the main section.
 
Let's check out open source release management tools.
 
1. CruiseControl
 
CruiseControl basically known as continuous integration tool. It can be used in Release management process. Cruisecontrol is an open source tool which is written in java and supports cross platform and it was developed by CruiseControl development team and initially released in the year 2001. You can extend this tool with the help of plugins and extensions.
 

2. Luntbuild
 
LuntBuild is known as Build management and continuous integration tool. This one is another open source release management tool which is written in java ans supports cross platform. This tool is developed by PMEase. This tool is easy to install and configure. It has a clean web interface.
 

3. Maven
 
Maven is also known as build tool but it's also an open source release management tool which is written in java and supports cross platform. Maven was initially released in the year 2004 and developed by Apache Software Foundation. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.
 

4. Jenkins
 
Jenkins is one of the most popular tool for Continuous integration but it can be used as a release management software. This software is written in java and it was initially released in the year 2011. It was developed as a Hudson project as Sun Microsystems which was later take over by Oracle corporation. The great thing about this tool is its functionality can be extended with plugins.
 
 
5. Subversion (SVN)
 


Subversion or SVN is a versioning and revision control system but it also can be used as Release management software . You can say this one is the leading release management tool in the open source category. This tool is written in C and it supports cross platform was developed by  CollabNet Inc in the year 2000.

So, That's it. Now it's your turn , share your views in this article and if you think this list should contain some other tools instead of this than fee free to share with us the in the comment section below.

Q. What is GIT?

GIT is a distributed version control system and source code management (SCM) system with an emphasis to handle small and large projects with speed and efficiency.


Q. What is a repository in GIT?

A repository contains a directory named .git, where git keeps all of its metadata for the repository. The content of the .git directory are private to git.


Q. What is the command you can use to write a commit message?

The command that is used to write a commit message is “git commit –a”.  The –a on the command line instructs git to commit the new content of all tracked files that have been modified. You can use “git add<file>” before git commit –a if new files need to be committed for the first time.


Q. What is the difference between GIT and SVN?

The difference between GIT and SVN is

  1. Git is less preferred for handling extremely large files or frequently changing binary files while SVN can handle multiple projects stored in the same repository.
  2. GIT does not support ‘commits’ across multiple branches or tags.  Subversion allows the creation of folders at any location in the repository layout.
  3. Gits are unchangeable, while Subversion allows committers to treat a tag as a branch and to create multiple revisions under a tag root.

Q. What are the advantages of using GIT?

  1. Data redundancy and replication
  2. High availability
  3. Only one.git directory per repository
  4. Superior disk utilization and network performance
  5. Collaboration friendly
  6. Any sort of projects can use GIT

Q. What language is used in GIT?

GIT is fast, and ‘C’ language makes this possible by reducing the overhead of runtimes associated with higher languages.


Q. What is the function of ‘GIT PUSH’ in GIT?

‘GIT PUSH’ updates remote refs along with associated objects.


Q. Why GIT better than Subversion?

GIT is an open source version control system; it will allow you to run ‘versions’ of a project, which show the changes that were made to the code overtime also it allows you keep the backtrack if necessary and undo those changes.  Multiple developers can checkout, and upload changes and each change can then be attributed to a specific developer.


Q. What is “Staging Area” or “Index” in GIT?

Before completing the commits, it can be formatted and reviewed in an intermediate area known as ‘Staging Area’ or ‘Index’.


Q. What is GIT stash?

GIT stash takes the current state of the working directory and index and puts in on the stack for later and gives you back a clean working directory.  So in case if you are in the middle of something and need to jump over to the other job, and at the same time you don’t want to lose your current edits then you can use GIT stash.

Q. What is GIT stash drop?

When you are done with the stashed item or want to remove it from the list, run the git ‘stash drop’ command.  It will remove the last added stash item by default, and it can also remove a specific item if you include as an argument.


Q. How will you know in GIT if a branch has been already merged into master?

Git branch—merged lists the branches that have been merged into the current branch

Git branch—no merged lists the branches that have not been merged


Q. is the function of git clone?

The git clone command creates a copy of an existing Git repository.  To get the copy of a central repository, ‘cloning’  is the most common way used by programmers.


Q. What is the function of ‘git config’?

The ‘git config’ command is a convenient way to set configuration options for your Git installation.  Behaviour of a repository, user info, preferences etc. can be defined through this command.


Q. What does commit object contain?

  1. A set of files, representing the state of a project at a given point of time
  2. Reference to parent commit objects
  3. An SHAI name, a 40 character string that uniquely identifies the commit object.

Q. How can you create a repository in Git?

In Git, to create a repository, create a directory for the project if it does not exist, and then run command “git init”. By running this command .git directory will be created in the project directory, the directory does not need to be empty.


Q. What is ‘head’ in git and how many heads can be created in a repository?

A ‘head’ is simply a reference to a commit object. In every repository, there is a default head referred as “Master”.  A repository can contain any number of heads.


Q. What is the purpose of branching in GIT?

The purpose of branching in GIT is that you can create your own branch and jump between those branches. It will allow you to go to your previous work keeping your recent work intact.


Q. What is the common branching pattern in GIT?

The common way of creating branch in GIT is to maintain one as “Main“

branch and create another branch to implement new features. This pattern is particularly useful when there are multiple developers working on a single project.


Q. How can you bring a new feature in the main branch?

To bring a new feature in the main branch, you can use a command “git merge” or “git pull command”.


Q. What is a ‘conflict’ in git?

A ‘conflict’ arises when the commit that has to be merged has some change in one place, and the current commit also has a change at the same place. Git will not be able to predict which change should take precedence.


Q. How can conflict in git resolved?

To resolve the conflict in git, edit the files to fix the conflicting changes and then add the resolved files by running “git add” after that to commit the repaired merge,  run “git commit”.  Git remembers that you are in the middle of a merger, so it sets the parents of the commit correctly.


Q. To delete a branch what is the command that is used?

Once your development branch is merged into the main branch, you don’t need development branch.  To delete a branch use, the command “git branch –d [head]”.


Q. What is another option for merging in git?

“Rebasing” is an alternative to merging in git.


Q. What is the syntax for “Rebasing” in Git?

The syntax used for rebase is “git rebase [new-commit] “


Q. What is the difference between ‘git remote’ and ‘git clone’?

‘git remote add’  just creates an entry in your git config that specifies a name for a particular URL.  While, ‘git clone’ creates a new git repository by copying and existing one located at the URI.


Q. What is GIT version control?

With the help of GIT version control, you can track the history of a collection of files and includes the functionality to revert the collection of files to another version.  Each version captures a snapshot of the file system at a certain point of time. A collection of files and their complete history are stored in a repository.


Q. Mention some of the best graphical GIT client for LINUX?

Some of the best GIT client for LINUX is

  1. Git Cola
  2. Git-g
  3. Smart git
  4. Giggle
  5. Git GUI
  6. qGit

Q. What is Subgit? Why to use Subgit?

‘Subgit’ is a tool for a smooth, stress-free SVN to Git migration.  Subgit is a solution for a company -wide migration from SVN to Git that is:

a)      It is much better than git-svn

b)      No requirement to change the infrastructure that is already placed

c)       Allows to use all git and all sub-version features

d)      Provides genuine stress –free migration experience.


Q. What is the function of ‘git diff ’ in git?

‘git diff ’ shows the changes between commits, commit and working tree etc.


Q. What is ‘git status’ is used for?

As ‘Git Status’ shows you the difference between the working directory and the index, it is helpful in understanding a git more comprehensively.


Q. What is the difference between the ‘git diff ’and ‘git status’?

‘git diff’ is similar to ‘git status’, but it shows the differences between various commits and also between the working directory and index.


Q. What is the function of ‘git checkout’ in git?

A ‘git checkout’ command is used to update directories or specific files in your working tree with those from another branch without merging it in the whole branch.


Q. What is the function of ‘git rm’?

To remove the file from the staging area and also off your disk ‘git rm’ is used.


Q. What is the function of ‘git stash apply’?

When you want to continue working where you have left your work, ‘git stash apply’ command is used to bring back the saved changes onto the working directory.


Q. What is the use of ‘git log’?

To find specific commits in your project history- by author, date, content or history ‘git log’ is used.


Q. What is ‘git add’ is used for?

‘git add’ adds file changes in your existing directory to your index.


Q. What is the function of ‘git reset’?

The function of ‘Git Reset’ is to reset your index as well as the working directory to the state of your last commit.


Q. What is git Is-tree?

‘git Is-tree’ represents a tree object including the mode and the name of each item and the SHA-1 value of the blob or the tree.


Q. How git instaweb is used?

‘Git Instaweb’ automatically directs a web browser and runs webserver with an interface into your local repository.


Q. What does ‘hooks’ consist of in git?

This directory consists of Shell scripts which are activated after running the corresponding Git commands.  For example, git will try to execute the post-commit script after you run a commit.


Q. Explain what is commit message?

Commit message is a feature of git which appears when you commit a change. Git provides you a text editor where you can enter the modifications made in commits.


Q. How can you fix a broken commit?

To fix any broken commit, you will use the command “git commit—amend”. By running this command, you can fix the broken commit message in the editor.


Q. Why is it advisable to create an additional commit rather than amending an existing commit?

There are couple of reason

  1. The amend operation will destroy the state that was previously saved in a commit.  If it’s just the commit message being changed then that’s not an issue.  But if the contents are being amended then chances of eliminating something important remains more.
  2. Abusing “git commit- amend” can cause a small commit to grow and acquire unrelated changes.

Q. What is ‘bare repository’ in GIT?

To co-ordinate with the distributed development and developers team, especially when you are working on a project from multiple computers ‘Bare Repository’ is used. A bare repository comprises of a version history of your code.


Q. How do you revert a commit that has already been pushed and made public?

One or more commits can be reverted through the use of git revert. This command, in essence, creates a new commit with patches that cancel out the changes introduced in specific commits. In case the commit that needs to be reverted has already been published or changing the repository history is not an option, git revert can be used to revert commits. Running the following command will revert the last two commits:

git revert HEAD~2..HEAD

Alternatively, one can always checkout the state of a particular commit from the past, and commit it anew.


Q. How do you squash last N commits into a single commit?

Squashing multiple commits into a single commit will overwrite history, and should be done with caution. However, this is useful when working in feature branches. To squash the last N commits of the current branch, run the following command (with {N} replaced with the number of commits that you want to squash):

git rebase -i HEAD~{N}

Upon running this command, an editor will open with a list of these N commit messages, one per line. Each of these lines will begin with the word “pick”. Replacing “pick” with “squash” or “s” will tell Git to combine the commit with the commit before it. To combine all N commits into one, set every commit in the list to be squash except the first one. Upon exiting the editor, and if no conflict arises, git rebase will allow you to create a new commit message for the new combined commit.


Q. How do you find a list of files that has changed in a particular commit?

git diff-tree -r {hash}

Given the commit hash, this will list all the files that were changed or added in that commit. The -r flag makes the command list individual files, rather than collapsing them into root directory names only.

The output will also include some extra information, which can be easily suppressed by including a couple of flags:

git diff-tree –no-commit-id –name-only -r {hash}

Here –no-commit-id will supress the commit hashes from appearing in the output, and –name-only will only print the file names, instead of their paths.


Q. How do you setup a script to run every time a repository receives new commits through push?

To configure a script to run every time a repository receives new commits through push, one needs to define either a pre-receive, update, or a post-receive hook depending on when exactly the script needs to be triggered.

Pre-receive hook in the destination repository is invoked when commits are pushed to it. Any script bound to this hook will be executed before any references are updated. This is a useful hook to run scripts that help enforce development policies.

Update hook works in a similar manner to pre-receive hook, and is also triggered before any updates are actually made. However, the update hook is called once for every commit that has been pushed to the destination repository.

Finally, post-receive hook in the repository is invoked after the updates have been accepted into the destination repository. This is an ideal place to configure simple deployment scripts, invoke some continuous integration systems, dispatch notification emails to repository maintainers, etc.

Hooks are local to every Git repository and are not versioned. Scripts can either be created within the hooks directory inside the “.git” directory, or they can be created elsewhere and links to those scripts can be placed within the directory.


Q. What is git bisect? How can you use it to determine the source of a (regression) bug?

Git provides a rather efficient mechanism to find bad commits. Instead of making the user try out every single commit to find out the first one that introduced some particular issue into the code, git bisect allows the user to perform a sort of binary search on the entire history of a repository.

By issuing the command git bisect start, the repository enters bisect mode. After this, all you have to do is identify a bad and a good commit:

git bisect bad # marks the current version as bad

git bisect good {hash or tag} # marks the given hash or tag as good, ideally of some earlier commit

Once this is done, Git will then have a range of commits that it needs to explore. At every step, it will checkout a certain commit from this range, and require you to identify it as good or bad. After which the range will be effectively halved, and the whole search will require a lot less number of steps than the actual number of commits involved in the range. Once the first bad commit has been found, or the bisect mode needs to be ended, the following command can be used to exit the mode and reset the bisection state:

git bisect reset


Q. What are the different ways you can refer to a commit?

In Git each commit is given a unique hash. These hashes can be used to identify the corresponding commits in various scenarios (such as while trying to checkout a particular state of the code using the git checkout {hash} command).

Additionally, Git also maintains a number of aliases to certain commits, known as refs. Also, every tag that you create in the repository effectively becomes a ref (and that is exactly why you can use tags instead of commit hashes in various git commands). Git also maintains a number of special aliases that change based on the state of the repository, such as HEAD, FETCH_HEAD, MERGE_HEAD, etc.

Git also allows commits to be referred as relative to one another. For example, HEAD~1 refers to the commit parent to HEAD, HEAD~2 refers to the grandparent of HEAD, and so on. In case of merge commits, where the commit has two parents, ^ can be used to select one of the two parents, e.g. HEAD^2 can be used to follow the second parent.

And finally, refspecs. These are used to map local and remote branches together. However, these can be used to refer to commits that reside on remote branches allowing one to control and manipulate them from a local Git environment.


Q. What is git rebase and how can it be used to resolve conflicts in a feature branch before merge?

In simple words, git rebase allows one to move the first commit of a branch to a new starting location. For example, if a feature branch was created from master, and since then the master branch has received new commits, git rebase can be used to move the feature branch to the tip of master. The command effectively will replay the changes made in the feature branch at the tip of master, allowing conflicts to be resolved in the process. When done with care, this will allow the feature branch to be merged into master with relative ease and sometimes as a simple fast-forward operation.


Q. How do you configure a Git repository to run code sanity checking tools right before making commits, and preventing them if the test fails?

This can be done with a simple script bound to the pre-commit hook of the repository. The pre-commit hook is triggered right before a commit is made, even before you are required to enter a commit message. In this script one can run other tools, such as linters and perform sanity checks on the changes being committed into the repository. For example, the following script:

#!/bin/sh
files=$(git diff –cached –name-only –diff-filter=ACM | grep ‘.go$’)
if [ -z files ]; then
exit 0
fi
unfmtd=$(gofmt -l $files)
if [ -z unfmtd ]; then
exit 0
fi
echo “Some .go files are not fmt’d”
exit 1

… checks to see if any .go file that is about to be commited needs to be passed through the standard Go source code formatting tool gofmt. By exiting with a non-zero status, the script effectively prevents the commit from being applied to the repository.

First of all, we should know what Operations Team does. So, I will start with responsibilities of operations team and will move forward to see DevOps role in Operations at different level and than most important is skill sets for an operations guy and also in elaborated way.
 
So, a very Quick view on Responsibilities Operations Team -
 
Reviewing how various departments within an employer have interaction, share facts, deal with customers, and do things like make joint purchases of elements or outside offerings. Making pointers on how to growth efficiency, so that it will shop money, lessen cycle instances, and improve patron satisfaction making plans and putting into action tasks that do the above operating with human beings at numerous ranges in every department to accumulate information and spot how they do their jobs growing schooling methods and tips on how to carry out duties better keeping control informed of problem spots in advance before foremost issues arise, and proposing value powerful solutions.
 
Now will see DevOps role in Operations at different level - 
 
You can commit a whole profession to Operations in case you care to. At the entry degree are jobs like Operations Assistant and Operations Coordinator. Right here you’ll probable be operating for a extra skilled Operations man or woman in which your position will encompass supporting to devise productivity development tasks, accumulating simple statistics and statistical information, and getting ready workflow charts for present operations.
 
A step up is Operations Analyst. This function may want to require you to identifying system improvement possibilities, broaden analytical models and guide procedure improvement packages.
 
Bump in advance to Operations manager and you discover your self supplying product and systems support, distribution chain making plans, hiring and education employees, plus managing team of workers.
 
On the Operations Director stage you'll oversee a number of Operations Managers, each overseeing their precise place. You will be making large scale hints on growing efficiencies and fixing severe production or internal visitors issues.
 
As a vice president, Operations, you’ll have earned yourself a seat on your organization’s govt Committee. You’ll be expected to touch upon a wide range of issues affecting your company. Your boss will possibly be on the President degree so your huge expertise of organisational mechanics might be relied upon often.
 
Skills Required - 
 
You may imagine that a person in Operations might need a actual eye for detail. They ought to observe how activities are being completed step by step, and then find approaches to make each process more green.
 
Communication abilities are also vital. Operations personnel must record their observations to senior management the usage of language that can be effortlessly understood and acted on.
 
Project making plans is usually a huge part of an Operations job. You’ll need to produce flowcharts and assign the right sources on projects of all sizes. It is able to be helpful to don't forget a PMP (mission control expert) designation.
 
It could be helpful to have a college or university degree on this subject. At the same time as it may be sufficient to have a widespread enterprise degree, there are specialised diplomas and certificate in such areas as Airport Operations, Hospitality Operations, Tourism Operations and greater.
 
 
Important points for operations teams -
 
1. The ability to speak genuinely and concisely
 
Sharing is a key tenet of DevOps and if you present what you know and what you’ve learned, then having that know how is correctly vain. You’ve just made your self a bottleneck. The other talent Mortman mentioned along those traces is striving to actually recognize the footwear wherein your fellow business enterprise collaborators stand. Emphasize the sufficient cost of having empathy for all people else and what they want to get accomplished. Every role has its demanding situations and empathy for the ones challenges goes an extended way to a extra congenial place of work.
 
2. Collaboration techniques
 
New collaboration techniques are essential. Ops will need to learn powerful, distributed collaboration strategies such as the ones used in open source software program improvement. Main facet DevOps agencies make heavy use of on line chat and shared tooling to log each communication as well as motion. In some pioneers, this even involves so known as ChatOps where you may make modifications to infrastructure thru calls to an automatic bot in an online chat. Commonly this includes asynchronous communication in preference to phone calls, each lengthy form, in an archived and searchable form.
 
This allows, on-name ops for the duration of any crises or fires that arise, as well as eases the capability to discover and brainstorm infrastructure changes, in which all and sundry can without problems contribute their thoughts.
 
3. A bendy mindset
 
We’re no longer always speakme about advanced styles of intellectual Yoga, but clearly the capability to change as know-how and situations trade, whether those changes are technical or business pushed. The willingness to make adjustments and to evaluate change options is fundamental to DevOps. Things are going to fail, you or a selection you’ve made are going to be the purpose of that failure. Or things just received paintings as well as you’d hoped or notion. "Be willing to change your mind and look for higher options, says Mortman, a DevOps Expert".
 
4. Top enough is never enough
 
It’s about constantly seeking non-stop improvement. This mindset is laser targeted on continuous improvement every day. “It's miles the capability to unlearn and collect new extra relevant expertise in mild of complexity and emergent statistics then disconfirm it with the clinical method and flow on to software handiest where relevant, says Kevin Behr leader technological.
 
5. Subsequent up: The Technical abilties
 
Understanding of present day software program engineering to move to a international of infrastructure as code wherein all structures are maintained the use of configuration management tools along with Puppet or Chef, which include version control, unit and integration testing, agile software program development, as well as continuous shipping and deployment fashions. Conventional sysadmins might also nevertheless live in a global of login prompts and guide edits of configuration files, so this will be possibly the most important hurdle in terms of information.
 
The technical mindset I look for are abilities which allow a group to deal with servers greater. To paintings efficiently at that form of structures mentality, DevOps engineers need programming and systems architectural competencies. Whether or not meaning Ruby or Python or something is wanted to efficiently work with orchestration gear, APIs, and automation. It’s less approximately needing to know a particular programming language greater approximately knowledge programming algorithms and sturdy structures layout.
 
6. Current software architecture
 
This includes cloud deployment and administration as well as distributed systems. As we circulate to a cloudy global of software, ops will want to deploy, keep, reveal, and troubleshoot production problems with this infrastructure. And yet in lots of cases it’s tons more complicated than the preceding equal, although it brings with it tremendous advantages in agility and uptime if carried out right. Ops will want to familiarize themselves with cloud instances and offerings, as well as lower level software infrastructure which include Linux distributions and databases while deployed in a cloud.
 
This is the age of applications. We are using various applications in our day-to-day life to get our things done or to get information and for various other things. Therefore, applications are now playing a vital role in our life and so that for today's businesses. In these days organisations whether they are small or large they somehow rely upon applications for there marketing, customer relations or engagements or to reach them directly and for various other reasons. Therefore, it's really important to manage application performance so that business runs smoothly and generate productivity continuously and users can get what they want. Simply means to say everyone benefits when applications run at their best.
 
But, how to know is your application is performing well or not ? You can not test them manually every time or You can not wait when the users will call the customer support with issues. Right?
 
So, Here comes the solution "Application Performance Management" Tools. Let's see what it is and it's importance ?
 
Application performance management or APM is a kind of practice through which you can easily detect and short out the issues which occurs in applications while using, so that your application users have a good experience with it. Actually, APM monitors and manage the performance, availability and security of the application. It provides data to the administrators which makes their job easy to find the issues and resolve before it impacts on application performance.  
 
Now, let's check out the major benefits of Application performance management
 
1. Reduce Downtime (Availability) - When you integrate APM tool you can decrease your application downtime by 80 to 90 percent.
 
2. End User Experience - The main purpose of any application is to satisfy the user or to give them a quality experience while using there platform and APM makes it possible. 
 
3. Generate Leads - If your application is for ecommerce or for sales perspective than it's really important that it's perform well so that you don't miss the opportunity to generate the sales or leads in your business.
 
4. Productivity - APM can help you to save your time in troubleshooting which ultimately means you have more time to implement other things and for changes and monitoring.
 
 
Now let's move on to the section where, You will get the real benefit of this article. All these things cannot possible without a right tool. So, I have done some research and make this list of Top 5 Application Performance Management Tools.
 
Here is the list:-
 
1. New Relic APM



Highlights
  • Application Monitoring
  • Deployment Analysis, History, and Comparison 
  • Database Monitoring
  • Availability & Error Monitoring
  • Complete report
  • Team Collaboration - Team can work together
  • Secure
 
2. AppDynamics



Highlights
  • End-to-end transaction tracing
  • Troubleshooting and control
  • Code level visibility
  • Scalability
  • Dynamic baselining and alerting
  • Data retention
 
3. Foglight

Highlights
  • Integrated transaction- and customer-centric application performance monitoring
  • User Experience Monitoring
  • Transaction DNA
  • Advanced analytics
  • Enhanced collaboration
 
4. BMC Software APM

Highlights
  • Application Centric Infrastructure Monitoring
  • Synthetic Testing
  • End user experience monitoring
  • Deep dive diagnostic
 
5. OpsView



Highlights
  • Track and alert on application health
  • Group apps by business process
  • Set thresholds to trigger alerts
  • Ensure business services are meeting SLAs
  • Supports monitoring of major application servers
  • Synthetic transactions to monitor end-to-end performance
 
So, This is my list of Application Performance Management Tools. Hope you guys will like my efforts and if you think this list should contain some other tools instead of this than feel free to share with us in the comment section below.
These days the software industry is going under transformation and lots of new tools and skills introduced in software development process. So, today we will talk about a similar process & tool which plays a vital role in Software development. The process name is Release management. In this article we are going to help you to select best release management tools which are mostly used by professionals these days.
 
But, before moving forward let's have a look on to the Release management.
 
Let's see what is Release Management ?
 
As per the "wikipedia" Release management is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases. But in simple words we can say "Release management is a process to oversees development, testing, support and deployment of software." It is comparatively new process in the comparison of others but growing rapidly within the software development process.
 
It's growing rapidly which means it's really beneficial in "Software Development Life Cycle",

So let's have a look on to the benefits.
 
1. Team Collaboration — Release management helps to bridge the gap between development & operation team by involving them into the process through information sharing and instant communication. 
 
2. Configuration Management  Release management helps to know what environment setting is, application requirements, and dependences exist in the production, test, and development environments.
 
3. Efficiency  Release management helps to increase the efficiency by reducing the time which spent on finding and fixing the problems with the help of tools which ultimately results to deliver reliable and quality software faster to the market or customer.
 
4. Increased Productivity  It also helps to increase productivity by pre planning of the best practices in the release process through which teams can utilise there times on important things rather than figuring out the what steps should be next or versions should be used or any other stuffs like that which delay the delivery process.
 
5. Minimizing Failure Risk  Release management helps to reduce the risk of release failure by making strong policies and allocation of works based on researched information and by providing them real time visibility into the release status which helps them to find the possible cause of failures and they can act on them quickly.
 
Now, let's move on to the next section. Release management is not an easy task to do. It requires team coordination , build versions tracking , transparency and much more. There for release management requires dedicated tools to make this process easy. So, I have done some research and choose the top 5 release management tools which are mostly used these days by professionals.
 
Here is the list:-
 
1. Serena Release Control
 

 
  • Dashboards and Reports
  • Environment Management
  • Planning and Control
  • Communication and Collaboration
  • Managing Deployment and Task Lists
  • Enterprise Scalability
 

2. ElectricFlow
 

  • Microservices and Container Orchestration
  • Shared Visibility
  • Process as Code
  • Advanced Deployment Strategies
  • Enterprise Security and Compliance
  • Automation at Any Scale
  • Automated Rollbacks
  • Environment Reservations and Calendaring
  • Built-in Artifact Repository
 

3. BMC Release Process Management
 

  • Easy to use
  • Executable checklist
  • Centralized management
  • Meaningful metrics
  • Extensive reach
  • Better planning
 

4. URelease
 

  • Multi-Application Continuous Delivery
  • Impact Analysis
  • Release Pipeline Visualization
  • Release Gates
  • Deployment Plans and Templates
  • Federated Release Dashboard
 

5. XL Release

 

  • End-to-end release dashboards
  • Complex pipeline orchestration
  • Automation that scales
  • In-depth analytics and reports
  • Enterprise auditability and controls
  • Easy to use
 

So, This is my list of Top release management tools. Hope you guys will like my efforts and if you think this list should contain some other tools instead of this than feel free to share with us in the comment section below.
DevOps is an important component for software industry today. Developing and implementing a DevOps culture helps to focus IT results and to save time and money as the gap between developers and IT operations teams closes. Just as the term and culture are new, so are many of the best DevOps tools these DevOps engineers use to do their jobs efficiently and productively. To help you in your DevOps process, we have searched and created this list of DevOps tools which is mostly used by DevOps Engineers in their projects.
 
1. Chef



 
Chef is an extremely popular tool among DevOps engineers. From IT automation to configuration management, Chef relies on recipes and resources so you can manage unique configurations and feel secure knowing Chef is checking your nodes and bringing them up to date for you.
 
Key Features:
  • Manage nodes from a single server
  • Cross-platform management for Linux, Windows, Mac OS, and more
  • Integrates with major cloud providers
  • Premium features available
 
2. Jenkins




 
An extensible continuous integration engine, Jenkins is a top tool for DevOps engineers who want to monitor executions of repeated jobs. With Jenkins, DevOps engineers have an easier time integrating changes to projects and have access to outputs to easily notice when something goes wrong.
 
Key Features:
  • Permanent links
  • RSS/email/IM integration
  • After-the-fact tagging
  • JUnit/TestNG test reporting
  • Distributed builds
 
3. Puppet



Puppet is an open-source configuration management tool. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration. DevOps engineers often rely on Puppet for IT automation. Get a handle on configuration management and software while making rapid, repeatable changes with Puppet.
 
Key Features:
  • Automatically enforce consistency of environments
  • Works across physical and virtual machines
  • A common tool-chain
  • Support key DevOps best practices, including continuous delivery
 
4. Ant






A Java library and command-line tool, Apache Ant looks “to drive processes described in build files as targets and extension points dependent upon each other.” This build automation tool is one that saves DevOps engineers a great deal of time.
 
Key Features:
  • Supplies a number of built-in tasks for compiling, assembling, testing, and running Java applications
  • Builds non-Java applications, such as C or C++ applications
  • Pilot any type of process which can be described in terms of targets and tasks
  • Extremely flexible and does not impose coding conventions or directory layouts to the Java projects which adopt it as a build tool
 
5. Apache Maven


 
DevOps engineers can manage a project’s build, reporting, and documentation from a central piece of information with Apache Maven. A software project management and comprehension tool, Maven has been a reliable tool for DevOps engineers.
 
Key Features:
  • Simple project setup follows best practices
  • Easily work with multiple projects at one time
  • Large repository of libraries and metadata that continue to grow
  • Extensible, with the ability to write plugins in Java or scripting languages
 
6. Logstash


For open source log processing, search, and analytics, Logstash is a popular tool among DevOps engineers. Because Logstash is licensed under Apache 2.0, you can use it in the way that best suits your needs.
 
Key Features:
  • Collects, parses, and stores logs for later use
  • Includes a web interface for searching and drilling into all of your logs
  • Ship logs from any source, parse them, timestamp them correctly, index them, and search them
 
7. Docker




 
An open platform for distributed applications, Docker is an application for DevOps engineers who want to “build, ship, and run any app, anywhere.” With Docker, you can quickly assemble apps from components and work collaboratively.
 
Key Features:
  • Assemble multi-container apps and run on any infrastructure
  • Compose an app using both proprietary containers and Docker Hub Official Repos
  • Manage all containers of an app as a single group
  • Cluster an app’s containers to optimize resources and provide high-availability
 
8. New Relic



With New Relic APM, DevOps engineers spend less time monitoring applications and more time on building and deploying. A popular, reliable tool, New Relic APM is a great choice for DevOps engineers.
 
Key Features:
  • Helps in the build, deployment, and maintenance of web software
  • Application monitoring in one place
  • Cross application and transaction tracing
  • Database and availability and error monitoring
 
9. Gradle




Gradle is a robust tool for automating building, testing, publishing, and deploying software packages and other projects. With the combined power and flexibility of Ant and Maven, Gradle is an open source build automation system which is perfect and very useful for DevOps engineers.
 
Key Features:
  • Declarative builds and build-by-convention
  • Language for dependency-based programming
  • Structure your build
  • Deep API
  • Multi-project builds
  • Ease of migration
 
10. Git 




Git is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. 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.
 
Key Features:
  • Working offline
  • Fast to Work With
  • Repositories Are Smaller
  • Moving or Adding files
  • Ignore Certain Files
  • Branches
  • Check the Status of Your Changes
  • Stash Branches
  • Cherry Pick Changes from Branches
  • Find version that Introduced a bug using Binary Search
 
These are the most popular DevOps tools which are used by DevOps engineers or practitioners these days. But to make most out of these tools you need to have proper knowledge of these tools like installation process, implementation process, where to you use, how to use, troubleshooting and much more. So, if you think you need help or training for these tools or for DevOps related helps than we are here to assist you with our industry expertise professionals.
 
Page 1 of 6

NEW TUTORIALS