DevOps Concepts, Tools, and
Technologies
Mohamed Taman | Enterprise Architect / Innovation and R&D Sr. Manager @e-finance, Cairo, Egypt.
- Next -> Enterprise Architect / Senior Software Engineer @WebCentric, Belgrade, Serbia.
Java Champion, Oracle Developer Champion, JCP member, International Speaker, and Author.
The first rule of any technology used in business is
that automation applied to an efficient operation
will magnifies the efficiency. The second is that
automation applied to an inefficient operations
will magnify the inefficiency.
-Bill Gates
DevOps is not a tool or
technology; it is an approach or
culture that makes things better.
Agenda
• Understanding DevOps movement.
• The DevOps Lifecycle – “it is about continuous”
• Continuous integration.
• Configuration management.
• Continuous Delivery/Continuous deployment.
• Continuous Monitoring.
• Continuous feedback.
• Tools and technologies.
Understanding DevOps movement
DevOps is a blend of complex terminologies.
It can be considered as a concept, culture, development and
operational philosophy, or a movement.
DevOps with the changing times
Times changes everything.
In the modern era, customers expect and demands extremely quick
response, and we need to deliver new features continuously to stay in
business.
|A change in the behavior of the customer or market demand affects the development process.
The Waterfall model
The waterfall model follows sequential
application design process for
software development.
It comes with code control but lacks
revisions.
It is goal based development, without
any scope of revision.
The Agile model
Inefficient estimation, long time
to market, and other issues lead
to change in the waterfall model,
resulting in the agile model.
Empowering individuals and
encourage interactions.
Main goal is customer satisfaction,
with continuous delivery of
workable software with a specific
features in short timeline or
sprint.
Collaboration
DevOps attempts to fill the gaps by developing a partnership between the
development and operation teams.
It emphasize communication, collaboration, and integration between
software development and IT operations.
DevOps promotes collaboration, and collaboration is facilitated by the
automation and orchestration in order to improve the process.
DevOps is a combination of Agile best practices and process leveraging the
benefits of the cloud solutions.
Agile and DevOps are compatible and
increases each other’s value.
Why DevOps
DevOps is effective because of new methodologies, automation tools,
agile resources of the cloud service providers, and other disruptive
innovations, practices, and technologies.
However, it is not only about the tools and technologies; DevOps is
more about culture than tools or technologies alone.
“Technology is just a tool. In terms of getting the kids working together and
motivating them, the teacher is the most important.”
- Bill Gates
The benefits of
DevOps
The DevOps lifecycle
– it’s all about continues
Continuous Integration (CI), Continuous
Testing (CT), and Continuous Delivery (CD),
are a significant part of DevOps culture.
CI [ automatic builds, unit tests, packaging
process]
CD [ application delivery pipeline across
different environments]
Build Automation
Continuous Integration
Configuration management
Configuration Management (CM) manages changes in the system
(server runtime environment).
CM also keeping track or versions of details related to the state of
specific nodes or servers.
CM tools make this process efficient when only changed behavior is
updated, and the entire installation and modification isn’t applied again
to the server nodes.
Continuous delivery/continuous deployment
Continuous Monitoring
Continuous
Monitoring
Continuous Feedback
DevOps Tools and Technologies
DevOps Phase Tools to use
Code Repositories SVN, GIT
Build tools Ant, Maven, Gradle, MSBuild, Grunt, Gulp, and WebBack
Code Analysis tools Sonar, CheckStyle, FindBugs, NCover, Visual Studio Code, Metrics, PowerTool
Continuous
Integration CI
Jenkins (Automated build execution, build notifications, Automated Test Execution,
Automated deployment).
Continuous Testing jUnit, MSTest, VSTest, Testing, Jenkins plugins (HP products))
Infrastructure
provisioning
Configuration and management tools Chef, Ansible, Puppet, Salt
Virtualization/CSP/
Containers
VMWare, AWS, Microsoft Asure (IaaS), traditional environment, Docker
Continus delivery /
deployment
Chef / deployment plugins/Shell Scripting / Powershell scripts/Windows Batch
commands
Monitoring tools Zenoss (Applications, servers, networks), Nagios (Infrastructure and networks),
DevOps Dashboard
Hygieia
End of deployment, any questions?
Are you a happy customer?

