You are on page 1of 31

IBM Cloud Professional Certification

Program

Study Guide Series

Exam C1000-040: Foundations of IBM DevOps


V2

1
Contents
Purpose of Exam Objectives ............................................................................................................ 3
Detailed Exam Objectives ................................................................................................................. 4
Section 1 – DevOps Principles .................................................................................................... 4
Section 2 – DevOps Practices ..................................................................................................... 6
Section 3 – Adopting DevOps ................................................................................................... 12
Section 4 – DevOps Architecture and Methods ....................................................................... 17
Section 5 –DevOps Toolchain ................................................................................................... 22
Section 6 - IBM Solutions for DevOps……………………………………………………………………………………. 28
Next Steps .......................................................................................................................................... 31

2
Purpose of Exam Objectives
When an exam is being developed, the Subject Matter Experts work together to define
the role the certified individual will fill. They define all of the tasks and knowledge that an
individual would need to have in order to successfully implement the product. This
creates the foundation for the objectives and measurement criteria, which are the basis
for the certification exam.

The Systems Storage Software Certification item writers used these objectives to
develop the questions that they wrote and which will appear on the exam.

It is recommended that you review these objectives. Do you know how to complete the
task in the objective? Do you know why that task needs to be done? Do you know what
will happen if you do it incorrectly? If you are not familiar with a task, then go through
the objective and perform that task in your own environment. Read more information on
the task. If there is an objective on a task there is about a 95% chance that you WILL
see a question about it on the actual exam.

After you have reviewed the objectives and completed your own research, then take the
assessment exam. While the assessment exam will not tell you which question you
answered incorrectly, it will tell you how you did by section. This will give you a good
indication as to whether you are ready to take the actual exam or if you need to further
review the materials.

Note: This is the high-level list of objectives. As you review these objectives, click for a
more detailed level of how to perform the task.

3
Detailed Exam Objectives

Section 1 – DevOps Principles

TASK #: 1.1
TASK: Define DevOps
SUBTASKS:
1. Define DevOps
2. Describe the intersection of Development, Operations and QA
2.1. Importance of collaboration between different lines of business
2.2. Need for cultural transformation

REFERENCES:
https://www.ibm.com/cloud/devops
https://www.ibm.com/cloud/devops/get-started
https://www.ibm.com/cloud/garage/category/practices
https://en.wikipedia.org/wiki/DevOps

TASK #: 1.2
TASK: Explain and identify delivery pipelines
SUBTASKS:
1. Define a delivery pipeline
2. Define characteristic of a project to identify use of a delivery pipeline
3. Define a trait of a good delivery pipeline
4. Define a benefit of delivery pipelines

REFERENCES:
https://www.ibm.com/cloud/garage/content/deliver/tool_delivery_pipeline/
https://devops.com/continuous-delivery-pipeline/

TASK #: 1.3
TASK: Explain Lean Principles

SUBTASKS:
3. Define Lean Software Development
4. Explain the Lean Principles
4.1. Eliminate waste
4.2. Amplify learning
4.3. Decide as late as possible
4.4. Deliver as fast as possible
4.5. Empower the team
4.6. Build integrity in
4.7. See the whole

4
REFERENCES:
https://www.ibm.com/cloud/devops/methodologies
https://www.ibm.com/cloud/garage/category/practices
https://en.wikipedia.org/wiki/DevOps
https://en.wikipedia.org/wiki/Lean_software_development
https://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/, Chapter 1

TASK #: 1.4
TASK: Explain strategies of DevOps
SUBTASKS:
1. Explain Shift-Left/Continuous Test
1.1. Define the shift-left concept as it relates to DevOps
1.2. Define continuous testing as it relates to DevOps
1.3. Define the integration of Shift-Left test and Continuous Test
1.4. Define the ultimate goal of Shift-Left test and Continuous Test integrated into
application development
2. Explain Shift-Left Ops
2.1. Define Shift-Left Ops
2.2. Identify danger of not adopting a shift left Ops mentality
3. Explain Continuous Feedback
3.1. Define Continuous Feedback and the overall goal
3.2. Identify methods in which feedback is gathered

REFERENCES:
https://saucelabs.com/blog/shift-left-continuous-testing-eliminating-risk-through-agile-
testing-practices
https://www.ibm.com/blogs/cloud-computing/2016/06/13/continuous-feedback-devops-
application-deployment/
https://devops.com/devops-shift-left-avoid-failure/

TASK # 1.5
TASK: ITIL and DevOps
SUBTASKS:
1. Define the ITIL Guiding Principles
2. Identify DevOps Concepts & Practices
3. Define characteristic of the convergence of the two (2) approaches

REFERENCES:
https://metapm.com.au/wp-content/uploads/2018/03/ITIL-and-DevOps-Whitepaper.pdf

5
Section 2 – DevOps Practices

TASK # 2.1
TASK: Explain implications of the 12 Factor App design principles for DevOps
SUBTASKS:
1. Identify the 12 factors
2. Describe the 12 factor application design principles
3. What type of service is the 12 factor app design principle most used with (add more
detail and explain what is meant by this)

REFERENCES:
https://12factor.net/

TASK #: 2.2
TASK: Explain DevOps practices
SUBTASKS:
1.1. Summarize the classification of practices
1.1.1. Collaboration practices
1.1.2. Delivery practices
1.1.3. Leadership practices
1.2. Describe the Collaboration practices
1.2.1. Issues Bull's Eye
1.2.2. Mood Marbles
1.2.3. Planning Poker
1.2.4. Retrospectives
1.2.5. Showcase
1.2.6. Social Contract
1.2.7. Stand-Ups
1.2.8. Story Cards
1.3. Describe the Delivery practices
1.3.1. AB Testing
1.3.2. Automated Change Management
1.3.3. Behavior Driven Development
1.3.4. Blue/Green Deployment
1.3.5. Infrastructure as Code
1.3.6. Continuous Build and Integration
1.3.7. Design Application to be Testable
1.3.8. Feature Decoupling from Release
1.3.9. Software Configuration Management
1.3.10. Test Driven Development
1.4. Describe the Leadership practices
1.4.1. Backlog Refinement
1.4.2. Burn-Down and Burn-Up charts
1.4.3. Engaging the Product owner

