How-tos

IBM Containers: Availability Zones

Share this post:

As of May 23rd IBM Bluemix Container Service now provides a native Kubernetes operations experience while removing the burden of maintaining master nodes. Kubernetes itself is based on the Docker engine for managing software images and instantiating containers. Get the details.

IBM Containers offers a great way to quickly improve the availability of your app that is running in a container group. Building upon the enhanced availability offered by anti-affinity, container groups can now be run across multiple availability zones in the US-South and London regions.

Why use availability zones?

Availability zones allow apps to be run and load balanced across multiple cloud environments of the same IBM Containers region. While the availability zones will share the same API and UI front-end, behind the scenes they are set up as separate full instances of the IBM Containers architecture with separate network and power connections. For the US-South region, both availability zones are located in Dallas. The London region offers availability zones in London and Amsterdam.

In much the same way anti-affinity provides protection from a single physical compute node failure, availability zones protect against a whole cloud failure. By running container groups in two availability zones, your application will remain reachable if one group, or even a whole availability zone becomes completely unreachable. The router will load balance between all available container groups, regardless of which availability zones these groups are running in.

How to use availability zones?

Paid accounts can use multiple availability zones and create highly available containers with global load balancing for their app. Free-trial accounts must upgrade to a paid account to use this feature.

To view the availability zone for your current space, run cf ic info and look for the Availability Zone field. If you want to create containers in a different availability zone, you must run cf create-space <space-name> to create a new space. Once you target the new space, you will use the cf ic reprovision command to provision the space in the new availability zone.
You can also change the availability zone for an existing space, but make sure to back up your containers. Containers and container groups are not migrated to the new availability zone and will be removed during the migration process. Images and volumes are not affected. After your space is reprovisioned, you can start creating your containers in the new availability zone.

For more information about creating highly available container groups across multiple availability zones, see Running highly available container groups in different spaces in the same organization.

More How-tos Stories

A hybrid Cordova mobile app with Push and Analytics in minutes

As promised while introducing "Tutorials to get your mobile development up and running", we are continuing our efforts to add more mobile solution tutorials. After quickly scaffolding a native iOS-Swift and Android mobile app with Push and Analytics, it's time to bring in the hybrid mobile app development flavor to the game with Cordova - Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development.

Continue reading

Use your own branded UI for user sign-in with App ID

With IBM Cloud App ID’s Cloud Directory feature, you can create a user registry, and add sign-up and email/password sign-in to your mobile or web app. Cloud Directory comes with a pre-built sign-in widget that you can use, or if you prefer to use your own branding, you can replace it with your own custom UI. This blog will show you how to use Cloud Directory APIs and add your own custom sign-in screen to an Android application. You can find the Android Cloud Land App on GitHub.

Continue reading

For Performant Swift Serverless actions…

While coding and drafting “Mobile app with a Serverless Backend”, We came up with an idea to use Swift on the server-side for the iOS app (it’s an interesting use case).So, that it will cater the full stack swift developers out there. The same is true for the Android version of the app as well.

Continue reading