DevOps concepts, tools, and technologies v1.0

  • 1.
    DevOps Concepts, Tools,and Technologies Mohamed Taman | Enterprise Architect / Innovation and R&D Sr. Manager @e-finance, Cairo, Egypt. - Next -> Enterprise Architect / Senior Software Engineer @WebCentric, Belgrade, Serbia. Java Champion, Oracle Developer Champion, JCP member, International Speaker, and Author.
  • 2.
    The first ruleof any technology used in business is that automation applied to an efficient operation will magnifies the efficiency. The second is that automation applied to an inefficient operations will magnify the inefficiency. -Bill Gates
  • 3.
    DevOps is nota tool or technology; it is an approach or culture that makes things better.
  • 4.
    Agenda • Understanding DevOpsmovement. • The DevOps Lifecycle – “it is about continuous” • Continuous integration. • Configuration management. • Continuous Delivery/Continuous deployment. • Continuous Monitoring. • Continuous feedback. • Tools and technologies.
  • 5.
    Understanding DevOps movement DevOpsis a blend of complex terminologies. It can be considered as a concept, culture, development and operational philosophy, or a movement.
  • 6.
    DevOps with thechanging times Times changes everything. In the modern era, customers expect and demands extremely quick response, and we need to deliver new features continuously to stay in business.
  • 7.
    |A change inthe behavior of the customer or market demand affects the development process.
  • 8.
    The Waterfall model Thewaterfall model follows sequential application design process for software development. It comes with code control but lacks revisions. It is goal based development, without any scope of revision.
  • 9.
    The Agile model Inefficientestimation, long time to market, and other issues lead to change in the waterfall model, resulting in the agile model. Empowering individuals and encourage interactions. Main goal is customer satisfaction, with continuous delivery of workable software with a specific features in short timeline or sprint.
  • 10.
    Collaboration DevOps attempts tofill the gaps by developing a partnership between the development and operation teams. It emphasize communication, collaboration, and integration between software development and IT operations. DevOps promotes collaboration, and collaboration is facilitated by the automation and orchestration in order to improve the process. DevOps is a combination of Agile best practices and process leveraging the benefits of the cloud solutions.
  • 11.
    Agile and DevOpsare compatible and increases each other’s value.
  • 12.
    Why DevOps DevOps iseffective because of new methodologies, automation tools, agile resources of the cloud service providers, and other disruptive innovations, practices, and technologies. However, it is not only about the tools and technologies; DevOps is more about culture than tools or technologies alone. “Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is the most important.” - Bill Gates
  • 13.
  • 14.
    The DevOps lifecycle –it’s all about continues Continuous Integration (CI), Continuous Testing (CT), and Continuous Delivery (CD), are a significant part of DevOps culture. CI [ automatic builds, unit tests, packaging process] CD [ application delivery pipeline across different environments]
  • 16.
  • 17.
  • 18.
    Configuration management Configuration Management(CM) manages changes in the system (server runtime environment). CM also keeping track or versions of details related to the state of specific nodes or servers. CM tools make this process efficient when only changed behavior is updated, and the entire installation and modification isn’t applied again to the server nodes.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
    DevOps Tools andTechnologies DevOps Phase Tools to use Code Repositories SVN, GIT Build tools Ant, Maven, Gradle, MSBuild, Grunt, Gulp, and WebBack Code Analysis tools Sonar, CheckStyle, FindBugs, NCover, Visual Studio Code, Metrics, PowerTool Continuous Integration CI Jenkins (Automated build execution, build notifications, Automated Test Execution, Automated deployment). Continuous Testing jUnit, MSTest, VSTest, Testing, Jenkins plugins (HP products)) Infrastructure provisioning Configuration and management tools Chef, Ansible, Puppet, Salt Virtualization/CSP/ Containers VMWare, AWS, Microsoft Asure (IaaS), traditional environment, Docker Continus delivery / deployment Chef / deployment plugins/Shell Scripting / Powershell scripts/Windows Batch commands Monitoring tools Zenoss (Applications, servers, networks), Nagios (Infrastructure and networks),
  • 24.
  • 25.
    End of deployment,any questions? Are you a happy customer?

Editor's Notes

  • #6 Explain the example