6
1.4.4. Estimation and Story Points
1.4.5. Iteration Planning
1.4.6. Kaizen & Continuous Improvement
1.4.7. Kanban
1.4.8. Release Planning
1.4.9. User Story, Acceptance Criteria and Definition of Done
1.4.10. Wall of Work
1.4.11. Self-directed team

REFERENCE:
 DevOps IBM Approach
https://www.ibm.com/developerworks/community/files/basic/anonymous/api/librar
y/36ed35f5-2b62-4317-95eb-8cb3fdcfc10f/document/d78408a7-2056-44d2-
a70e-1704dc140707/media
o Page 2
o Chapter: DevOps adoption paths and related practices
 Introduction to IBM DevOps practices
https://www.ibm.com/developerworks/community/blogs/c914709e-8097-4537-
92ef-8982fc416138/entry/introduction_to_ibm_devops_practices?lang=en_us
 DevOps Leadership Team Commitments
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W5
4ecb028c53d_48b0_9d5e_4584a00489d3/page/DevOps%20Leadership%20Tea
m%20Commitments
 DevOps practices
https://www.ibm.com/developerworks/community/files/basic/anonymous/api/librar
y/36ed35f5-2b62-4317-95eb-8cb3fdcfc10f/document/630a1956-bc76-47b2-b8d4-
4be05175dcf4/media
 Test driven infrastructure
https://www.ibm.com/developerworks/library/a-devops5/index.html
 Tips and tricks to get around your next DevOps chokepoint
https://developer.ibm.com/dwblog/2016/tips-next-devops-chokepoint/

TASK #: 2.3
TASK: Describe Collaborative Development
SUBTASKS:
1. Describe Collaborative Development
2. Explain the impact of methodologies on collaborative development
2.1. Explain relationship between Agile and DevOps
2.2. Explain how methodology impacts development cycles
3. Describe impact of Continuous Integration to Collaborative Development

REFERENCE:
https://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/
o chapter - Collaborative Development

7
o chapter - Recognizing the Business Value of DevOps
 DevOps IBM Approach – Page 6
https://www.ibm.com/developerworks/community/files/basic/anonymous/api/librar
y/36ed35f5-2b62-4317-95eb-8cb3fdcfc10f/document/d78408a7-2056-44d2-
a70e-1704dc140707/media
 https://developer.ibm.com/articles/d-adoption-paths/

TASK #: 2.4
TASK: Describe Continuous Integration
SUBTASKS:
1. Define Continuous Integration
2. Explain the advantages of an Automated Continuous Integration pipeline
3. Describe Continuous Integration Activities
4. Describe the Integration Practices
4.1. Provide feedback as quickly as possible
4.2. Automate the build process
4.3. Test with build

REFERENCES:
https://www.ibm.com/cloud/garage/content/code/practice_continuous_integration/
https://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/ , Chapter 3
https://www.ibm.com/cloud/garage/content/course/explore_garage_method/0
https://www.ibm.com/cloud/garage/content/course/gm_advocate
https://www.ibm.com/cloud/garage/content/course/get_started_agile_cd/0

TASK #: 2.5
TASK: Describe Continuous Delivery
SUBTASKS:
1. Define Continuous Delivery
2. Explain how to move from CI to CD
3. Describe Continuous Delivery Activities
4. Describe the Integration Principles
4.1. Every change must be releasable
4.2. Code branches must be short-lived
4.3. Deliver through an automated pipeline
4.4. Automate everything you can
4.5. Aim for zero downtime

REFERENCES:
https://www.ibm.com/cloud/garage/content/deliver/tool_continuous_delivery/
https://www.ibm.com/cloud/garage/content/course/explore_garage_method/0
https://www.ibm.com/cloud/garage/content/course/gm_advocate
https://www.ibm.com/cloud/garage/content/deliver/practice_continuous_delivery/

8
https://www.ibm.com/cloud/garage/content/culture/practice_evolve_to_continuous_deliv
ery/

TASK #: 2.6
TASK: Describe Continuous Deployment
SUBTASKS:
1. Define Continuous Deployment
2. Define the evolution from Continuous Delivery to Continuous Deployment
3. Explain Infrastructure as Code
4. Explain the value of Virtualization
5. Describe the Integration Principles

REFERENCES:
https://www.ibm.com/cloud/garage/content/deliver/practice_continuous_delivery/
https://www.ibm.com/cloud/garage/content/deliver/practice_automated_deployment/
https://www.ibm.com/cloud/garage/content/course/explore_garage_method/0

TASK #: 2.7
TASK: Describe Continuous Availability / Service Management / Monitoring
SUBTASKS:
1.1. Describe Continuous Availability (CA)
1.2. Describe IT Service Management (ITSM)
1.3. Define Incident Management
1.4. Define Problem Management
1.5. Define Change & Configuration Management
1.6. Define Change management
1.7. Define Configuration Management capabilities
1.7.1. Request configuration
1.7.2. Topology
1.7.3. Approve configuration
1.8. Explain the ITSM toolchain
1.9. Explain the difference between the use of an ITSM toolchain in a traditional
environment versus a cloud-oriented environment
1.10. Describe Toolchain Capabilities
1.10.1. Performance monitoring and 4 golden signals
1.10.2. User experience / synthetic transaction monitoring
1.10.3. Log Monitoring
1.10.4. Event Monitoring
1.10.5. Event correlation
1.10.6. Event Enrichment
1.10.7. Collaboration / ChatOps
1.10.8. Runbooks

