DevOps
·
DevOps is a set of practices
that automates the processes between software development and IT teams, in
order that they can build, test, and release software faster and more reliably,
DevOps is more about the automation of processes, the deployment of code, and
releases of software.
·
DevOps is a set of practices
that combines software development (Dev) and information-technology operations
(Ops) which aims to shorten the systems development life cycle and provide
continuous delivery with high software quality.
·
DevOps (development and
operations) is an enterprise software development phrase used to mean a type of
agile relationship between development and IT operations. The goal of DevOps is
to change and improve the relationship by advocating better communication and
collaboration between these two business units.
DevOps Engineer:
·
DevOps Engineer works with
developers and the IT staff to oversee the code releases. They are either
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.
·
DevOps engineer might start as
a software developer who oversees aspects of IT operations. Conversely, a DevOps
engineer might move up from a system administrator role because they have
gained knowledge about coding, scripting, integration and testing. A DevOps
Engineer has to manage the IT infrastructure as per the requirement of the
supported software code
DevOps Engineer Skills:
·
Comprehensive background in OS administration, such as Linux and
Windows;
·
Strong experience with a range
of automation and configuration
management tools such as traditional scripts, as well as more specific
tools such as Puppet and Chef.
·
A clear understanding of coding and scripting with common languages,
such as PHP, Python, Perl and Ruby.
·
Knowledge of at least one major coding language, such as C++ or
Java.
·
The ability to identify, assess
and integrate various open source technologies
and cloud services.
·
A strong IT hardware and
operations background with hands-on expertise in servers, storage and network
device installation, provisioning and monitoring. This Is usually supplemented
with a knowledge of IT best practices for fault-tolerant, high-availability
operations;
·
Supportive and collaborative
management abilities in a team environment, as well as proven customer-facing
management skills.
·
Strong knowledge of virtualization technologies, such as vmware
vsphere for vms, as well as expertise with container technologies, such as Docker and Kubernetes.
·
Proven experience with CI/CD tools, such as Microsoft github,
Atlassian Jira and Confluence, Red Hat Ansible, Prometheus and Jenkins.
·
Detailed, hands-on experience
with public cloud resources and services
such as AWS, Microsoft Azure and Google Cloud.
·
Experience with a diverse range
of IT monitoring and management tools,
such as Cloudflare and Datadog.
·
Knowledge on how to
troubleshoot and resolve technical issues in test and production environments.
·
Some of the important tools
that are being widely deployed include Puppet,
Chef, Jenkins, Salt, Ansible, Kubernetes, Docker, Nagios, Cloud Computing and Storage
platform, and Infrastructure as a Code.
DevOps tools:
1.
Gradle
2.
Git
3.
Jenkins
4.
Bamboo
5.
Docker
6.
Kubernetes
7.
Puppet
8.
Ansible
9.
Nagios
10.
Raygun
What is CI CD in DevOps?
Continuous integration and
continuous delivery (CI/CD) are often cited as
pillars of successful DevOps. To establish and optimize the CI/CD development
model and reap the benefits, companies need to build an effective pipeline to
automate their build, integration and testing processes.
DevOps Developer
·
DevOps (development and
operations)
·
Gradle, GitHub, Jenkins,
Junit, Docker, Kubernetes, Ansible, Bamboo, Puppet, Terraform,
Nagios,
·
Works on cloud infrastructure:
Jenkins, Maven, Ant, Gradle, Chef, Puppet, Docker, and UrbanCode.
Agile collaborative environment to build, deploy, configure Technologies used by DevOps Engineers include Kubernetes, Docker, Apache Mesos, the HashiCorp stack (Terraform, Vagrant, Packer, Vault, Consul, Nomad), Jenkins, etc.]
Agile collaborative environment to build, deploy, configure Technologies used by DevOps Engineers include Kubernetes, Docker, Apache Mesos, the HashiCorp stack (Terraform, Vagrant, Packer, Vault, Consul, Nomad), Jenkins, etc.]
Build tools:
Build tools are programs that automate the creation of executable
applications from source code. Building incorporates compiling, linking and
packaging the code into a usable or executable form. In small projects,
developers will often manually invoke the build process.
Build automation is the process of automating the creation of a software build and
the associated processes including: compiling computer source code into binary
code, packaging binary code, and running automated tests.
Build Automation Tools:
Automated Build Tool is a software that compiles the
source code to machine code.
Top 10 BEST Build Automation Tools To Speed Up Deployment Process
Best Automated Build Deployment Software.
1) Jenkins
2) Maven
3) Gradle
4) Travis CI
5) Bamboo
6) CircleCI
7) TeamCity
For java - Ant, Maven, Gradle.
For .NET framework - NAnt
c# - MsBuild.
As a Java developer, the most popular build tools are Ant and Maven.
Both can be run in IDEs like IntelliJ or Eclipse or NetBeans.
Java Build Tools-
1.
Ant with ivy
2.
Maven
3.
Gradle
Maven is a build automation tool used primarily for Java projects.
Maven can also be used to build and manage projects written in C#, Ruby, Scala,
and other languages. The Maven project is hosted by the Apache Software
Foundation, where it was formerly part of the Jakarta Project.
Maven is a powerful project management tool that is based on POM
(project object model). It is used for projects build, dependency and documentation.
It simplifies the build process like ANT. ... In short terms we can tell maven
is a tool that can be used for building and managing any Java-based project.
Jenkins is a continuous integration suite continuous integration CI
Build automation VS Deployment automation VS CI
(Continuous integration) VS CD (Continuous delivery)
1.
Build automation is automating how the
software is built instead of manually invoking the compiler. This would be
accomplished via tools such as e.g. Make or Ant. Deployment automation is
taking your built software and deploying or installing it on a test or
production system. Build automation is automating how the software is built
instead of manually invoking the compiler. This would be accomplished via tools
such as e.g. Make or Ant.
2.
Deployment automation is taking your
built software and deploying or installing it on a test or production system.
3.
Continuous integration means having an
automated process build your software continuously as developers check in code,
and run unit tests to ensure the code still works. For example, every 15 to 30
minutes a server might wake up, scan VCS for new check-ins, then update and
build the project if any changes were made. In addition to performing compile
steps, this is also a great opportunity to run automated unit tests and code
quality checks.
4.
Continuous delivery is a combination of
all of the previous concepts where the software builds are also deployed to a
test system, optionally with tests performed and reports generated.
Version control tools:
Version control systems are a category of software tools that help a
software team manage changes to source code over time. Version control software
keeps track of every modification to the code in a special kind of database.
Top 5 open source version
control tools for system admins:
1.
CVS
2.
SVN
3.
GIT
4.
Mercurial
5.
Bazaar
What is the difference
between Git and GitHub?
Git is a revision control system, a tool to manage your source code
history. GitHub is a hosting service for Git repositories. So they are not the
same thing: Git is the tool, GitHub is the service for projects that use Git.
To get your code to GitHub, have a look here.
MuleSoft
·
MuleSoft, LLC. is a software
company headquartered in San Francisco, California, that provides integration
software for connecting applications, data and devices.
·
MuleSoft is a data integration
platform built to connect a variety of data sources and applications, and
perform analytics and ETL processes. MuleSoft has also developed connectors for
SaaS applications to allow analysis on SaaS data in conjunction with
cloud-based and traditional data sources.
·
Mulesoft ESB is the runtime
engine of Anypoint Platform, a Java-based enterprise service bus (ESB) and
integration platform that lets developers connect applications swiftly and
efficiently, allowing them to exchange data.
·
Mule (software) Mule is a
lightweight enterprise service bus (ESB) and integration framework provided by
MuleSoft. The platform is Java-based, but can broker interactions between other
platforms such as .NET using web services or sockets.
No comments:
Post a Comment