
Programming for PaaS
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Cover
- Copyright
- Table of Contents
- 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
- Chapter 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
- Chapter 2. What Is PaaS?
- Conjuring a Website
- Early Options for Developers
- Shared Web Hosting
- Dedicated Hosting
- 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++?
- PaaS: A Vital Tool for Modern Apps
- Moving Toward Higher-Level Languages
- Managing the Backend
- Conjuring Confidence
- Chapter 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
- Chapter 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
- Chapter 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
- A Solution for Enterprises and Governments
- The Effect of Moore's Law
- Chapter 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
- Android
- 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
- Chapter 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
- Chapter 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
- Chapter 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
- Chapter 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
- 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
- About the Author
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.