9
REFERENCE:
https://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/
chapter - Collaborative Development
chapter - Recognizing the Business Value of DevOps
DevOps IBM Approach – Page 6
https://www.ibm.com/developerworks/community/files/basic/anonymous/api/library/36ed35f5-
2b62-4317-95eb-8cb3fdcfc10f/document/d78408a7-2056-44d2-a70e-1704dc140707/media
https://developer.ibm.com/articles/d-adoption-paths/
SiteReliability Engineering: How Google Runs Production Systems
https://blogs.atlassian.com/2016/01/what-is-chatops-adoption-guide

TASK#: 2.8
TASK: Describe how to measure DevOps
SUBTASKS:
1. Understand what should be measured
2. Explain the metrics of DevOps measurements for basic application and
infrastructure health
2.1. Quality
2.2. Performance
2.3. Velocity
3. Explain the metrics of DevOps measurements for reliability and system health
4. Explain the metrics of DevOps measurements for team health

REFERENCES:
https://stackify.com/15-metrics-for-devops-success/
https://newrelic.com/devops/measuring-devops

TASK #: 2.9
TASK: Describe Continuous Security / Security for DevOps
SUBTASKS:
1.1. Describe Continuous Security
1.2. Understand vulnerabilities addressed by Continuous Security
1.2.1. From the Supplier chain
1.2.2. Insider attacks
1.2.3. Errors or mistakes made by the development project
1.2.4. Weakness in the design, code or integrations
1.3. Recognize entry points, security standards and risk compliance frameworks for
each of the following:
1.3.1. Physical security, to ensure the security of the premises
1.3.2. Security of the delivery pipeline
1.3.3. Security of the deliverable
1.4. Securing the delivery pipeline
1.4.1. Implementing secure engineering principals
1.4.2. Patch management strategy
1.4.3. Framework requirements

10
REFERENCES:
1. https://devops.com/automated-security-testing-continuous-delivery-pipeline/
2. https://www.ibm.com/blogs/cloud-computing/2018/03/14/continuous-security-apps-
ibm-cloud/

TASK #: 2.10
TASK: Describe DevOps on-premise and on the cloud and explain the differences in
how each are handled
SUBTASKS:
1. Describe the DevOps process in on-premise environments
1.1. Benefits of infrastructure management
1.2. Describe Infrastructure as Code
1.3. Name relevant tools
1.4. Discuss pros and cons of DevOps on On-Premise
2. Describe the DevOps process in Cloud environments
2.1. Describe the DevOps process how Cloud environment impacts DevOps
2.2. Discuss pros and cons of DevOps on Cloud
2.3. Describe the DevOps process in a Private Cloud environment
2.4. Discuss pros and cons of DevOps on Private Cloud
2.5. Describe the DevOps process in a Hybrid Cloud environment
2.6. Discuss pros and cons of DevOps on Hybrid Cloud
3. Contrast Cloud and on-premise environments

REFERENCES:
https://www.ibm.com/developerworks/community/blogs/invisiblethread/entry/what_kind_of_clou
d_do_i_need_for_devops?lang=en
http://www.xceptional.com/2018/05/29/prem-vs-public-cloud-deployments-differences-
similarities-devops-series/
IBM Private Cloud
https://www.ibm.com/cloud/garage/architectures/private-cloud/
IBM DevOps for Hybrid Cloud
https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=RAW14389USEN
https://www-01.ibm.com/common/ssi/cgi-
bin/ssialias?attachment=RAW14389USEN.PDF&htmlfid=RAW14389USEN&infotype=SA&subty
pe=WH
IaaS
https://www.quali.com/blog/why-iaas-is-critical-to-devops-automation/

11
Section 3 – Adopting DevOps

TASK #: 3.1
TASK: Describe Business and IT drivers of DevOps
SUBTASKS:
1. List the Business Drivers
1.1. Meet or create emerging business needs
1.2. Team collaboration
1.3. Faster response
1.4. Scale without disruption
2. List IT Drivers
2.1. Eliminate silos
2.2. Enable quicker delivery cycles
2.3. Automation
2.4. Integration
2.5. Programmable and dynamic environment
2.6. Insights through monitoring

REFERENCES:
https://www.ibm.com/cloud/devops
https://www-01.ibm.com/common/ssi/cgi-
bin/ssialias?subtype=WH&infotype=SA&htmlfid=RAW14389USEN&attachment=RAW1
4389USEN.PDF
https://en.wikipedia.org/wiki/DevOps
https://www.ibm.com/cloud/devops/get-started

TASK #: 3.2
TASK: Explain the barriers and roadmaps for DevOps adoption
SUBTASKS:
1. Resolve cultural and process bottlenecks
1.1. Traditional IT roadblocks.
1.2. Culture should be transparent, honest, collaborative, and promotes innovation,
accountability and responsibility across the organization
1.3. Use Agile, Lean, or similar philosophies
2. Address environmental issues
2.1. Inflexible environments
2.2. Lack of tooling
2.3.Isolation
3. Address testing issues
3.1. Insufficient automation
3.2. Shift left testing
4. Create a roadmap for DevOps adoption
4.1. Transformation goals from both a business and IT perspective
4.2. Current state of DevOps capabilities and future goals

12
4.3. Problem areas and define areas of focus for improvement
4.4. Quick wins through pilots or POCs create momentum and demonstrate value
4.5.Common roadmap patterns
4.6. Bottlenecks include wasted effort, unnecessary overhead, and duplication
across teams
5. Conduct Value Stream Mapping
5.1. Evaluate current state
5.2. Organize bottlenecks into themes
5.3. Prioritize themes
6. Quantify roadmap progress via DevOps Maturity Models
6.1. Horizontal mapping of DevOps processes and practices compared with a
vertical increase in level of capabilities, tooling, and outcomes
6.2. Gap between current and future state provide the roadmap
6.3. New capabilities provide the detail for the roadmap
6.4. Assess the maturity of different DevOps practices
7. Conduct assessments to establish a roadmap
7.1. Assess current state via interviews either individually or in groups
7.2. Expert suggests a roadmap based on assessments

