Section 1: Hosting Cloud Applications
- Describe Cloud service models and IBM Cloud offerings
- IBM SoftLayer Infrastructure as a Service (IaaS)
- IBM Bluemix Platform as a Service (PaaS)
- Software as a Service (SaaS) and IBM Cloud Marketplace
- Describe the different capabilities of IBM Bluemix
- IBM Bluemix PaaS provided by Cloud Foundry
- IBM Bluemix Containers using docker
- IBM Bluemix virtual machines powered by OpenStack
Section 2: Planning Cloud Applications
- Describe key components of IBM Bluemix PaaS environment
- Runtime is a set of resources to run an application
- Boilerplate consists of a combination of runtime and predefined services
- Services provide ready-for-use functionality for a running application and are represented by two types:
- Managed services are listed in the IBM Bluemix Paas catalog
- User-provided services can be used by developers to programmatically define services outside of IBM Bluemix PaaS
- Describe components of IBM Bluemix PaaS architecture based on Cloud Foundry
- The Droplet execution agent (DEA)
- The Cloud Controller
- The Router
- Service Broker
- Interaction between DEA and Health Manager
- Explain the process of staging an application in IBM Bluemix PaaS
- Describe the organization management elements in IBM Bluemix PaaS: Spaces, Users, Domains and Quota
- Spaces provide a mechanism to collect related applications, services and users
- Users participate in organizations and have varying capabilities based on assigned role
- Domains provide the route on the Internet for the organization
- Quota defines resource limits for the organization
- Understand IBM Bluemix Regions and how to manage applications in multiple regions
- Use the Cloud Foundry CLI (cf) tool to manage applications in IBM Bluemix PaaS
- Specify the region through api endpoint
- Log in to an organization and space using cf
- Push an application using cf and understand applicable options
- View logging information using cf
- Perform scaling (instance, memory, disk) of an application using cf
- cf commands for managing domains, routes, organization and spaces
Section 3: Implementing Cloud Ready Applications
- Understand how to design, develop, deploy and manage a IBM Bluemix PaaS applicationfollowing the Twelve-Factor App methodology (http://12factor.net/)
- One codebase tracked in revision control, with multiple deployments
- Explicitly declare and isolate dependencies (IBM Bluemix PaaS deployable units e.g. Java Liberty and Node.js buildpacks manage runtime dependencies)
- Store configuration in the environment (via VCAP_SERVICES)
- Treat backing services as attached resources (use cf create-service and cf bind-service)
- Strictly separate build and run stages
- Execute the app as one or more stateless processes (avoid monoliths and use multiple processes or services as needed)
- Export services via port binding
- Scale out via the process model (e.g. cf scale app -i 10)
- Maximize robustness with fast startup and graceful shutdown
- Keep development, staging, and production as similar as possible (Spaces allow for the separation of editions)
- Treat logs as event streams (IBM Bluemix PaaS Loggregator)
- Run admin/management tasks as one-off processes
- Understand scaling concepts for a Cloud application and steps to scale an application in IBM Bluemix PaaS
- Vertical scaling by increasing resources to an application instance
- Horizontal scaling by increasing the number of application instance
- Understand how to manually scale applications through IBM Bluemix PaaS dashboard
- 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
- Debug a Cloud application using development mode of IBM Bluemix PaaS
- Using the Eclipse Tools for Bluemix plug-in for development mode with IBM Liberty for Java buildpack applications
- Using the Bluemix Live Sync debug feature for development mode with IBM Node.js buildpack applications
- Perform load testing on Cloud applications using simulated loads and describe the benefits of load testing
- Use Load Impact or Blazemeter 3rd party load testing services in IBM Bluemix PaaS
- Creating user scenarios
- Defining virtual user load for a test
- Analyze results from load tests
- Explain various methods to monitor an application in IBM Bluemix PaaS
- Measure application availability, CPU and heap memory usage, response time and throughput by using the Monitoring and Analytics service
- Monitoring application logs using the cf tool during staging and when the application is running
- Viewing metrics of resource utilization with IBM Auto-Scaling service
- Using instance details panel from the application overview in the dashboard
Section 4: Enhancing Cloud Applications using Managed Services
- Improve performance and scalabilty of IBM Bluemix PaaS applications with caching
- Using Data Cache service to store application data
- Using Session Cache to store and persist HTTP session objects
- Understand how to configure external authentication using IBM Bluemix PaaS web applications with the Single Sign On service (SSO)
- SSO requires the application to usean OpenID Connect client interface
- Applications using SSO can support Cloud directories, Social Media sites and Enterprise directory as identity sources
- Integration requires the implementation of an authentication callback
- Enable loosely coupled integration for IBM Bluemix PaaS applications and components by using Messaging Services
- Understand messaging use-cases and available APIs in the Message Hub service
- Explain how to configure publish/subscribe and worker offload queue topologies using Message Hub
- Explain rationale of the cf option --no-route when using the worker offload pattern
- Understand benefits and usage of MQ Light API for topic hierarchies, fault tolerance, and QoS
- Describe cognitive capabilities to process unstructured data and images in IBM Bluemix PaaS
- Alchemy Language API services include sentiment analysis, entity extraction, relationship extraction, concept tagging, text extraction, language extraction, and micro format parsing
- Alchemy Vision API services include imaging tagging, link extraction and face detection/recognition
- Understand how to store and retrieve files using the IBM Object Storage service in Bluemix
- Creation of a container in object storage service
- Perform create, upload, and list operations on an object using containers
- Purpose of metadata to store information about files in object storage
Section 5: Using DevOps Services & tools to Manage Cloud Applications
- Describe capabilities of IBM Bluemix DevOps Services
- Agile Planning: Planning and tracking features to manage collaborative work in agile teams.
- 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.
- Web code editor: A browser-based Integrated Development Environment (IDE) for cloud development
- 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.
- Source control management: Parallel development and versioning features through Git, Jazz SCM, or GitHub
- 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
- Delivery pipeline: Continuous Integration and Continuous Delivery features to rapidly deploy cloud applications
- The Delivery Pipeline allows automatically building and deploying applications to IBM's cloud platform.
- Plan and track work for agile team collaboration
- Bluemix DevOps Services - Track & Plan supports typical activities conducted during agile projects, such as backlog management, sprint planning, and daily scrums
- Understand work items in Track & Plan like epic, story, task, and defect
- Edit and debug Cloud applications using IBM Bluemix DevOps Services Web code editor
- Understand basic functionality of the Web code editor
- Using Live Edit to quickly make changes without redeploying an application
- Enable debug mode to troubleshoot an application running in IBM Bluemix PaaS
- Understand DevOps Services constraints and limitations to debug applications on Bluemix
- Understand capabilities of IBM Bluemix DevOps services source code management for projects
- Using the fork option to copy an existing DevOps project into a new project for enhancement
- Review and manage code pushes to the repository by project members
- Understand the difference between a Commit and a Push
- Describe how use the to Build & Deploy option to manage continuous integration and continuous delivery
- Understand the Delivery Pipeline service
- Role of Stages in the Delivery Pipeline and different Stage types
- Options for Stage Trigger
- Role of Jobs within a Stage and continuation options when a Job fails
- Understand relationships between changes to the source code repository and pipeline stages
Section 6: Using Data Services
- Describe the different types of data services available in IBM Bluemix PaaS
- Key characteristics of a NoSQL database service
- Key characteristics of a SQL database service
- Key characteristics of a in memory columnar database service
- Key characteristics of key value pair data service
- Key characteristics of a time series database service
- Describe the unique features of IBM Bluemix PaaS data services
- Understand the unique features of Cloudant NoSQL Database
- IBM Cloudant NoSQL DB for Bluemix is a NoSQL database as a service (DBaaS).
- Cloudant provides a RESTful API to create, read, update and delete documents
- Cloudant allows the creation of secondary indexes via the use of MapReduce
- Cloudant Query provides a declarative way to define and query indexes
- Cloudant Sync simplifies large-scale mobile development
- Understand the unique features of dashDB
- dashDB is a data warehousing service that stores relational data, including special types such as geospatial data.
- Understand the unique features of the IBM Time Series Database for Bluemix
- 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
- Manage instances of IBM Bluemix PaaS data services: Cloudant NoSQL Database, and dashDB.
- Manage instances of the Cloudant NoSQLDB service
- Create a database
- Add data to an existing database
- Edit documents in an existing database
- Clone existing documents
- Simple query of all documents in an existing database
- Manage instances of dashDB service
- Create a new table in dashDB
- Browse the contents of an existing table in dashDB
- Run SQL scripts in dashDB
- Import CSV data into dashDB
- Describe the IBM DataWorks service for Bluemix
- Summarize capabilities of DataWorks
- Perform common tasks using DataWorks
- Data Loading - Filter and move data