Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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

6,325 views

Published on

Published in: Technology
  • Nice Job!.... STARTUPS get funding...Send your pitchdeck to over 5700 of VC's and Angel's with just 1 click. Visit: Angelvisioninvestors.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

×