Monday, October 10, 2016

Test Objectives




Section 1: Hosting Cloud Applications


  1. Describe Cloud service models and IBM Cloud offerings

    1. IBM SoftLayer Infrastructure as a Service (IaaS)

    2. IBM Bluemix Platform as a Service (PaaS)

    3. Software as a Service (SaaS) and IBM Cloud Marketplace

  2. Describe the different capabilities of IBM Bluemix

    1. IBM Bluemix PaaS provided by Cloud Foundry

    2. IBM Bluemix Containers using docker

    3. IBM Bluemix virtual machines powered by OpenStack

Section 2: Planning Cloud Applications


  1. Describe key components of IBM Bluemix PaaS environment

    1. Runtime is a set of resources to run an application

    2. Boilerplate consists of a combination of runtime and predefined services

    3. Services provide ready-for-use functionality for a running application and are represented by two types:

      1. Managed services are listed in the IBM Bluemix Paas catalog

      2. User-provided services can be used by developers to programmatically define services outside of IBM Bluemix PaaS

  2. Describe components of IBM Bluemix PaaS architecture based on Cloud Foundry

    1. The Droplet execution agent (DEA)

    2. The Cloud Controller

    3. The Router

    4. Service Broker

    5. Interaction between DEA and Health Manager

  3. Explain the process of staging an application in IBM Bluemix PaaS

  4. Describe the organization management elements in IBM Bluemix PaaS: Spaces, Users, Domains and Quota

    1. Spaces provide a mechanism to collect related applications, services and users

    2. Users participate in organizations and have varying capabilities based on assigned role

    3. Domains provide the route on the Internet for the organization

    4. Quota defines resource limits for the organization

  5. Understand IBM Bluemix Regions and how to manage applications in multiple regions

  6. Use the Cloud Foundry CLI (cf) tool to manage applications in IBM Bluemix PaaS

    1. Specify the region through api endpoint

    2. Log in to an organization and space using cf

    3. Push an application using cf and understand applicable options

    4. View logging information using cf

    5. Perform scaling (instance, memory, disk) of an application using cf

    6. cf commands for managing domains, routes, organization and spaces