REFERENCES:
https://medium.com/@freddyyumba/contrasting-the-waterfall-model-agile-lean-and-
devops-a95cd9acf58
https://www.quora.com/What-do-you-mean-by-shift-left-in-DevOps
https://devops.com/manual-processes-and-silos-complicating-devops-deployments/
https://www.youtube.com/watch?v=U9SnBeKIO0I
https://jazz.net/devops_adoption_framework/devops.publish.devops_practices.base-
ibm/guidances/guidelines/adopting_devops_13A460AB.html
http://devopsassessment.mybluemix.net/#/
http://info.thoughtworks.com/rs/thoughtworks2/images/Continuous%20Deliver
y%20_%20A%20Maturity%20Assessment%20ModelFINAL.pdf
https://en.wikipedia.org/wiki/Value_stream_mapping
https://www.ibm.com/developerworks/library/d-adoption-paths/
https://www.ibm.com/cloud/devops/urbancode-continuous-delivery

TASK #: 3.3
TASK: Explain how to adopt DevOps in a Multi-speed IT environment
SUBTASKS:
1. Define the keys to Multi-Speed IT adoption of DevOps
1.1.Tracking and managing dependencies to adequately coordinate where traditional
IT and DevOps overlap.
1.2. Project-level daily standup meetings to ensure frequent communication.
2. Explain the multi-speed IT touch-points to maintain coordination with teams working
at different speeds
2.1. Planning
2.2. APIs and automated build engines

13
2.3. Test virtualization
2.4. Automated deployment
2.5. Release Management
3. Describe how to handle planning with joint activities occurring at different velocities
3.1. Track work and team progress
3.2. Create defects
3.3. See what’s incoming
3.4. Maintain a backlog
3.5. Plan work for future sprints and releases
3.6. Maintain a repository for sharing, storing source code, and versioning code
drops, managing tests and defects
3.7. Account for different teams using different project management methodologies
(ie Agile vs Waterfall).
4. Describe how APIs and automated build engines can help with multi-speed IT
4.1. Decouple features and components to reduce interdependencies.
4.2. Securely invoke and integrate code with APIs to and from other systems.
4.3. A build engine consumes source code, database scripts, property files, and
build scripts in a version control system to maintain a full history of application
changes.
5. Describe how Service Virtualization and Integration testing can help with multi-
speed IT
5.1. Define test plans, test scripts, and manage test results
5.2. Automate testing of application components
5.3. Automation tooling reduces cycle times
5.4. Test scripts are automatically invoked as part of the deployment process
6. Describe how automated deployment can help with multi-speed IT
6.1. Automates builds and deployments to the cloud or local systems
6.2. Ensures local and cloud-based code remains synchronized from DEV to TEST
to PROD
6.3. Deployment engines orchestrate the deployment of builds to different
environments
6.4. Stage gates are configured in a release management system that define when a
build can progress between environments
7. Describe how release management can help with multi-speed IT
7.1. Handle the growing number and complexity of releases
7.2. Help plan, execute, and track a release through every stage of the delivery
lifecycle
7.3. Reduces errors while making large releases faster and more agile
8. Identify and describe IBM’s Hybrid Integration reference architecture for DevOps in
Multi-Speed Environments
8.1. Business challenges for Hybrid Integration Architecture
8.2. Functional requirements of Hybrid Integration Architecture

REFERENCES:
https://devops.com/?s=multi-speed+it
https://www.ibm.com/cloud/garage/architectures/hybridIntegration

14
TASK #: 3.4
TASK: Illustrate the cultural and organizational differences when transforming from
traditional to DevOps processes
SUBTASKS:
1. Contrast DevOps Culture with Traditional IT Culture
1.1. In DevOps Culture, teams work towards the same goal. Traditional IT enables
tension between developers, who only create new software, and operations staff,
who focus on everything running smoothly and not breaking
1.2.Typical measurements reward operations teams for uptime and stability (ie fewer
changes) and reward developers for new features delivered which creates
tension between the two groups. DevOps replaces these measurements with
shared responsibility for delivering new capabilities quickly and with reduced risk
1.3.DevOps focuses on processes that add value, organize themselves around
those actions, and do the best to minimize the risk. Traditional IT treats all SDLC
activities as equal in importance.
2. Describe the differences between Traditional IT and DevOps based on defining
characteristics
2.1. Batch Size (size of efforts)
2.2. Organization
2.3. Scheduling
2.4. Release
2.5. Information
2.6. Culture
2.7. Metric
2.8. Define “Done”

REFERENCE
https://www.ca.com/en/blog-automation/what-is-devops-culture.html
https://devops.com/comparing-devops-traditional-eight-key-differences/
https://devopstech.com/learn/blogs/traditional-it-vs-devops/

TASK #: 3.5
TASK: Describe the key architectural decisions made to adopt DevOps
SUBTASKS:
Understand the role of the architect
1.1.Set boundaries in terminology, tooling, and platforms
1.2.Common traits among successful architects include: they are visionaries,
mediators, good communicators, and hands-on
Identify a candidate for DevOps Integration and determine technology and
architecture involved

15
3. Define tooling to be used
3.1. IDEs
3.2. Source code control
3.3. Build and artifact management
3.4. Continuous integration
3.5. Service virtualization
3.6. Deployment automation.
3.7. Orchestration.
3.8. Service Management.
3.9. Defect Management.
3.10. Testing Automation.
3.11. Test Data Management.
4. Establish tooling and environment locations and characteristics with an
understanding of where the solution will ultimately reside following go-live
4.1. Public cloud
4.2. Private cloud
4.3. Hybrid cloud
4.4. Traditional IT
4.5. Number of dev/test/prod environments
4.6. Deployment automation
4.7. Orchestration
4.8. Security
5. Describe the two primary DevOps profiles for applications
5.1. Cloud Native: characterized by small teams working to short delivery cycles who
are focused on effectiveness and user (or business) outcomes
5.2. Cloud Enabled: characterized by teams of teams working to longer delivery
cycles who are focused on quality improvements, faster time-to-market and
balancing cost and value. More likely found with traditional IT teams maintaining
existing complex systems
6. Describe the roles and benefits of Orchestration for DevOps
6.1.Central control for assembling solutions from multiple components based on
templates
6.2.Coordinate asynchronously between services and correlate messages
6.3.Parallel processing
6.4.Transaction rollback and failure safe
6.5.Manage long-running business transactions
7. Describe the role and benefits of Patterns/Templates for DevOps
7.1.Small reusable loosely coupled services that when combined together deliver a
business benefit
7.2.Reduce time to deliver, test and remediate new applications throughout the
delivery cycle

