0
Achieving Developer Nirvana With
Codename: BlueMix
By: Ryan Baxter
@ryanjbaxter
http://ryanjbaxter.com
Not The Band
1
Definition
nirvana
/nərˈvänə,nir-/
In the Buddhist tradition, nirvana is described as the
extinguishing of the fires tha...
Does This Sound Like Dev Nirvana?
 Install runtime, container, and all libraries
 Install needed services (databases, mo...
What Is BlueMix?
 A platform for running virtually any application in the cloud
without having to worry about the hardwar...
How Everything Fits Together
 A PaaS is software that is
usually running on top of an
IaaS and abstracts the
complexities...
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...
Benefits Of Using BlueMix
 Save time by just worrying about the code and not the
infrastructure
 Quickly get your app in...
BlueMix Open Beta
 BlueMix is currently in open
beta, you need to register to get
going
 During the beta you get 8GB of
...
Lets Deploy An App!
App to enable anyone to ask questions for a session…but
we can make it even easier.
9
Cloud Foundry And BlueMix
 BlueMix is built upon an open
source project called Cloud Foundry
 IBM contributes to the pro...
Runtimes And Buildpacks
 One of the benefits of BlueMix is that it supports virtually
any runtime you may want to use
 T...
You Choose The Runtime!
12
Buildpack Anatomy
13
Runtime
Container Libraries
Application
Buildpack
BlueMix Services
 Services allow you to add
functionality to your application
with minimal cost and effort
 Select servi...
The Cloud Foundry Command Line (CLI)
 The command line will most likely be your tool of choice
when doing anything with B...
Pushing An Application
 You can push an application
using the cf push command
 What you push depends on the
runtime you ...
Manifest Files
 cf push commands can become very verbose
 cf push appName –p myapp.war –b
https://github.com/ryanjbaxter...
Sample Manifest File
 Command Line
cf push appName –p myapp.war –b
https://github.com/ryanjbaxter/mybuildpack -i 5 –m
512...
Logging
 Logging is the first step in figuring out what is wrong
 You application’s logs will be written to stderr.log a...
Scaling
 BlueMix allows you to scale
your application horizontally
and vertically within minutes
 If the load on your ap...
Dev Ops Services
21
• DevOps Solution in the cloud for building
mobile and cloud applications
• Optimized for use with Blu...
Resources
 Documentation:
https://www.ng.bluemix.net/docs/index.jsp
 developerWorks: http://developer.ibm.com/bluemix
 ...
Resources From Today
 Slides: http://www.slideshare.net/RyanBaxter/dev-
nirvanabluemix
 Code: https://github.com/Codenam...
Thank you.
Join the beta at: www.bluemix.net
Backup
Creating Apps In The BlueMix UI
 You can create an
application in the
BlueMix UI by going to
the catalog and
choosing a b...
Using The Dashboard
 You will be brought to
the dashboard which
will now have a tile for
your app
 Click the tile to see...
View The Guide To Download The Source
29
Updating The Source
 Downloading the source code may be good for learning
but you are most likely not going to use any of...
Upcoming SlideShare
Loading in...5
×

Achieving Developer Nirvana With Codename: BlueMix

4,629

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,629
On Slideshare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
125
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Achieving Developer Nirvana With Codename: BlueMix"

  1. 1. Achieving Developer Nirvana With Codename: BlueMix By: Ryan Baxter @ryanjbaxter http://ryanjbaxter.com
  2. 2. Not The Band 1
  3. 3. Definition nirvana /nərˈvänə,nir-/ In the Buddhist tradition, nirvana is described as the extinguishing of the fires that cause suffering. 2
  4. 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. 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. 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. 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. 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. 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. 10. Lets Deploy An App! App to enable anyone to ask questions for a session…but we can make it even easier. 9
  11. 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. 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
  13. 13. You Choose The Runtime! 12
  14. 14. Buildpack Anatomy 13 Runtime Container Libraries Application Buildpack
  15. 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. 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. 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. 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
  19. 19. Sample Manifest File  Command Line cf push appName –p myapp.war –b https://github.com/ryanjbaxter/mybuildpack -i 5 –m 512M --no-start  manifest.mf File --- applications: - name: appName memory: 513M instances: 5 buildpack: https://github.com/ryanjbaxter/mybuildpack services: - todo-mongo-db 18
  20. 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. 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. 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)
  23. 23. Resources  Documentation: https://www.ng.bluemix.net/docs/index.jsp  developerWorks: http://developer.ibm.com/bluemix  Sample Apps & Tutorials: https://www.ibmdw.net/bluemix/docs/articles/, https://www.ibmdw.net/bluemix/docs/sample-code/  Developer Forum: https://www.ibmdw.net/answers/?community=bluemix  Blog: https://www.ibmdw.net/bluemix/blog/  Twitter: #BlueMix, @IBMBlueMix 23
  24. 24. Resources From Today  Slides: http://www.slideshare.net/RyanBaxter/dev- nirvanabluemix  Code: https://github.com/CodenameBlueMix/session- questions 24
  25. 25. Thank you. Join the beta at: www.bluemix.net
  26. 26. Backup
  27. 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. 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
  29. 29. View The Guide To Download The Source 29
  30. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×