Achieving Developer Nirvana With Codename: BlueMix
Upcoming SlideShare
Loading in...5
×
 

Achieving Developer Nirvana With Codename: BlueMix

on

  • 2,886 views

 

Statistics

Views

Total Views
2,886
Views on SlideShare
1,720
Embed Views
1,166

Actions

Likes
1
Downloads
64
Comments
0

15 Embeds 1,166

http://thoughtsoncloud.com 1045
https://twitter.com 34
http://www.indiaonward.com 31
http://themsphub.com 13
http://feedly.com 12
http://www.slideee.com 7
http://analyst.ciradar.com 6
http://www.feedspot.com 4
http://news.google.com 4
http://hub.insight.com 3
https://translate.googleusercontent.com 3
http://xianguo.com 1
http://127.0.0.1 1
https://www.rebelmouse.com 1
http://www-935.ibm.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Achieving Developer Nirvana With Codename: BlueMix Achieving Developer Nirvana With Codename: BlueMix Presentation Transcript

  • 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 that cause suffering. 2
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 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
  • 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
  • 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 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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)
  • 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
  • Resources From Today  Slides: http://www.slideshare.net/RyanBaxter/dev- nirvanabluemix  Code: https://github.com/CodenameBlueMix/session- questions 24
  • 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 boilerplate or runtime  Boilerplate = code + service  Runtime = code 27
  • 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
  • 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 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