Tech Tip: Discovering Bluemix

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.

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

Category

Templates

Description

Starters

Boilerplates

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.

Compute

Runtimes

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

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

Security

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.

Log on to Bluemix. Then go to your dashboard by clicking the DASHBOARD menu option.

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

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

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.

Anne Grubb

Also in Bookstore News

Businesses can use data on their customers to improve those customers' experience. In Customer Experience Analytics, Dr. Arvind Sathi gives precise, coherent advice that can help your organization create and optimize customer experience analytics.

Preview the next version of IBM DB2 for z/OS--DB2 12! Written by technical experts on IBM's DB2 for z/OS team, DB2 12 for z/OS--The #1 Enterprise Databaseprovides a high-level tour of DB2's new capabilities, especially in enterprise analytics, mobile, and cloud, and performance.

Today, it's all about input and output. Getting data into the IBM i from non-traditional sources and then displaying it back out again in varied formats. Flexible Input, Dazzling Output with IBM i gives programmers all they need to know to master this critical skill.

Categories

About us

MC Press Online, LLC is the world's leading provider of educational materials for IBM Power Systems (System i, eServer i5/iSeries, and AS/400) professionals. Our mission is to deliver hands-on, nuts-and-bolts information about current and significant new technologies in the IBM field, so you can be more productive on the job and get more out of your career.

MC Press offers books, ebooks, and electronic publications that take you inside the technology, so you can find out how to best leverage the power and potential of your IBM platforms. Our books cover a wide range of topics--from hands-on, how-to programming to the most advanced communications, connectivity, and security issues facing the industry today.