REFERENCES:
https://www.ibm.com/cloud/garage/content/code/role-of-an-architect
https://www.bloorresearch.com/2018/06/devops-an-ibm-perspective/
https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=RAW14389USEN

16
https://www.ibm.com/cloud/garage/architectures/devOpsArchitecture

Section 4 – DevOps Architecture and Methods

TASK #: 4.1
TASK: Describe the IBM Cloud Garage Method phases
SUBTASKS:
1. Create a high-performance culture
2. Understand and prepare what you need for success
3. Innovate by design
4. Create a quality code through collaboration and automation
5. Build a highly available infrastructure that ensures that your app is always available
to meet your clients need.
6. Prepare for problem before happen
7. Learn your customers and make better decisions

REFERENCES:
https://www.ibm.com/cloud/garage/category/practices
https://www.ibm.com/cloud/garage/category/learn

TASK #: 4.2
TASK: Describe IBM DevOps Reference Architecture
SUBTASKS:
1. Explore DevOps Reference Architecture
2. Understand the steps involved in the DevOps Reference Architecture
3. Understand the tools that support each step in the DevOps Reference
Architecture
4. Describe the functional requirements of the DevOps Reference Architecture

REFERENCES:
https://www.ibm.com/cloud/garage/architectures/devOpsArchitecture/reference-
architecture

TASK #: 4.3
TASK: Describe IBM Service Management Reference Architecture
SUBTASKS:
1. Explore Service Management Reference Architecture
2. Understand the steps involved in the Service Management Reference
Architecture
3. Understand the tools that support each step in the Service Management
Reference Architecture
4. Describe the functional requirements of the Service Management Reference
Architecture

17
REFERENCES:
https://www.ibm.com/cloud/garage/architectures/serviceManagementArchitecture/refere
nceArchitecture

TASK #: 4.4
TASK: Explain DevOps for Cloud Ready
SUBTASKS:
1. Define a Cloud Ready application
2. Understand typical characteristics of cloud ready applications
2.1. Stateful and highly interdependent
2.2. Monolithic structures (Millions lines of code)
2.3. Designed for resilience (instead of agility)
2.4. Tightly coupled architecture, synchronous communication
2.5. Difficult to change (months / years)
2.6. Operationally intensive and needy
2.7. Scaled vertically (add more capacity)
2.8. NFRs driven by infrastructure
3. Understand the impacts of these characteristics on the DevOps process
3.1. Slower moving with release/code deployments every few weeks or months
3.2. Tighter dependencies between the application layers and the infrastructure layers
3.3. Require orchestration tools to coordinate the changes required in the environment,
application and infrastructure that constitute the new release.
3.4. Use Pattern tools to automate the deployment of environments combing IaaS and
PaaS capabilities into a full solution stack where the application release can be
deployed repeatedly
3.5. Clear roles and responsibilities often integrated into a centralized support and
operations organization
3.6. Stronger focus upon service management and ensuring the applications are
operated to a high level of service and availability. Therefore strong service
management needs to be factored into the DevOps process

TASK #: 4.5
TASK: Explain DevOps for Microservices
SUBTASKS:

3.3. Explain DevOps for Microservices


Microservices architecture is an alternative approach to structuring applications. An
application is broken into smaller, completely independent components, enabling them to
have greater agility, scalability, and availability. The microservices architectural style can be
seen as an evolution of the SOA (Services Oriented Architecture) architectural style.
When you look at the implications of this, you see that five simple rules drive the
implementation of applications built using the microservices architecture. They ar e:

18
3.3.1. Break large monoliths down into many small services A single networkaccessible
service is the smallest deployable unit for a microservices application. Each service should
run in its own process. This rule is sometimes stated as “one service per container”, where
“container” could mean a Docker container or any other lightweight deployment mechanism
such as a Cloud Foundry runtime.
3.3.2. Optimize services for a single function –In a microservices approach, there should be
one and only one business function per service. This makes each service smaller and
simpler to write and maintain.
3.3.3. Communicate via REST API and message brokers – A rule for microservices is to
avoid the tight coupling introduced by implicit communication through a database – all
communication from service to service must be through the service API
3.3.4. Apply Per-service CI/CD -- When building a large application comprised of many
services, you soon realize that different services evolve at different rates. Letting each
service have its own unique Continuous
Integration/Continuous Delivery pipeline allows that evolution to proceed at is own natural
pace – unlike in the monolithic approach where different aspects of the system were forced
to all be released at the speed of the slowestmoving part of the system.
3.3.5. Apply Per-service HA/clustering decisions – The reality is that in a large system, not
all services need to scale and can be deployed in a minimum number of servers to
conserve resources. Others require scaling up to very large numbers.
One monolith is easier to monitor and manage than multiple microservices, so you’d better
get good at Microservices DevOps. Microservices require a mature delivery capability.
Continuous integration, deployment, and fully automated tests are a must. Build and
deployment chains need significant changes to provide the right separation of concerns for
a microservices environment.
Follow a Microservices DevOps approach that allows you to isolate each Microservice as
much as possible, while being able to easily and quickly identify and resolve issues with the
Microservices. Applying unique CI/CD pipelines to each Microservice will allow you to build
and deploy each Microservice individually. However, having a common approach allows
you to set guidelines on how microservices interrelate and interact with each other.
Redbook -
http://www.redbooks.ibm.com/redbooks.nsf/RedbookAbstracts/sg248275.html Paper - Intro
to Microservices -
https://www.ibm.com/developerworks/cloud/library/cl-bluemix-microservices-inaction-part-1-
trs/
paper - refactoring to Microservices -
https://www.ibm.com/developerworks/cloud/library/cl-refactor-microservicesbluemix-trs-1/

