Codestrong 2012 breakout session developing i phone and android apps using titanium and red hat's openshift
1. Mobilize MongoDB
with Titanium & OpenShift
Grant Shipley
Developer Evangelist, Red Hat
@gshipley
1 Grant Shipley - @gshipley
2. What’s Titanium Studio?
Eclipse-based IDE
Build, test and deploy mobile apps from a single IDE
HTML5, CSS3, JavaScript, Ruby, Rails, PHP and Python
Source Control (Git)
Code Assist
Debugger
Terminal
Backed by Appcelerator
2 Grant Shipley - @gshipley
3. What is MongoDB?
Document-orientated
High performance
High availability
Easy scalability
JSON Document Store – Perfect for Titanium
3 Grant Shipley - @gshipley
4. Level Set
• Cloud computing will
• Save the world
• Feed all the children
• Shelter all the homeless
• Create world peace
• Save us from the zombie invasion
• Automagically correct your terrible photos
4 Grant Shipley - @gshipley
7. Infrastructure-as-a-Service
Servers in the Cloud
You must build and manage everything
(OS, App Servers, DB, App, etc.)
“How do I use this?”
7 Grant Shipley - @gshipley
8. Software-as-a-Service
Someone else’s app in the Cloud (CRM, etc.)
You are restricted to the features of the 3rd Party application
“I’m not sure this does
what I need.”
8 Grant Shipley - @gshipley
9. Platform-as-a-Service
• Quickly build the Application that YOU need for
• Your Group, your Enterprise, your next great idea!
• Big data, mobile, social
• You code the application, We run it for you
• Leverage the ease, scale and power of the Cloud
Code Deploy Enjoy
9 Grant Shipley - @gshipley
10. Why Deploy Apps to OpenShift?
Fast
Free
Easy
Scalable
10 Grant Shipley - @gshipley
11. FAST Deployments!
rhc app create –a my_app –t my_lang
11 Grant Shipley - @gshipley
13. Work the Way YOU Want to Work
Eclipse plug-ins, Cloud-based IDEs, Dashboard
REST API
Command-line tools
Shell access
Support Git
Pre/post deploy, pre/post install hooks
Jenkins and Maven built-in
Runs on AWS – leverage their ecosystem
Pluggable cartridges for partners & devs (coming soon)
13 Grant Shipley - @gshipley
14. Plus: Titanium Rocks on OpenShift!
• 3 FREE Instances
• Integrated with Studio
• Log Tailing
• Snapshots
• Database Support
• Automatic Scaling
14 Grant Shipley - @gshipley
15. Sign Up Already – It’s Free.
promo code: codestrong
15 Grant Shipley - @gshipley
16. Let’s Put It All Together!
Develop. Run. You’re Awesome.
16 Grant Shipley - @gshipley
17. Did I Mention OpenShift is FREE?
17 Grant Shipley - @gshipley
18. Got Questions? We Have Answers!
IRC: freenode #openshift
Forums: http://www.redhat.com/openshift/forums
Email: openshift@redhat.com
Twitter: @openshift
Grant on Twitter: @gshipley
Source code: www.github.com/BeerShift
18 Grant Shipley - @gshipley
Notas del editor
So, what you need is the ease of use and access of a SaaS application, but you need it with your purpose-built, mission-critical, applications. PaaS gives you just that. It allows you to quickly and easily build the application that YOU need. Whether this is for your group, your enterprise, or your next BIG IDEA, you can build it and launch your specific code on a PaaS and not have to deal with the underlying infrastructure, middleware, and management headaches. Because of the built-in auto-scaling and elasticity provided by the PaaS infrastructure, PaaS's are ideal for modern data-hungry Big Data, Mobile, and Social applications. With a PaaS, you can focus on what you should be focused on... your application code. And let the Cloud provide what it is suppose to: Ease, Scale and Power
With Software-as-a-Service, or SaaS, almost all of the application development problem is actually taken away because someone else has already built the application. With SaaS, a vendor builds a business application and then hosts it in a “cloud” and provides internet access to it for B2B or B2C customers. The challenge with SaaS applications is that since they are “one size fits all”, they may not meet your specific business requirements. Your business or startup may have a need for functionality that is not available within the SaaS application. What if you had the ease of SaaS, but with your business requirements built in?
How does PaaS compare to other Cloud Computing models? Let's take a look... Cloud Computing is often divided into three different types of offerings: Infastructure-as-a-Service, Software-as-a-Service, and Platform-as-a-Service. Let's first examine IaaS... IaaS essentially represents access to “servers” in the cloud. Operating system images are allocated a given amount of hardware resources upon creation by a user. Amazon EC2 is a great example of IaaS. Beyond the OS and the HW resource specs, everything else is up to the user. The user must provision any software, middleware, etc. onto these server images. In essence, the amount and type of work that IT has to do remains very similar to their historical Datacenter jobs. The only difference is that the resources can be created and destroyed more easily. While IaaS provides some advantages (over the old school ways) in terms of elasticity and agility, it doesn't make life much easier for folks wanting to build and deploy applications.
With Software-as-a-Service, or SaaS, almost all of the application development problem is actually taken away because someone else has already built the application. With SaaS, a vendor builds a business application and then hosts it in a “cloud” and provides internet access to it for B2B or B2C customers. The challenge with SaaS applications is that since they are “one size fits all”, they may not meet your specific business requirements. Your business or startup may have a need for functionality that is not available within the SaaS application. What if you had the ease of SaaS, but with your business requirements built in?
So, what you need is the ease of use and access of a SaaS application, but you need it with your purpose-built, mission-critical, applications. PaaS gives you just that. It allows you to quickly and easily build the application that YOU need. Whether this is for your group, your enterprise, or your next BIG IDEA, you can build it and launch your specific code on a PaaS and not have to deal with the underlying infrastructure, middleware, and management headaches. Because of the built-in auto-scaling and elasticity provided by the PaaS infrastructure, PaaS's are ideal for modern data-hungry Big Data, Mobile, and Social applications. With a PaaS, you can focus on what you should be focused on... your application code. And let the Cloud provide what it is suppose to: Ease, Scale and Power