IBM Cloud Private Application Developer's Guide

Book description

IBM® Cloud Private is an application platform for developing and managing containerized applications across hybrid cloud environments, on-premises and public clouds. It is an integrated environment for managing containers that includes the container orchestrator Kubernetes, a private image registry, a management console, and monitoring frameworks.

This IBM Redbooks® publication covers tasks that are performed by IBM Cloud™ Private application developers, such as deploying applications, application packaging with helm, application automation with DevOps, using Microclimate, and managing your service mesh with Istio.

The authors team has many years of experience in implementing IBM Cloud Private and other cloud solutions in production environments. Throughout this book, we used the approach of providing you the recommended practices in those areas.

As part of this project, we also developed several code examples, which can be downloaded from the Redbooks GitHub web page.

If you are an IBM Cloud Private application developer, this book is for you. If you are an IBM Cloud Private systems administrator, you can see the IBM Redbooks publication IBM Private Cloud Systems Administrator's Guide, SG248440.

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. Chapter 1. Highly available workloads and deployment on IBM Cloud Private
    1. 1.1 Highly available workloads on IBM Cloud Private
      1. 1.1.1 High-availability cluster models for workload deployment
    2. 1.2 High availability versus failover
    3. 1.3 Horizontal Pod Autoscaler for IBM Cloud Private
    4. 1.4 Deploy Spring Boot application on WebSphere Liberty Helm chart
      1. 1.4.1 Sample application
      2. 1.4.2 Deploying the application with the WebSphere Liberty Helm chart
      3. 1.4.3 Deploying with NodePort service exposure
      4. 1.4.4 Deploying with Ingress Transport Layer Security termination
    5. 1.5 Zero downtime deployment updates
      1. 1.5.1 Kubernetes deployment strategy
      2. 1.5.2 Sample application
      3. 1.5.3 Deploying the image to IBM Cloud Private
      4. 1.5.4 Zero downtime update
      5. 1.5.5 Validation
    6. 1.6 Other deployment strategies implemented with native Kubernetes
      1. 1.6.1 Blue/green deployment
      2. 1.6.2 Canary deployment
    7. 1.7 Deploying a sample stateful application
      1. 1.7.1 Prerequisite: Setting up an NFS server
      2. 1.7.2 Creating a persistence volume and persistence volume claim
      3. 1.7.3 Creating a Nginx app
  5. Chapter 2. Helm and application packaging
    1. 2.1 Introduction to Helm
    2. 2.2 Helm chart structure
      1. 2.2.1 Helm chart metadata
      2. 2.2.2 Helm templates
      3. 2.2.3 Helm values
      4. 2.2.4 Templating language hints and tips
    3. 2.3 Creating a chart
      1. 2.3.1 Making your Helm chart flexible
      2. 2.3.2 Sample application
      3. 2.3.3 Embedding MongoDB chart as prerequisite
      4. 2.3.4 Testing Helm charts
      5. 2.3.5 Upgrading Helm charts
    4. 2.4 IBM Cloud Paks
      1. 2.4.1 What is an IBM Cloud Pak?
      2. 2.4.2 Developing Helm charts for IBM Cloud Private
  6. Chapter 3. DevOps and application automation
    1. 3.1 DevOps overview
      1. 3.1.1 Benefits of DevOps
      2. 3.1.2 Continuous business planning
      3. 3.1.3 Continuous integration and collaborative development
      4. 3.1.4 Continuous testing
      5. 3.1.5 Continuous release and deployment
      6. 3.1.6 Continuous monitoring
      7. 3.1.7 Continuous customer feedback and optimization
    2. 3.2 DevOps tooling options
      1. 3.2.1 Code Editors tooling options
      2. 3.2.2 Microservice builder tooling options
      3. 3.2.3 Source code management tooling options
      4. 3.2.4 Build, Test, and Continuous Integration tools
    3. 3.3 Introduction to Microclimate
    4. 3.4 Sample DevOps scenario with Microclimate
      1. 3.4.1 Installing Microclimate on IBM Cloud Private
      2. 3.4.2 Creating a hello world app by using Microclimate
      3. 3.4.3 Creating build and deployment pipelines
      4. 3.4.4 Continuous integration and deployment in action
  7. Chapter 4. Managing your service mesh by using Istio
    1. 4.1 Introduction
    2. 4.2 Traffic management and application deployment
      1. 4.2.1 Setup prerequisites
      2. 4.2.2 Deploying the application versions 1.0 and 1.1
      3. 4.2.3 Creating an Istio gateway and destination rule
      4. 4.2.4 Canary testing with Istio
      5. 4.2.5 Blue-green testing with Istio
      6. 4.2.6 A/B testing with Istio
      7. 4.2.7 Mirroring the traffic by using Istio
    3. 4.3 Application testing
      1. 4.3.1 Creating an instance of the Watson Language Translator service
      2. 4.3.2 Cloning GitHub repository including microservice sample code
      3. 4.3.3 Deploying and testing the microservice on IBM Cloud Private
      4. 4.3.4 Defining an Istio egress rule to integrate with an external service
      5. 4.3.5 Exposing services to be used externally through defining ingress rules
      6. 4.3.6 Handling an unreliable external service by simulating different failures through Istio abort and delay injection
      7. 4.3.7 Enhancing the application resiliency by setting request timeouts and adding automatic retry attempts
    4. 4.4 Enforcing policy controls
  8. Chapter 5. Application development with Cloud Foundry
    1. 5.1 Introduction
    2. 5.2 What is Cloud Foundry?
    3. 5.3 Application high availability
    4. 5.4 Autoscale
    5. 5.5 Using external services 
    6. 5.6 Application packaging
    7. 5.7 IBM buildpacks versus community
    8. 5.8 Zero downtime deployment
    9. 5.9 Command lines
    10. 5.10 Sample application to use
  9. Appendix A. Additional material
    1. Locating the GitHub material
    2. Cloning the GitHub material
  10. Related publications
    1. IBM Redbooks
    2. Online resources
    3. Help from IBM
  11. Back cover

Product information

  • Title: IBM Cloud Private Application Developer's Guide
  • Author(s): Ahmed Azraq, Wlodek Dymaczewski, Fernando Ewald, Luca Floris, Rahul Gupta, Vasfi Gucer, Anil Patil, Joshua Packer, Sanjay Singh, Sundaragopal Venkatraman, Zhi Min Wen
  • Release date: May 2019
  • Publisher(s): IBM Redbooks
  • ISBN: 9780738457628