Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Lucas Carlson
Programming for PaaS
Dedication
Preface
Programming Is Hard
Writing Code That Works on PaaS
Audience
The Structure of This Book
Conventions Used in This Book
Safari® Books Online
How to Contact Us
Acknowledgments
1. The Cloud for Developers
The Developer’s Plight
What the Cloud Has Done for Innovation
The Cloud: A Brief History for Programmers
Introducing APIs
Along Comes DevOps
The Arrival of Application Lifecycle Management
The Next-Generation Cloud with Platform-as-a-Service
The Core of the Cloud
Managed Platforms versus Productized Platforms
The Cloud’s Promise (or Hype)
The Cloud in Five Years
The Promise Fulfilled
2. What Is PaaS?
Conjuring a Website
Early Options for Developers
Shared Web Hosting
Dedicated Hosting
Colocated servers
Managed servers
Virtual private servers
Infrastructure-as-a-Service
Comparing costs
PaaS: The Best of Both Worlds
The Developer’s Holy Grail
Sharing the Load
Language Considerations
PaaS Pricing
Is PaaS Really New or Just IaaS++?
Looking at atomic units
IaaS versus PaaS
PaaS: A Vital Tool for Modern Apps
Moving Toward Higher-Level Languages
Managing the Backend
Conjuring Confidence
3. Types of PaaS
Non-Portable: Following a Template
Force.com
Google App Engine
Windows Azure
Non-Portable Conclusion
Portable: No Heavy Lifting Required
Heroku
Cloud Foundry
AppFog
dotCloud
CloudBees
Summary: Where Do You Want to Live?
Dealing with Legacy and Greenfield Apps
Tapping Into Services
Moving Toward Open Standards
The Allure of Open Source
Evaluating Your Legacy
4. Moving Legacy Apps to PaaS
Initial Considerations
Sidestepping Potential Problems
Common Questions to Ask Yourself
Even More Legacy Code Issues
Overview
Asset Hosting
All About Blob
PHP with Amazon S3
Node.js with Azure Blob Service
Generalized Asset Hosting Functions in Ruby for Rackspace Cloud Files
Uploading with Plug-ins
Session Management
PHP
Node.js
Ruby
Java
Caching
Filling In the Pieces
Caching with memcached in PHP
Caching with MongoDB in Node.js
Generalized Caching Functions in Ruby for Redis
Asynchronous Processing
Serving Up Stored Data
How to Create Asynchronous Processes
More Advanced Scheduling of Background Tasks
SQL
The Dilemma of Stored Procedures
NoSQL
Miscellaneous Gotchas
The Optimization Trap
Starting from Scratch
A Final Note on Legacy Apps
5. Writing New Apps for PaaS
Breaking Down the Monolith
Independent Thinking
Leveraging APIs for Mobile Development
The Emergence of JSON and REST
A Look at JSON
A Look at REST
A Look at Metaservices
Consuming RESTful Metaservices
Application Clients
Mobile Clients
Thin Web Clients
Thick Web Clients
The Unique Contribution of PaaS
Four Important Benefits
Agility
Time to market
Scalability
Interoperability
A Solution for Enterprises and Governments
The Effect of Moore’s Law
6. Mobile Apps on PaaS
A Brief History of Mobile App Development
The Apps of the Future
Data Structures
JSON and XML
Consuming Metaservices in Mobile Clients
iOS
iOS framework for REST: RestKit
Android
Android framework for REST: Restlet
How PaaS Makes Mobile Backend Development Easier
It’s Fast to Build Mobile Backend Metaservices
It’s Easy to Scale Metaservices with PaaS
It’s Easy to Pick the Right Underlying Core Services
Portable Interfaces Can Be Used on Many Devices
Serving a Large Audience
7. A Look at Core Services
Non-PaaS Core Services
Evaluating PaaS for Services
Saving Time with Managed Databases and PaaS
SQL
NoSQL
Caches and PaaS: Look for Redundancy
Solving the Challenges of Email
The Importance of Monitoring
Considering Your Options
Taking the Long View
Load Testing
Planning an Upgrade Path
Storage Options
8. Why Not PaaS?
Public Cloud versus Private Cloud
What Is Private Cloud?
How to Choose: Small- and Medium-Sized Businesses
Open and Closed
How to Choose: Enterprise Businesses
The Limitations of PaaS
Fitting Your App into the Mold
More Considerations
Avoiding Limitations
Encountering Resistance
Putting the Limitations in Perspective
9. The Future of PaaS
The Influence of OpenStack
Keeping Your Development Options Open
Outages: Your Biggest Problem
Regaining Control Through Open Source
Micro Magic
Limitations of Open Source PaaS Libraries
The Virtues of Versatility
Final Thoughts
10. Resources
PaaS Providers
IaaS Providers
Managed Services
Data storage: MySQL
Data storage: PostgreSQL
Data storage: CouchDB
Data storage: MongoDB
Data storage: NoSQL
Data storage: Redis
Data storage: Caching
Mobile
Search
Logging
Email
Background Tasks
Analytics
Error Monitoring
Utilities
Payments
Migrating Legacy Apps to PaaS
WordPress Plug-ins
Drupal Modules
Joomla! Plug-ins
Greenfield PaaS App Development
Ruby
Python
Node.js
PHP
Java
.NET
Perl
Index
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Programming for PaaS
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset