4. Does This Sound Like Dev Nirvana?
Install runtime, container, and all libraries
Install needed services (databases, mobile, etc)
Bind the services to the application, ports/ips/firewalls
Setup dynamic routing and load-balancer
Setup four layers of built-in High-Availability
Setup streaming logging aggregation
Setup application performance monitoring
Scale the application up to X instances
Then repeat for dev, test, and production
3
5. What Is BlueMix?
A platform for running virtually any application in the cloud
without having to worry about the hardware, software, and
networking needed to do so.
This definition is usually what we refer to as a platform-as-
a-service or PaaS
BlueMix is similar to other platforms you may have heard
of
Heroku, Google App Engine, OpenShift, Pivotal One
4
6. How Everything Fits Together
A PaaS is software that is
usually running on top of an
IaaS and abstracts the
complexities of the IaaS away
BlueMix runs on top of Softlayer
Your app runs on top of
BlueMix and has no knowledge
of the IaaS layer
5
IaaS (Softlayer)
PaaS (BlueMix)
Your App
7. Why Not Just Use IaaS?
It might be just as easy to get started at the IaaS layer if
you use a prebuild image
Over time though the maintenance of this image
increases the cost
OS updates, security updates, new versions of libraries, DNS and
networking changes, configuration and maintenance of other
services like DBs, etc
At the PaaS layer all of this cost disappears! The platform
takes care of it for you!
6
8. Benefits Of Using BlueMix
Save time by just worrying about the code and not the
infrastructure
Quickly get your app in the hands of your users –
deploying your app is a matter of running a single
command
Easily add functionality to your application using IBM and
partner provided services
Use the languages, runtimes, and frameworks that you
are most familiar with
SoftLayer
7
9. BlueMix Open Beta
BlueMix is currently in open
beta, you need to register to get
going
During the beta you get 8GB of
memory to use across as many
apps as you want and can
provision up to 20 services
Register at bluemix.net, you need
an IBM ID
8
10. Lets Deploy An App!
App to enable anyone to ask questions for a session…but
we can make it even easier.
9
11. Cloud Foundry And BlueMix
BlueMix is built upon an open
source project called Cloud Foundry
IBM contributes to the project and is a
founding member of the Cloud Foundry
Foundation
All tools, documentation, and
samples for Cloud Foundry are
relevant and can be used with
BlueMix
Buildpacks, Services, CLI, Scaling,
etc are Cloud Foundry concepts
10
12. Runtimes And Buildpacks
One of the benefits of BlueMix is that it supports virtually
any runtime you may want to use
This is accomplished a psuedo-standard called
buildpacks
BlueMix has 4 built in buildpacks
Java Liberty, Node.js, Sinatra, and Ruby On Rails
If you are pushing an application using one of these languages
you do not need to specify a buildpack to use, BlueMix installs it
for you
Other runtimes are supported via community buildpacks
11
15. BlueMix Services
Services allow you to add
functionality to your application
with minimal cost and effort
Select service and plan, then bind
to your application
Once a service is bound to your
application information to use
the service is available in an
environment variable called
VCAP_SERVICES
14
16. The Cloud Foundry Command Line (CLI)
The command line will most likely be your tool of choice
when doing anything with BlueMix
Anything you will want to do in BlueMix can be accomplished
using the CLI
Pushing An Application, stopping, starting, restarting,
deleting
Create, bind, and unbind services
View and tail application logs
Documentation:
http://docs.cloudfoundry.org/devguide/installcf/whats-new-
15
17. Pushing An Application
You can push an application
using the cf push command
What you push depends on the
runtime you will use, for Java you
may push a war or jar, for Node.js
you will push the app directory
cf push will push everything in
the current directory unless you
specify the –p option
16
18. Manifest Files
cf push commands can become very verbose
cf push appName –p myapp.war –b
https://github.com/ryanjbaxter/mybuildpack -i 5
–m 512M --no-start
To avoid having to type this you can use a manifest file
When using a manifest file you just execute cf push and the CLI
will look for manifest.mf in the current directory
Manifest Generator: http://cfmanigen.ng.bluemix.net
17
20. Logging
Logging is the first step in figuring out what is wrong
You application’s logs will be written to stderr.log and
stdout.log
Logs can be viewed in the BlueMix UI by selecting your
applications runtime
Logs can be tailed from the command line – very useful!
cf logs appName
cf logs appName --recent – shows you the most recent
logs
19
21. Scaling
BlueMix allows you to scale
your application horizontally
and vertically within minutes
If the load on your application
increases/decreases you may
want to adjust the number of
instances to handle the load
If you find the resources
available to your app is tight
you can increase the memory
20
22. Dev Ops Services
21
• DevOps Solution in the cloud for building
mobile and cloud applications
• Optimized for use with BlueMix
• Integrated task tracking, agile planning,
source control with auto deploy
• Use your favorite tools or work from the
Web IDE
• Hosted Jazz SCM or Git or link to GitHub
• Public and private projects
• Continuous Integration and Deployment
with Jenkins
• Mobile quality and application
performance monitoring (coming)
27. Creating Apps In The BlueMix UI
You can create an
application in the
BlueMix UI by going to
the catalog and
choosing a boilerplate
or runtime
Boilerplate = code +
service
Runtime = code
27
28. Using The Dashboard
You will be brought to
the dashboard which
will now have a tile for
your app
Click the tile to see
additional details
about your app
28
30. Updating The Source
Downloading the source code may be good for learning
but you are most likely not going to use any of it
In fact it is not even necessary to create an app in the UI first
You will want to download and install the Cloud Foundry
Command Line tool in order to upload / create your
application
Follow the documentation here:
http://www.ng.bluemix.net/docs/BuildingWeb.jsp#install-cf
30