Essentials of Cloud Application Development on IBM Bluemix

Book description

Abstract

This IBM® Redbooks® publication is based on the Presentations Guide of the course Essentials of Cloud Application Development on IBM Bluemix that was developed by the IBM Redbooks team in partnership with IBM Skills Academy Program.

This course is designed to teach university students the basic skills that are required to develop, deploy, and test cloud-based applications that use the IBM Bluemix® cloud services.

The primary target audience for this course is university students in undergraduate computer science and computer engineer programs with no previous experience working in cloud environments. However, anyone new to cloud computing can also benefit from this course.

After completing this course, you should be able to accomplish the following tasks:


  • Define cloud computing

  • Describe the factors that lead to the adoption of cloud computing

  • Describe the choices that developers have when creating cloud applications

  • Describe infrastructure as a service, platform as a service, and software as a service

  • Describe IBM Bluemix and its architecture

  • Identify the runtimes and services that IBM Bluemix offers

  • Describe IBM Bluemix infrastructure types

  • Create an application in IBM Bluemix

  • Describe the IBM Bluemix dashboard, catalog, and documentation features

  • Explain how the application route is used to test an application from the browser

  • Create services in IBM Bluemix

  • Describe how to bind services to an application in IBM Bluemix

  • Describe the environment variables that are used with IBM Bluemix services

  • Explain what are IBM Bluemix organizations, domains, spaces, and users

  • Describe how to create an IBM SDK for Node.js application that runs on IBM Bluemix

  • Explain how to manage your IBM Bluemix account with the Cloud Foundry CLI

  • Describe how to set up and use the IBM Bluemix plug-in for Eclipse

  • Describe the role of Node.js for server-side scripting

  • Describe IBM Bluemix DevOps Services and the capabilities of IBM DevOps Services

  • Identify the Web IDE features in IBM Bluemix DevOps

  • Describe how to connect a Git repository client to Bluemix DevOps Services project

  • Explain the pipeline build and deploy processes that IBM Bluemix DevOps Services use

  • Describe how IBM Bluemix DevOps Services integrate with the IBM Bluemix cloud

  • Describe the agile planning tools in IBM Bluemix

  • Describe the characteristics of REST APIs

  • Explain the advantages of the JSON data format

  • Describe an example of REST APIs using Watson

  • Describe the main types of data services in IBM Bluemix

  • Describe the benefits of IBM Cloudant®

  • Explain how Cloudant databases and documents are accessed from IBM Bluemix

  • Describe how to use REST APIs to interact with Cloudant database

  • Describe Bluemix mobile backend as a service (MBaaS) and the MBaaS architecture

  • Describe the Push Notifications service

  • Describe the App ID service

  • Describe the Kinetise service

  • Describe how to create Bluemix Mobile applications by using MobileFirst Services Starter Boilerplate

  • The workshop materials were created in June 2017. Therefore, all IBM Bluemix features that are described in this Presentations Guide and IBM Bluemix user interfaces that are used in the examples are current as of June 2017.

    Table of contents

    1. Front cover
    2. Notices
      1. Trademarks
    3. Preface
      1. Authors
      2. Now you can become a published author, too!
      3. Comments welcome
      4. Stay connected to IBM Redbooks
    4. Unit 1. Introduction to cloud computing and IBM Bluemix
      1. 1.1 What you should be able to do
      2. 1.2 References
      3. 1.3 What is cloud computing?
      4. 1.4 As opposed to…
      5. 1.5 Factors contributing to growth of cloud
      6. 1.6 Cloud and mobile computing are changing traditional IT
      7. 1.7 Cloud service models
      8. 1.8 Infrastructure as a service architecture
      9. 1.9 IBM SoftLayer: IaaS offering from IBM
      10. 1.10 Platform as a service (PaaS) architecture
      11. 1.11 Software as a service (SaaS) architecture
      12. 1.12 Split of provider-side and consumer-side responsibilities
      13. 1.13 Cloud computing: Benefits for developers
      14. 1.14 What is IBM Bluemix?
      15. 1.15 IBM Bluemix ecosystem
      16. 1.16 Bluemix architectural overview
      17. 1.17 Bluemix: Choice of runtimes
      18. 1.18 Bluemix: Services
      19. 1.19 Bluemix: Regions
      20. 1.20 Unit summary
      21. 1.21 Checkpoint questions
      22. 1.22 Checkpoint answers
    5. Unit 2. Getting started with IBM Bluemix
      1. 2.1 What you should be able to do
      2. 2.2 References
      3. 2.3 Getting started: Creating an IBM Bluemix account
      4. 2.4 IBM Bluemix infrastructure types
      5. 2.5 What can you build in IBM Bluemix?
      6. 2.6 Cloud Foundry Apps, Containers, and Virtual Servers
      7. 2.7 Containers versus Virtual Servers
      8. 2.8 IBM Bluemix catalog: Infrastructure
      9. 2.9 IBM Bluemix catalog: Apps
      10. 2.10 IBM Bluemix catalog: Boilerplates
      11. 2.11 IBM Bluemix catalog: Cloud Foundry Apps
      12. 2.12 IBM Bluemix catalog: Containers
      13. 2.13 IBM Bluemix catalog: OpenWhisk
      14. 2.14 IBM Bluemix catalog: Mobile
      15. 2.15 IBM Bluemix catalog: Services
      16. 2.16 Creating an IBM Bluemix application (1 of 3)
      17. 2.17 Creating an IBM Bluemix application (2 of 3)
      18. 2.18 IBM Bluemix app name must be unique across domain
      19. 2.19 Creating an IBM Bluemix application (3 of 3)
      20. 2.20 IBM Bluemix Dashboard
      21. 2.21 IBM Bluemix Application Details page
      22. 2.22 Testing applications through the application route
      23. 2.23 Adding an IBM Bluemix service
      24. 2.24 Binding a service to an application
      25. 2.25 IBM Bluemix environment variables
      26. 2.26 IBM Bluemix organizations and users (team members)
      27. 2.27 IBM Bluemix domains and quota
      28. 2.28 IBM Bluemix organizations: Spaces
      29. 2.29 IBM Bluemix organizations: User roles
      30. 2.30 Managing IBM Bluemix organizations
      31. 2.31 Inviting users to an organization
      32. 2.32 Unit summary
      33. 2.33 Checkpoint questions
      34. 2.34 Checkpoint answers
    6. Unit 3. Developing IBM Bluemix applications from a local workstation
      1. 3.1 What you should be able to do
      2. 3.2 References
      3. 3.3 Node.js
      4. 3.4 Options to develop and deploy your IBM Bluemix app
      5. 3.5 Overview of bx and cf command-line interfaces
      6. 3.6 Why use command-line tools?
      7. 3.7 Reviewing the documentation
      8. 3.8 Using the cf CLI, Step 1: Install the cf CLI
      9. 3.9 Using the cf CLI, Step 2: Connect to your IBM Bluemix account
      10. 3.10 Using the cf CLI, Step 3: Deploy your application to IBM Bluemix
      11. 3.11 Using the IBM Bluemix CLI, Step 1: Install the IBM Bluemix CLI
      12. 3.12 Using the IBM Bluemix CLI, Step 2: Connect to your IBM Bluemix account
      13. 3.13 Using the IBM Bluemix CLI, Step 3: Deploy your application to IBM Bluemix
      14. 3.14 Test your IBM Bluemix application
      15. 3.15 IBM Bluemix and Eclipse
      16. 3.16 Step 1: Review the documentation
      17. 3.17 Step 2: Install the latest version of Eclipse
      18. 3.18 Step 3: Install Eclipse and Eclipse tools for IBM Bluemix
      19. 3.19 Step 4: Connect to your IBM Bluemix account
      20. 3.20 Step 5: Create a Node.js application project
      21. 3.21 Unit summary
      22. 3.22 Checkpoint questions
      23. 3.23 Checkpoint answers
    7. Unit 4. Using IBM Bluemix DevOps services
      1. 4.1 What you should be able to do
      2. 4.2 References
      3. 4.3 What is DevOps?
      4. 4.4 Benefits of DevOps
      5. 4.5 What is IBM Bluemix DevOps Services?
      6. 4.6 What services does IBM Bluemix DevOps provide?
      7. 4.7 Additional DevOps tool Integration
      8. 4.8 Setting up an IBM Bluemix DevOps Services project
      9. 4.9 New tab opens to create Continuous Delivery toolchains
      10. 4.10 Web IDE: Edit Code features
      11. 4.11 Web integrated development environment
      12. 4.12 Editing source code
      13. 4.13 Editor features: Code completion
      14. 4.14 Editor features: Run bar
      15. 4.15 Bluemix Live Sync features
      16. 4.16 Source control with a Git repository
      17. 4.17 Git repository overview
      18. 4.18 Connect a Git client to your IBM Bluemix DevOps project
      19. 4.19 IBM Bluemix DevOps Services: Delivery Pipeline
      20. 4.20 Customizing the delivery pipeline
      21. 4.21 Example: Default delivery pipeline
      22. 4.22 Configuring the Build Stage
      23. 4.23 Configuring Build jobs
      24. 4.24 Configuring Deploy jobs
      25. 4.25 Configuring Test job
      26. 4.26 Example: A successful build and deploy result
      27. 4.27 Issue Tracking tool
      28. 4.28 Creating an issue
      29. 4.29 Unit summary
      30. 4.30 Checkpoint questions
      31. 4.31 Checkpoint answers
    8. Unit 5. REST architecture and Watson APIs
      1. 5.1 What you should be able to do
      2. 5.2 References
      3. 5.3 What is REST?
      4. 5.4 Applying REST to server-side applications
      5. 5.5 Example: Application model architecture for REST services
      6. 5.6 What is a RESTful web service?
      7. 5.7 Example: Sending an HTTP request to a REST service
      8. 5.8 Example: Receiving an HTTP response from a REST service
      9. 5.9 REST characteristics
      10. 5.10 Introduction to JSON
      11. 5.11 JSON data types
      12. 5.12 JSON data type: Objects
      13. 5.13 JSON data type: Arrays
      14. 5.14 What is Watson?
      15. 5.15 Watson Services in IBM Bluemix
      16. 5.16 Watson API Explorer
      17. 5.17 Example: Watson API Explorer - Natural Language Understanding (Authors)
      18. 5.18 Unit summary
      19. 5.19 Checkpoint questions
      20. 5.20 Checkpoint answers
    9. Unit 6. Introduction to data services in IBM Bluemix
      1. 6.1 What you should be able to do
      2. 6.2 References
      3. 6.3 Database choices on Bluemix
      4. 6.4 Data services in IBM Bluemix catalog
      5. 6.5 Cloudant capabilities
      6. 6.6 Cloudant in IBM Bluemix versus Cloudant.com
      7. 6.7 Documents in Cloudant
      8. 6.8 Getting started with Cloudant on IBM Bluemix
      9. 6.9 IBM Bluemix Cloudant: VCAP_SERVICES
      10. 6.10 Cloudant Dashboard
      11. 6.11 Cloudant REST API
      12. 6.12 Sample database at Cloudant
      13. 6.13 Reading a document in Cloudant
      14. 6.14 View all documents
      15. 6.15 More Cloudant REST APIs
      16. 6.16 Cloudant query
      17. 6.17 HTTP status codes
      18. 6.18 Unit summary
      19. 6.19 Checkpoint questions
      20. 6.20 Checkpoint answers
    10. Unit 7. IBM Bluemix mobile backend as a service
      1. 7.1 What you should be able to do
      2. 7.2 References
      3. 7.3 What is mobile backend as a service (MBaaS)?
      4. 7.4 IBM Mobile backend services (1 of 2)
      5. 7.5 IBM Mobile backend services (2 of 2)
      6. 7.6 MBaaS architecture
      7. 7.7 Push Notifications service
      8. 7.8 Push notification process
      9. 7.9 Configuring push notifications in IBM Bluemix
      10. 7.10 Sending manual notifications from Bluemix
      11. 7.11 App ID service
      12. 7.12 App ID Authentication options
      13. 7.13 App ID architecture
      14. 7.14 What is Kinetise?
      15. 7.15 How to use Kinetise
      16. 7.16 MobileFirst Services Starter Boilerplate
      17. 7.17 Unit summary
      18. 7.18 Checkpoint questions
      19. 7.19 Checkpoint answers
    11. Back cover

    Product information

    • Title: Essentials of Cloud Application Development on IBM Bluemix
    • Author(s): Ahmed Azraq, Hala A. Aziz, Mohamed El-Khouly, Sally Fikry, Ahmed S. Hassan, Ben Smith
    • Release date: August 2017
    • Publisher(s): IBM Redbooks
    • ISBN: 9780738442662