SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
A Complete, Practical Guide to Building and Hosting Cloud Services That Deliver Exceptional Business Value
In this unique title, key developers of the IBM SmartCloud Enterprise share indispensable insights for developing and operating cloud-based solutions on any cloud platform. Drawing on their unsurpassed in-the-trenches experience, the authors help you develop the new mindset and skills needed to succeed in cloud environments, where development, business, and system operations are linked more tightly than ever.
Using examples based on IBM SmartCloud Enterprise, the authors cover a wide variety of cloud "use cases," while also introducing general principles for automating and optimizing IT infrastructure in any cloud environment.
They begin by presenting an authoritative, accessible review of cloud computing and Infrastructure as a Service (IaaS) cloud concepts. Next, they demonstrate how to use cloud tools, develop basic cloud applications, and utilize standards to establish interoperability between clouds. Finally, drawing on deep personal experience, they offer best-practice solutions for all facets of cloud hosting, including security, monitoring, performance, availability, and business support. Throughout, they emphasize real-world problem solving, offering numerous code examples and practical demonstrations of real-world tools and utilities.
Coverage includes
Creating a DNS Service on the Cloud
Secure Communications on the Cloud with a SOCKS Proxy
What You Need to Succeed in Cloud Environments
Workload Migration for the Cloud
Please visit the authors’ websites: http://www.ibm.com/cloud/enterprise and https://www.ibm.com/developerworks/mydeveloperworks/blogs/iaas_cloud/
Infrastructure as a Service Cloud Concepts
Download the sample pages (includes Chapter 1 and Index)
Preface xiii
Introduction 1
Part I: Background Information
Chapter 1 Infrastructure as a Service Cloud Concepts 7
Workloads 8
Use Cases 10
Actors 10
Web Site Hosting 10
Short-Term Peak Workloads 11
Proof-of-Concept 12
Extra Capacity 14
Open Source/Enterprise Collaboration 15
Storage System for Security Videos 15
Business Scenario: IoT Data Hosting Provider 16
Virtualization 17
Infrastructure as a Service Clouds 22
Other Cloud Layers 24
Virtual Machine Instances 26
Virtual Machine Images 26
Storage 27
Block Storage 27
File-Based Storage 28
Network Virtualization 29
IP Addresses 30
Network Virtualization 30
Desktop Virtualization 32
Part II: Developing Cloud Applications
Chapter 2 Developing on the Cloud 35
Linux, Apache, MySQL, and PHP 35
Windows 40
Java 2 Enterprise Edition 40
Java SDK 41
WebSphere Application Server 41
Relational Database 47
Data Persistence 49
Messaging 54
Scheduled Events 58
Business Scenario: Developing the IoT Data Portal 59
Integration of Application Lifecycle Management Tools with Clouds 67
Rational Application Developer 69
Rational Team Concert 72
Build and Deployment Automation 75
Business Scenario: Application Lifecycle Management Tools 84
Chapter 3 Developing with IBM SmartCloud Enterprise APIs 85
Resource Model 86
Entity Lifecycles 87
Command Line 91
Environment Setup 91
Querying the Catalog 92
Provisioning an Instance 92
Provisioning Storage 96
Provisioning an Instance with Parameters 97
Managing IP Addresses 98
Saving Images 99
Java API 100
Environment Setup 100
Querying the Catalog 101
Working with Virtual Machine Instances 104
Locations and Capabilities 108
Working with Images 110
Uploading Files When Creating a New Instance 111
Minimizing REST Calls 112
Example: Developing a Maven Cloud Plug-In 114
REST API 122
Background 122
Using PHP to Invoke the IBM SmartCloud Enterprise REST APIs 125
Example: create instance Form 130
Example: Page to Show a List of Instances 139
Using Java to Invoke the IBM SmartCloud Enterprise REST APIs 144
Rational Asset Manager 146
Business Scenario: Using Elastic Cloud Services to Scale 152
Chapter 4 Standards 157
Data Exchange 157
Extensible Markup Language (XML) 157
JavaScript Object Notation (JSON) 160
REST 162
Background 163
HyperText Transfer Protocol 163
REST Architecture 164
Implementing and Consuming REST Services 165
Example: Uploading Files When Creating Instances with REST 169
JAX-RS 171
Virtualization 178
Open Virtualization Format 179
Cloud Computing 179
Cloud Computing Reference Architecture 180
Distributed Management Task Force Open Cloud Standards Incubator 180
Cloud Data Management Interface 181
Business Scenario: IoT Data Use of Standards 181
Chapter 5 Open Source Projects 183
Virtualization Projects 183
Kernel-Based Virtual Machine (KVM) 183
QEMU 185
libvirt 186
Xen 188
Cloud Projects 188
Eucalyptus 188
Apache Libcloud 189
Delta Cloud 190
OpenStack 190
Cloud Foundry 191
Hadoop 191
Setting up Hadoop 192
Business Scenario: Data Management 194
Chapter 6 Cloud Services and Applications 197
Creating and Customizing Images 197
Operating Systems Specifics 200
Modeling Deployment Topologies 200
Services 206
Linux Services 207
Windows Services 209
Networking 209
Basic Network Settings 209
Software Installation and Management 211
Red Hat Package Management and YUM 211
Software Management on SUSE 211
Cloud Software Bundles 212
Open Service Gateway Initiative (OSGi) 213
Storage 223
Block Storage 224
File-Based Storage 226
File Systems 227
Network Storage Systems 230
Structured Storage 231
Managing Storage on IBM SmartCloud Enterprise 232
Remote Desktop Management 233
X Windows 233
Virtual Network Computing (VNC) 234
NX Remote Desktop 236
Composite Applications 237
Email 238
Setting up an SMTP Server 238
Software as a Service 239
Document-Management Systems 239
Email and Collaboration Suites 241
Business Scenario: The IoT Data Application 242
Part III: Exploring Hosting Cloud Applications
Chapter 7 Security 243
Background 243
Business Scenario: IoT Data Security Context 244
Public Key Infrastructures and Certificates 245
Example: Trusted Certificate Signing Authorities in WebSphere Application Server 249
Identity and Access Management 252
Configuring Authentication and Access in J2EE Applications 254
Managing Users with Lightweight Directory Access Protocol 256
Enabling an Application for Multitenant Access 260
Federated Identity Management 260
OAuth 261
Network Security 266
Firewalls 266
Example: Connecting to a VLAN through a Firewall 271
Operating System Network Security Mechanisms 271
Business Scenario: Network Deployment and Firewall Rules 272
Proxy Servers 273
Virtual Private Networks 276
Browser Security 278
Application Hardening 280
Cross-Site Scripting 280
Cross-Site Request Forgery 281
SQL and Other Injection Attacks 282
Secure Communication Protocols 282
Secure Shell (SSH) 283
HTTPS 290
Internet Protocol Security (IPSec) 293
Operating System and Virtual Machine Security 293
Basic Operating System Tools 293
Security-Enhanced Linux 294
Security of Data at Rest 298
Security Events 298
Security Compliance 299
Business Scenario: IoT Data Security Architecture 300
Chapter 8 Performance,Availability, Monitoring, and Metering 301
Performance and Scalability 301
Compute Capacity 302
Network Performance 302
J2EE Application Performance and Scalability 304
Performance Analysis and Testing 307
Availability 310
Backup, Recovery, and Restore 311
Storage Availability 314
Availability of Relational Databases 315
Virtual IP Addresses 316
Monitoring and Metering 317
Operating System Monitoring 318
Network Monitoring 323
Application Monitoring 323
Comprehensive Monitoring Solutions 327
Business Scenario: IoT Data Performance,Availability, Monitoring, and Metering Plan 328
Chapter 9 Operations and Maintenance on the Cloud 331
Business Support Systems 331
Maintaining Compatibility with Future Versions of Software 333
An Evolving API 334
Java 334
REST 335
XML 336
JSON 336
Command Line 337
Data 337
Business Scenario: IoT Data Operations and Maintenance Plan 337
Further Reading 339
References 345
Index 355