The Leading Educational Resource for IT Professionals

Tech Tip: Discovering Bluemix

by Anne Grubb August 24, 2016 0 Comments

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 www.ibm.com/cloud-computing/bluemix/dedicated/ 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

 

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.

 

Containers

Create containers from IBM images or add your own.

Services

Watson

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

 

Mobile

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

 

DevOps

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.

 

Integration

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.

 

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.

  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.

 

081916IyengarFigure2

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.

 

081916IyengarFigure3 

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.

 

081916IyengarFigure4

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.

 

081916IyengarFigure5

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.

 

081916IyengarFigure6

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.

 

081916IyengarFigure7

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.

 

081916IyengarFigure8

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.

 

081916IyengarFigure9

Figure 9: The application navigation pane

 

Want to Know More?

Check out the book IBM Cloud Platform Primer.

 

Author Bio




Anne Grubb
Anne Grubb

Author



Also in Bookstore News

Book Review: Flexible Input, Dazzling Output with IBM i

by Anne Grubb September 14, 2016 0 Comments

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.

Continue Reading →

Book Review: Evolve Your RPG Coding--Move from OPM to ILE ... and Beyond

by Anne Grubb August 16, 2016 0 Comments

Evolve Your RPG Coding: Move from OPM to ILE ... and Beyond provides an amazingly comprehensive introduction to ILE RPG programming concepts while at the same time delivering enough technical detail to make you productive very quickly.

Continue Reading →

Book Review: Database Design and SQL for DB2

by Anne Grubb August 08, 2016 0 Comments

If you have time for just one book to begin your journey into SQL on the IBM i, Database Design and SQL for DB2 is that book. It provides everything an IBM i programmer needs in order to become productive with SQL, particularly in an ILE RPG environment.

Continue Reading →