REFERENCES:
https://www.ibm.com/cloud/garage/architectures/microservices/overview
https://www.ibm.com/cloud/garage/content/code/role-of-an-architect
https://www.ibm.com/cloud/garage/architectures/devOpsArchitecture
https://developer.ibm.com/patterns/deploy-microprofile-java-microservices-on-
kubernetes/

19
TASK #: 4.6
TASK: Explain DevOps for Cloud Native
SUBTASKS:
1. Identify the characteristics for Cloud Native Applications
1.1. Take advantage of cloud computing frameworks which are composed of loosely-
coupled cloud services
1.2. Break down tasks into separate services that can run on several servers in
different locations
1.3. Stateless and self-contained
Fine-grained (<100 lines of code) designed to be
anti-fragile typically follow a micro-services approach, asynchronous messaging
1.4. Dynamically changed (hours / days)

1.5. Operationally automated and independent

1.6. Scaled horizontally (spin up more services)

1.7. NFRs driven by application design
1.8. Key metrics: Agility, Performance, speed of change and MTTR (Mean Time to
Recovery)
2. Identify the impact of Cloud Native Applications Characteristics on DevOps
2.1. Planned with redundancy in mind so the application can withstand equipment
failure and be able to re-map IP addresses automatically should hardware fail
2.2. Higher number of deployments than cloud-ready or traditional applications
2.3. Infrastructure elements are delegated to the cloud service providers, and
therefore do not need to be managed as part of the deployment automation
2.4. Contain more components, as the individual sizes will be smaller, supporting
greater agility
2.5. Dependency management (and release management) becomes a greater
concern as code / application / runtime dependencies may span across many
components, libraries, and locations
2.6. Control and organization is now distributed, so there is no single one ‘central
command’, which requires greater level of cross-slio communication and
collaboration
2.7. Non-functional characteristics are now delivered by the application layer,
2.8. Planned tests by the application developers
2.9. Operational processes need to be highly automated
2.10. A shift in responsibilities from traditional operations to new combined
teams of DevOps
3. Define NoOps
4. Identify the role of helm charts, and helm charts repos in packaging and customizing
the Kubernetes resources
5. Understand how to use manifest.yml to deploy Cloud Foundry application
6. Understand the contents of DockerBuild and DockerCompose for building Docker
containers
7. Understand the contents of Deployment yaml to build Kuberentes resources

REFERENCES
https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html
https://helm.sh/

20
https://searchcloudapplications.techtarget.com/definition/noops
https://www.ibm.com/blogs/bluemix/2018/02/cloud-native-apps-and-the-golden-age-of-
service-management/

TASK #: 4.7
TASK: Explain DevOps for serverless applications
SUBTASKS:
1. Define Serverless Computing
2. Explain Core Concepts of a Serverless Framework
2.1. Functions
2.2. Events
2.3. Services
3. Explain basic serverless components
3.1. Actions
3.2. Triggers
3.3. Sequences
3.4. Rules

REFERENCES:
https://developer.ibm.com/code/technologies/serverless/
https://serverless.com/framework/docs/providers/openwhisk/guide/intro/
https://developer.ibm.com/patterns/develop-protected-serverless-web-applications/
https://en.wikipedia.org/wiki/Serverless_computing
https://www.ibm.com/blogs/bluemix/2017/10/serverless-composition-ibm-cloud-
functions/
https://console.bluemix.net/openwhisk/learn/concepts

TASK #: 4.8
TASK: Explain Cloud Service Management Operations
SUBTASKS:
1. Explain service management
1.1. Implication of methodology
1.1.1. Organization approach
1.1.2. Site reliability engineering (SRE)
1.2. How to define the process
1.2.1. A key concept of DevOps is the automated and continuous testing,
deployment, and release of functions.
1.2.2. Service management processes, such as change management processes
and the role of the change advisory board, must change to support this
notion.
1.3. Importance of using the right tools to improve automation
2. Aspects of service management

21
2.1. Incident management
2.2. Problem management
2.3. Change management
2.4. Operations

Sources:
1. https://www.ibm.com/cloud/garage/architectures/serviceManagementArchitecture
2. https://www.ibm.com/cloud/garage/architectures/serviceManagementArchitecture/ref
erenceArchitecture

TASK #: 4.9
TASK: Explain the benefits of IBM Design Thinking for DevOps process adoption
SUBTASKS:
1. Explain IBM methodologies
1.1. What are IBM methodologies and their benefits
1.2. Using the IBM Cloud Garage Method
1.3. Describe SAFe
2. Describe how adoption of IBM Design Thinking for DevOps in organizations can
unlock new business opportunities
3. Explain essential elements of IBM Design Thinking

REFERENCES:
1. https://www-01.ibm.com/common/ssi/cgi-
bin/ssialias?attachment=RAW14389USEN.PDF&htmlfid=RAW14389USEN&infotype
=SA&subtype=WH
Chapter: IBM DevOps approach, Practicing DevOps
2. DevOps: The IBM approach (pdf)
https://www.ibm.com/developerworks/community/files/basic/anonymous/api/library/3
6ed35f5-2b62-4317-95eb-8cb3fdcfc10f/document/d78408a7-2056-44d2-a70e-
1704dc140707/media

Section 5 – DevOps Toolchain

TASK #: 5.1
TASK: Identify tools for Build & Deploy and their uses
SUBTASKS:
1. Identify common Build tools and their uses
1.1. Ant
1.2. Gradle
1.3. Maven
1.4. Jenkins

