The Leading Educational Resource for IT Professionals

Tech Tip: Discovering Bluemix


Editor’s note: This article is an excerpt from the book IBM Cloud Platform Primer.


Bluemix is IBM’s enterprise-grade cloud development and deployment platform—in other words, Platform as a Service (PaaS). It is hosted on SoftLayer, which is IBM’s Infrastructure as a Service (IaaS). What makes Bluemix “open” is the fact that it’s built on top of and is an extension of the Cloud Foundry open-source development and deployment cloud platform. Combining the strength of IBM’s software with third-party technologies while using Cloud Foundry to keep it open, Bluemix offers an integrated development experience in the cloud. It helps both born-on-the-cloud and enterprise developers build applications with their choice of tools and languages. Bluemix features cloud integration services that enable a secure connection between an organization’s public apps and its private assets.


Note: Bluemix is a constantly evolving platform, and its capabilities, services, and user interface will all change over time. What is captured and discussed here is current as of May 2015.


With nothing to install and no need to configure anything, developers who use Bluemix are able to provision cloud environments almost immediately and accomplish tasks such as composing and hosting Web applications and mobile apps and integrating with back-end systems. Developers can select from a catalog of services to extend their applications. These services are provided by IBM or third-party partners or are obtained from open-source communities.


The fastest way to discover Bluemix is to sign up for a free trial at and start using it. After you’ve signed up to use Bluemix and received your credentials, log in.


If you view the catalog after logging in, you’ll see a display like that in Figure 1 that shows the components that are available on the Bluemix platform. The components are categorized as Starters, Services, Containers, Compute, and Provider. Starters are sample code that you can build on; alternatively, you can start from scratch. The largest component is Services, which are basically building blocks that you can use to create applications. Compute deals with Cloud Foundry or Docker images. And Provider simply points out the source of the services. There are 12 types of templates, which are listed in Table 1.



Figure 1: Categories of services in Bluemix


Table 1: Templates in Bluemix







Let you get started with a new application. You can choose from Java DB Web Server, Mobile Cloud, and Vaadin Rich Web Starter, among others.



Allow you to run an app in the language of your choice—for example, Node.js, Ruby, and PHP.



Create containers from IBM images or add your own.



Build cognitive apps that help enhance, scale, and accelerate human expertise—for example, language identification, machine translation, and relationship extraction.



Quickly get started with your next mobile app through the likes of Cloudant NoSQL DB, Push, and Twilio.



Takes you from development to deployment; Delivery Pipeline, BlazeMeter, and Load Impact are some examples.


Web and Application

Deliver new Web and mobile apps. Data Cache, MQ Light, Ustream, and Redis are a few of the many available services.



Extend existing investments and infrastructure.


Data & Analytics


Services for agile data management and refinement; examples include Cloudant NoSQL DB, and ElephantSQL.

Let you harness the power of data using tools such as BigInsights for Hadoop, dashDB, Insights for Twitter, etc.



Build security into application design using AppScan services including Single Sign-On.


Business Analytics

Analytics made easy with services for reporting and predictive modeling.


Internet of Things

Services for a new generation of apps that helps connect various things like cars and appliances.


Working with Bluemix

Once you’ve created a new app or prepared your application for the cloud, you’ll want to know about the new concept of “pushing an app” using Cloud Foundry. When you push an app, all files in the application’s project folder, except version control and configuration files, are uploaded to the Cloud Foundry instance. You can create your app by using either the Bluemix user interface or Bluemix DevOps Services. Then you can use the Cloud Foundry command-line utility, cf, to update an app and to create and bind services to the application.


If you were to create an app using the WebSphere Liberty profile, the place to start would be the Liberty for Java Starter Application, a runtime for Bluemix Liberty for Java application development. The WebSphere Application Server Liberty Profile is the container for this type of application.


Tip: You can install an Eclipse framework on your desktop to develop apps for Bluemix. The Cloud Foundry (cf) command-line utility is used to push and deploy the app.