Section 3: Implementing Cloud Ready Applications


  1. Understand how to design, develop, deploy and manage a IBM Bluemix PaaS applicationfollowing the Twelve-Factor App methodology (http://12factor.net/)

    1. One codebase tracked in revision control, with multiple deployments

    2. Explicitly declare and isolate dependencies (IBM Bluemix PaaS deployable units e.g. Java Liberty and Node.js buildpacks manage runtime dependencies)

    3. Store configuration in the environment (via VCAP_SERVICES)

    4. Treat backing services as attached resources (use cf create-service and cf bind-service)

    5. Strictly separate build and run stages

    6. Execute the app as one or more stateless processes (avoid monoliths and use multiple processes or services as needed)

    7. Export services via port binding

    8. Scale out via the process model (e.g. cf scale app -i 10)

    9. Maximize robustness with fast startup and graceful shutdown

    10. Keep development, staging, and production as similar as possible (Spaces allow for the separation of editions)

    11. Treat logs as event streams (IBM Bluemix PaaS Loggregator)

    12. Run admin/management tasks as one-off processes

  2. Understand scaling concepts for a Cloud application and steps to scale an application in IBM Bluemix PaaS

    1. Vertical scaling by increasing resources to an application instance

    2. Horizontal scaling by increasing the number of application instance

    3. Understand how to manually scale applications through IBM Bluemix PaaS dashboard

    4. Automatically scaling applications in IBM Bluemix PaaS using the Auto-Scaling service and scaling policy fields and options such as: available metric types for runtimes, breach duration, cool down period

  3. Debug a Cloud application using development mode of IBM Bluemix PaaS

    1. Using the Eclipse Tools for Bluemix plug-in for development mode with IBM Liberty for Java buildpack applications

    2. Using the Bluemix Live Sync debug feature for development mode with IBM Node.js buildpack applications

  4. Perform load testing on Cloud applications using simulated loads and describe the benefits of load testing

    1. Use Load Impact or Blazemeter 3rd party load testing services in IBM Bluemix PaaS

    2. Creating user scenarios

    3. Defining virtual user load for a test

    4. Analyze results from load tests

  5. Explain various methods to monitor an application in IBM Bluemix PaaS

    1. Measure application availability, CPU and heap memory usage, response time and throughput by using the Monitoring and Analytics service

    2. Monitoring application logs using the cf tool during staging and when the application is running

    3. Viewing metrics of resource utilization with IBM Auto-Scaling service

    4. Using instance details panel from the application overview in the dashboard

Section 4: Enhancing Cloud Applications using Managed Services


  1. Improve performance and scalabilty of IBM Bluemix PaaS applications with caching

    1. Using Data Cache service to store application data

    2. Using Session Cache to store and persist HTTP session objects

  2. Understand how to configure external authentication using IBM Bluemix PaaS web applications with the Single Sign On service (SSO)

    1. SSO requires the application to usean OpenID Connect client interface

    2. Applications using SSO can support Cloud directories, Social Media sites and Enterprise directory as identity sources

    3. Integration requires the implementation of an authentication callback

  3. Enable loosely coupled integration for IBM Bluemix PaaS applications and components by using Messaging Services

    1. Understand messaging use-cases and available APIs in the Message Hub service

    2. Explain how to configure publish/subscribe and worker offload queue topologies using Message Hub

    3. Explain rationale of the cf option --no-route when using the worker offload pattern

    4. Understand benefits and usage of MQ Light API for topic hierarchies, fault tolerance, and QoS

  4. Describe cognitive capabilities to process unstructured data and images in IBM Bluemix PaaS

    1. Alchemy Language API services include sentiment analysis, entity extraction, relationship extraction, concept tagging, text extraction, language extraction, and micro format parsing

    2. Alchemy Vision API services include imaging tagging, link extraction and face detection/recognition

  5. Understand how to store and retrieve files using the IBM Object Storage service in Bluemix

    1. Creation of a container in object storage service

    2. Perform create, upload, and list operations on an object using containers

    3. Purpose of metadata to store information about files in object storage

Section 5: Using DevOps Services & tools to Manage Cloud Applications


  1. Describe capabilities of IBM Bluemix DevOps Services

    1. Agile Planning: Planning and tracking features to manage collaborative work in agile teams.

      1. Teams can create stories, tasks, and defects to describe and track project work, and use agile planning tools to manage backlogs, plan releases, and plan sprints.

    2. Web code editor: A browser-based Integrated Development Environment (IDE) for cloud development

      1. Using the Web IDE, teams can import, create, modify and debug source code from a web browser. The environment also provides color coding and content assist capabilities to facilitate development activities.

    3. Source control management: Parallel development and versioning features through Git, Jazz SCM, or GitHub

      1. Each project gets a shared repository where team members check in changes, associate code changes with work items, and view a history of recent updates

    4. Delivery pipeline: Continuous Integration and Continuous Delivery features to rapidly deploy cloud applications

      1. The Delivery Pipeline allows automatically building and deploying applications to IBM's cloud platform.

  2. Plan and track work for agile team collaboration

    1. Bluemix DevOps Services - Track & Plan supports typical activities conducted during agile projects, such as backlog management, sprint planning, and daily scrums

    2. Understand work items in Track & Plan like epic, story, task, and defect

  3. Edit and debug Cloud applications using IBM Bluemix DevOps Services Web code editor

    1. Understand basic functionality of the Web code editor

    2. Using Live Edit to quickly make changes without redeploying an application

    3. Enable debug mode to troubleshoot an application running in IBM Bluemix PaaS

    4. Understand DevOps Services constraints and limitations to debug applications on Bluemix

  4. Understand capabilities of IBM Bluemix DevOps services source code management for projects

    1. Using the fork option to copy an existing DevOps project into a new project for enhancement

    2. Review and manage code pushes to the repository by project members

    3. Understand the difference between a Commit and a Push

  5. Describe how use the to Build & Deploy option to manage continuous integration and continuous delivery

    1. Understand the Delivery Pipeline service

    2. Role of Stages in the Delivery Pipeline and different Stage types

    3. Options for Stage Trigger

    4. Role of Jobs within a Stage and continuation options when a Job fails

    5. Understand relationships between changes to the source code repository and pipeline stages

Section 6: Using Data Services


  1. Describe the different types of data services available in IBM Bluemix PaaS

    1. Key characteristics of a NoSQL database service

    2. Key characteristics of a SQL database service

    3. Key characteristics of a in memory columnar database service

    4. Key characteristics of key value pair data service

    5. Key characteristics of a time series database service

  2. Describe the unique features of IBM Bluemix PaaS data services

    1. Understand the unique features of Cloudant NoSQL Database

      1. IBM Cloudant NoSQL DB for Bluemix is a NoSQL database as a service (DBaaS).

      2. Cloudant provides a RESTful API to create, read, update and delete documents

      3. Cloudant allows the creation of secondary indexes via the use of MapReduce

      4. Cloudant Query provides a declarative way to define and query indexes

      5. Cloudant Sync simplifies large-scale mobile development

    2. Understand the unique features of dashDB

      1. dashDB is a data warehousing service that stores relational data, including special types such as geospatial data.

    3. Understand the unique features of the IBM Time Series Database for Bluemix

      1. IBM Time Series Database for Bluemix service is a managed data store for Internet of Things device data and time series analysis of the data

  3. Manage instances of IBM Bluemix PaaS data services: Cloudant NoSQL Database, and dashDB.

    1. Manage instances of the Cloudant NoSQLDB service

      1. Create a database

      2. Add data to an existing database

      3. Edit documents in an existing database

      4. Clone existing documents

      5. Simple query of all documents in an existing database

    2. Manage instances of dashDB service

      1. Create a new table in dashDB

      2. Browse the contents of an existing table in dashDB

      3. Run SQL scripts in dashDB

      4. Import CSV data into dashDB

  4. Describe the IBM DataWorks service for Bluemix

    1. Summarize capabilities of DataWorks

    2. Perform common tasks using DataWorks

      1. Data Loading - Filter and move data