22
1.5. Grunt
1.6. npm
1.7. UrbanCode Build
1.8. Microclimate
1.9. Yarn
1.10. Webpack
1.11. Gulp
1.12. UrbanCode Velocity
2. Identify common Deploy tools and their uses
2.1. UrbanCode Deploy
2.2. Ansible
2.3. Chef
2.4. Puppet
2.5. Salt
2.6. Vagrant
2.7. Microclimate
2.8. Terraform

REFERENCES:
https://gruntjs.com/
https://ant.apache.org/
https://docs.gradle.org/current/userguide/userguide.html
https://maven.apache.org/
https://jenkins.io/doc/
https://www.npmjs.com/
https://developer.ibm.com/urbancode/products/urbancode-build/
https://www.ibm.com/us-en/marketplace/application-release-automation
https://www.ansible.com/
https://www.chef.io/chef/
https://puppet.com/
https://docs.saltstack.com/en/latest/topics/
https://www.vagrantup.com/
https://microclimate-dev2ops.github.io/about
https://yarnpkg.com/en/
https://webpack.js.org/
https://xebialabs.com/technology/gulp/
https://www.ibm.com/us-en/marketplace/urbancode-velocity
https://www.terraform.io/

TASK #: 5.2
TASK: Identify other common tools and their uses
SUBTASKS:
1. Identify common version control tools
1.1. Git
1.2. Rational Team Concert (RTC)
1.3. Bitbucket

23
2. Identify common Requirements Management Tool
2.1. IBM Rational DOORS
2.2. Confluence
2.3. Jira
3. Identify common Test Case Management
3.1. IBM Rational Quality Manager
4. Identify common Testing Automation Tools
4.1. IBM Rational Test Workbench
4.2. Selinium
4.3. JUnit
4.4. Apache JMeter
4.5. Cucumber
5. Identify common Release Management Tools
5.1. IBM UrbanCode Release
6. Identify common Code Quality Tools
6.1. SonarQube
7. Identify Common Defect Fixing Tools
7.1. Rational Team Concert
7.2. GitHub
7.3. Jira
8. Identify Common Collaboration tools
8.1. Slack
8.2. Collabtive

8.3. Glip
8.4. Hipchat
8.5. Rocket.chat
9. Identify Common Package Repository
9.1. JFrog Artifactory
9.2. Nexus
9.3. npm

REFERENCES:
https://git-scm.com/
https://www.ibm.com/us-en/marketplace/change-and-configuration-management
https://www.ibm.com/us-en/marketplace/quality-management
https://www.ibm.com/us-en/marketplace/rational-test-workbench
https://www.seleniumhq.org/
https://junit.org/junit5/
https://jmeter.apache.org/
https://cucumber.io/
https://www.ibm.com/us-en/marketplace/urbancode-release
https://www.sonarqube.org/
https://github.com/features
https://www.atlassian.com/software/jira
https://www.atlassian.com/software/confluence
https://jfrog.com/artifactory/

24
https://www.npmjs.com/

TASK #: 5.4
TASK: Describe common container and container orchestration technologies
SUBTASKS:
1. Explain the differences between Virtual machines and Containers
2. Explain benefits of Containers in DevOps
3. Understand Docker components and underlying technologies
3.1. Images
3.2. Containers
3.3. Registry
4. Articulate what containers are and their benefits
5. Understand what a Dockerfile is and how to use it
6. List the different container orchestrators
6.1. Docker Swarm
6.2. Kubernetes
6.3. Mesos Marathon
6.4. Hashicorp Nomad
7. Explain the core benefits of Container Orchestration like Kubernetes in DevOps
7.1. Automatic scheduling
7.2. Self-healing

7.3. Horizontal scaling

7.4. Service discovery and Load balancing
7.5. Automated rollouts and rollbacks

7.6. Secrets and configuration management

7.7. Batch execution
7.8. Vulnerability Advisor
8. Understand core Kubernetes resources concepts
8.1. Deployment
8.2. Pod
8.3. Persistent Volume
8.4. Secret
8.5. Namespace
8.6. ConfigMap
8.7. Service
9. Describe the contents of a Kubernetes yaml deployment file

REFERENCES:
https://kubernetes.io/
https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
https://kubernetes.io/docs/tutorials/kubernetes-basics/
https://developer.ibm.com/courses/all/get-started-kubernetes-ibm-cloud-container-
service/

25
Docker Essentals Badge: https://developer.ibm.com/courses/all/docker-essentials-
extend-your-apps-with-containers/
Unit 2 - Essentials of Cloud Application Development Redbooks (Containers section)
http://www.redbooks.ibm.com/abstracts/sg248374.html?Open
Part 1 to Part 6: https://docs.docker.com/get-started
https://docs.docker.com/engine/docker-overview/
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
https://www.exoscale.com/syslog/container-orchestration/

TASK #: 5.5
TASK: Explain the applicability of open standards for DevOps
SUBTASKS:
1. Understand why to use open standards for DevOps
2. Examples of open standards relevant to DevOps
2.1. OCI – Open Container Initiative
2.2. OSLC - Open Services for Lifecycle Collaboration
2.3. TOSCA - OASIS Topology and Orchestration Specification for Cloud
2.4. Open Stack Foundation
2.5. Open Power Foundation
2.6. OpenDaylight
2.7. Cloud Foundry

REFERENCES:
https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca
https://www.itprotoday.com/software-development/2017-brought-more-open-standards-
devops
https://open-services.net/
https://devops.com/look-open-networking-standards/
https://www.cloudfoundry.org/

TASK #: 5.6
TASK: Describe the concepts of Software Defined Environments
SUBTASKS:
1. Understand the benefits of SDE to DevOps
1.1. What does SDE enable for DevOPs
1.2. What does SDE provide for DevOPs
1.3. Explain the ability to define Blueprints using SDE
1.4. How does SDE help in orchestration
2. Explain how Messaging and Transactions are handled using SDE
3. Patterns and Templates

Reference:
http://www.redbooks.ibm.com/redbooks/pdfs/sg248238.pdf

