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

Like this? Share it with your network

Share

Achieving Developer Nirvana With Codename: BlueMix

  • 3,572 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,572
On Slideshare
1,999
From Embeds
1,573
Number of Embeds
20

Actions

Shares
Downloads
88
Comments
0
Likes
1

Embeds 1,573

http://thoughtsoncloud.com 1,400
https://twitter.com 72
http://www.indiaonward.com 36
http://themsphub.com 15
http://feedly.com 12
http://www.slideee.com 7
http://analyst.ciradar.com 6
http://news.google.com 5
http://www.feedspot.com 4
https://translate.googleusercontent.com 3
http://hub.insight.com 3
http://lnkd.in 2
http://smashingreader.com 1
http://www.google.com.mx 1
https://www.linkedin.com 1
http://xianguo.com 1
https://www.rebelmouse.com 1
http://127.0.0.1 1
http://www-935.ibm.com 1
http://www.google.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Achieving Developer Nirvana With Codename: BlueMix By: Ryan Baxter @ryanjbaxter http://ryanjbaxter.com
  • 2. Not The Band 1
  • 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. 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
  • 13. You Choose The Runtime! 12
  • 14. Buildpack Anatomy 13 Runtime Container Libraries Application Buildpack
  • 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
  • 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. 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)
  • 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. Resources From Today  Slides: http://www.slideshare.net/RyanBaxter/dev- nirvanabluemix  Code: https://github.com/CodenameBlueMix/session- questions 24
  • 25. Thank you. Join the beta at: www.bluemix.net
  • 26. Backup
  • 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
  • 29. View The Guide To Download The Source 29
  • 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