Let’s use an example to create and deploy a simple Java app.

  1. Log on to Bluemix. Then go to your dashboard by clicking the DASHBOARD menu option.
  2. Click the CREATE AN APP link in the Applications section. Then choose WEB as the app template, as shown in Figure 2.



Figure 2: Choosing an app template


  1. From the starter apps, choose Liberty for Java, as in Figure 3. Then click CONTINUE. It’s a good idea to view the Liberty for Java docs before you continue.



Figure 3: Choosing the starter app


  1. Type a name for the app, such as MyJavaApp, and click FINISH.


The app will start immediately, and the running instance will be displayed in the dashboard, as in Figure 4.



Figure 4: Dashboard showing the app


If you hover on the link Your app is running in the APP HEALTH section on the right, details about the app are displayed.


Note: If you choose to deploy using an existing server, there will be a pause while the app is deployed.


If you click the geared wheel icon at the top right, you’ll see the app-related drop-down menu shown in Figure 5, which you can use to stop, restart, rename, or delete the app. Another nifty feature in Bluemix is that you can view the runtime charges for the app and its related services by clicking Estimate the cost of this app.



Figure 5: The app-related menu


Services, Services, Services

PaaS is all about services that developers can drag and use rather than create from scratch. At this stage, you might decide to add a service to your app. Bluemix offers many services that you can add to apps, ranging from data caching to cloud integration and from big data to mobile services. As an example, the Data Cache service improves the performance and user experience of Web applications by retrieving information from fast, managed, in-memory caches, instead of relying on slower disk-based databases.


You’ll notice that the Bluemix dashboard (Figure 4) contains a box with a plus sign (+) and the link ADD A SERVICE. Clicking the link brings up the catalog of services, from which you simply choose the service you want. For this example, let’s choose the Data Cache service, as shown in Figure 6.



Figure 6: Catalog of services


Tip: Most PaaS platforms invite you to try a free trial service. When the trial is over, you have options such as pay-as-you-go and subscription-based service levels. Bluemix offers a “free tier” for all the runtimes and services. If you choose the free tier, you pay only for usage that exceeds the free tier. For more information, refer to the pricing tab on the Bluemix user interface.


After you pick the service, make sure you specify your app from the drop-down menu. We’ll choose our sample application, called MyJavaApp, as shown in Figure 7. To see details about the service, click VIEW DOCS. When you’re ready to add the service, click CREATE.



Figure 7: Choosing an application


The app pauses for a moment during redeployment, also known as restaging. Look at the dashboard to verify that your app has been restarted. All activity related to the application is logged, as in Figure 8.



Figure 8: Bluemix dashboard view of an app


In the application navigation pane on the left (Figure 9), you’ll see menu options related to your app and a list of services that have been added to the app. Click Start Coding.



Figure 9: The application navigation pane


Want to Know More?

Check out the book IBM Cloud Platform Primer.


Author Bio

Also in Bookstore News

Need Cross-Platform Data Access? This Book Can Help


Extract, Transform, and Load with SQL Server Integration Services, now available from MC Press, shows you how to build a handy, reusable cross-platform data access solution using familiar software tools—SSIS, Visual Studio, and others—to access data on SQL Server, IBM Db2, Oracle, or any platform that supports OLE DB or ODBC.

Continue Reading →

New from MC Press: Developing Business Applications for the Web


Developing Business Applications for the WebWhether you are a novice or experienced developer, you will find Developing Business Applications for the Web - With HTML, CSS, JSP, PHP, ASP.NET, and JavaScript to be essential reading to hone your Web development skills in building applications that perform business tasks.

Continue Reading →

New from MC Press: Identity Management: A Business Perspective


Identity Management: A Business PerspectiveTechnology advances like cloud, mobile, and Internet of Things have made identity and access management more important than ever, and also more complex. How can business leaders get a handle on their evolving identity needs? By making identity management a core part of business strategy, says Graham Williamson in his latest book, Identity Management: A Business Perspective.

Continue Reading →