TASK #: 5.7
26
TASK: Explain the role of service mesh in managing and securing microservices
SUBTASKS:
1. Define a service mesh
1.1. Network for services, not bytes
1.2. Makes service-to-service communication work better
2. Describe capabilities of Istio as a service mesh
2.1. Intelligent routing and Traffic Management
2.1.1. Canary Deployments
2.1.2. Fault Injections
2.1.3. Route based on Header
2.1.4. A/B Testing
2.2. Load balancing and resiliency
2.3. Manage Authentication and Authorization
2.4. Language-neutral
2.5. Portable across platforms
2.6. Policy enforcement
2.7. Telemetry, reporting, distributed tracking, and visualization
2.8. Service Discovery

REFERENCES:
https://istio.io/docs/concepts/what-is-istio/

TASK #: 5.8
TASK: Identify the tools used for logging, monitoring, event management, and
performance testing
SUBTASKS:
1. Identify logging tools
2. Identify monitoring tools
3. Identify event management tools
4. Identify performance testing tools

REFERENCES:
https://www.ibm.com/cloud/garage/toolchains/
https://www.ibm.com/cloud/garage/toolchains/develop-cloud-foundry-app-toolchain/
https://www.ibm.com/cloud/garage/toolchains/develop-kubernetes-app-toolchain
https://www.ibm.com/cloud/garage/toolchains/develop-test-microservices-on-cloud-
foundry-toolchain
https://www.ibm.com/cloud/garage/toolchains/garage-method-tutorial-with-cloud-
foundry-toolchain
https://www.ibm.com/cloud/garage/toolchains/developer-insights-and-team-dynamics-
with-github-and-jira-toolchain

27
Section 6 – IBM Solutions for DevOps

TASK #: 6.1
TASK: Describe the IBM solutions for the Culture, Discover, and Envision phase in
DevOps.
SUBTASKS:
1. Illustrate the cultural & organizational differences when transforming from traditional
to DevOps processes
2. Understand the Performance & Culture Phase
2.1. Release: Turn a High Risk Event to a Non Event
2.2. Information: Focus is on Dissemination vs. Actionable
2.3. Culture: Do Not Fail vs. Fail Early
2.4. Describe the IBM solutions for the CULTURE phase in DevOps
3. Understand the Discover Phase
Best practices for organizing users, teams, and applications
Identify the objectives
4. Understand the Envision phase- Envision is most important part of IBM designing
thinking where devops solutions are designed by innovation rather than by accident.
4.1. Benefits of using Enterprise Design Thinking
4.2. Identify Tools used for envisioning
4.3. Evaluate Tools required

Reference:
https://www.ibm.com/devops/method/category/culture
http://www.chooseportal.com/software/ibm-connections
https://www.ibm.com/support/knowledgecenter/en/SSL3JX/verse/welcometoibmverse.
html
https://www.ibm.com/cloud/garage/category/envision
https://www.ibm.com/cloud/garage/content/culture/tool_mural/
https://www.ibm.com/cloud/garage/content/think/evaluate-tools
https://console.bluemix.net/docs/tutorials/users-teams-applications.html#best-practices-
for-organizing-users-teams-applications

TASK #: 6.2
TASK: Describe the IBM solutions for the Build and Run phase in DevOps
SUBTASKS:
1. Describe IBM Solution for the Build phase
1.1. IBM Cloud Continuous Delivery
1.2. Delivery Pipeline
1.3. Sauce Labs

28
1.4. IBM UrbanCode Deploy
1.5. Nexus
1.6. Antifactory
1.7. Microclimate
2. Identify Microclimate core features and capabilities
2.1. End to end Container Deployment
2.2. Unified Development Environment
2.3. Cloud Technology
2.4. Multiple IDE Options
3. Describe IBM Solution for the Run phase
3.1. IBM Cloud Foundry
3.2. IBM Cloud Kubernetes Services
3.3. IBM Cloud Functions
3.4. IBM Cloud Private
3.5. IBM Cloud services

REFERENCES:
https://www.ibm.com/cloud/garage/category/build
https://www.ibm.com/us-en/marketplace/microclimate/details
https://microclimate-dev2ops.github.io/
https://www.ibm.com/cloud/garage/category/run
https://www.ibm.com/cloud/private
https://www.ibm.com/cloud/cloud-foundry
https://console.bluemix.net/openwhisk/
https://www.ibm.com/cloud/container-service

TASK #: 6.3
TASK: Describe the IBM solutions for the Manage and Learn phase in DevOps
SUBTASKS:
1. Describe the IBM solutions for the Manage and phase in DevOps
2. Describe the IBM solutions for the Learn phase in DevOps
3. Understand Think, Code, Deploy, Run, Manage, Learn

Reference:
https://www.ibm.com/devops/method/category/learn
https://www.ibm.com/devops/method/content/architecture/architecture_devop
https://www.ibm.com/blogs/bluemix/2017/06/what-is-devops-think-code-deploy-run-
manage-learn/

TASK 6.4
TASK: Describe the IBM solutions for Security in DevOps
1. IBM Access Trail

29
2. IBM Application Security on Cloud
3. IBM Single Sign On
4. IBM Key Protect
5. IBM Security QRadar

Reference:
https://www.ibm.com/developerworks/library/d-security-considerations-devops-
adoption/index.html
https://www.ibm.com/cloud/garage/architectures/securityArchitecture/implement-secure-
devops/
https://www.ibm.com/blogs/bluemix/2018/02/team-automated-devsecops/

30
Next Steps
1. Take the Foundations of IBM DevOps V2 assessment test.

2. If you pass the assessment exam, visit pearsonvue.com/ibm to schedule your


testing sessions.

3. If you failed the assessment exam, review how you did by section. Focus
attention on the sections where you need improvement. Keep in mind that you
can take the assessment exam as many times as you would like ($30 per exam),
however, you will still receive the same questions only in a different order.

31

You might also like