OpenStack Cloud Application Development
eBook - ePub

OpenStack Cloud Application Development

Scott Adkins, John Belamaric, Vincent Giersch, Denys Makogon, Jason E. Robinson

  1. English
  2. ePUB (apto para móviles)
  3. Disponible en iOS y Android
eBook - ePub

OpenStack Cloud Application Development

Scott Adkins, John Belamaric, Vincent Giersch, Denys Makogon, Jason E. Robinson

Detalles del libro
Vista previa del libro
Índice
Citas

Información del libro

Leverage the power of OpenStack to develop scalable applications with no vendor lock-in

OpenStack Cloud Application Development is a fast-paced, professional book for OpenStack developers, delivering comprehensive guidance without wasting time on development fundamentals. Written by experts in the OpenStack community from Infoblox, Gigaspaces, GoDaddy, and Comcast, this book shows you how to work effectively and efficiently within the OpenStack platform to develop large, scalable applications without worrying about underlying hardware. Follow along with an OpenStack build that illustrates how and where each technology comes into play, as you learn expert tips and best practices that make your product stronger. Coverage includes OpenStack service primitives, networking within the OpenStack Ecosystem, deployment of Virtualized Network Functions for Enterprises, containers, data protection, and much more.

If you need to get on board quickly, this professional book is your ideal roadmap to OpenStack development.

  • Understand all aspects of OpenStack technologies
  • Follow an example build to drill down into critical elements
  • Learn the OpenStack best practices and insider tips
  • Leverage the full capability of IaaS at a professional pace

OpenStack is supported by dozens of major technology companies, compatible with Amazon Web Services, and can be used alongside or on top of VMWare vSphere and other similar technologies. It frees developers from the confines of hardware and vendor lock-in while providing a reliable, fast, and easy platform for developing scalable cloud applications. OpenStack Cloud Application Development is an expert-led guide to getting the most out of OpenStack, designed specifically for the professional developer.

Preguntas frecuentes

¿Cómo cancelo mi suscripción?
Simplemente, dirígete a la sección ajustes de la cuenta y haz clic en «Cancelar suscripción». Así de sencillo. Después de cancelar tu suscripción, esta permanecerá activa el tiempo restante que hayas pagado. Obtén más información aquí.
¿Cómo descargo los libros?
Por el momento, todos nuestros libros ePub adaptables a dispositivos móviles se pueden descargar a través de la aplicación. La mayor parte de nuestros PDF también se puede descargar y ya estamos trabajando para que el resto también sea descargable. Obtén más información aquí.
¿En qué se diferencian los planes de precios?
Ambos planes te permiten acceder por completo a la biblioteca y a todas las funciones de Perlego. Las únicas diferencias son el precio y el período de suscripción: con el plan anual ahorrarás en torno a un 30 % en comparación con 12 meses de un plan mensual.
¿Qué es Perlego?
Somos un servicio de suscripción de libros de texto en línea que te permite acceder a toda una biblioteca en línea por menos de lo que cuesta un libro al mes. Con más de un millón de libros sobre más de 1000 categorías, ¡tenemos todo lo que necesitas! Obtén más información aquí.
¿Perlego ofrece la función de texto a voz?
Busca el símbolo de lectura en voz alta en tu próximo libro para ver si puedes escucharlo. La herramienta de lectura en voz alta lee el texto en voz alta por ti, resaltando el texto a medida que se lee. Puedes pausarla, acelerarla y ralentizarla. Obtén más información aquí.
¿Es OpenStack Cloud Application Development un PDF/ePUB en línea?
Sí, puedes acceder a OpenStack Cloud Application Development de Scott Adkins, John Belamaric, Vincent Giersch, Denys Makogon, Jason E. Robinson en formato PDF o ePUB, así como a otros libros populares de Informatik y Cloud Computing. Tenemos más de un millón de libros disponibles en nuestro catálogo para que explores.

Información

Editorial
Wrox
Año
2015
ISBN
9781119194347
Edición
1
Categoría
Informatik
Categoría
Cloud Computing

PART I
OpenStack Overview

  • CHAPTER 1: INTRODUCING OPENSTACK
  • CHAPTER 2: UNDERSTANDING THE OPENSTACK ECOSYSTEM: CORE PROJECTS
  • CHAPTER 3: UNDERSTANDING THE OPENSTACK ECOSYSTEM: ADDITIONAL PROJECTS

1
Introducing OpenStack

WHAT’S IN THIS CHAPTER?
  • Models of cloud computing
  • Relevance of cloud computing to application developers
  • Why OpenStack is a good cloud platform choice
  • How OpenStack is put together

WHAT IS CLOUD COMPUTING?

There is so much hype around cloud computing that it is often difficult to get a clear sense of what anyone means by those words. Is it just virtualization? Is it Software-as-a-Service (SaaS), such as Microsoft’s Office 365 and Salesforce.com? Or is it the ability to get a virtual machine instantly from Amazon Web Services (AWS) or Azure? And what about online storage such as Dropbox?

Types of Cloud Computing

The reality is that cloud computing refers to all of these things just described and more. The National Institute of Standards and Technology (NIST) has come up with an “official” definition based upon five key components: on-demand self-service, broad network access, pooled resources, elasticity, and metered service. In general, these characteristics may be provided in several different models. These models help sort out the confusion and hype. In fact, these can be thought of as layers in a stack, with each layer being built on top of the previous one (see Figure 1.1).
Four rows; from top to bottom: software-as-a-service, platform-as-a-service, infrastructure-as-a-service, manually provisioned infrastructure. Double-headed arrows- low to high control and complexity on left; high to low business value on right.
Figure 1.1
In Figure 1.1, “Manually Provisioned Infrastructure” represents the traditional method of building your information technology infrastructure—this is not cloud computing. In this environment, physical machines are racked, connected, and configured on a one-by-one basis. This provides complete control, but requires substantial time and effort to build out, or to change when necessary. Of course, all clouds need to run on physical gear at some point, so this provides the basic foundation for everything else. One of the keys to making cloud computing successful, however, is to move the complexity out of this layer and up higher in the stack.
Infrastructure-as-a-Service (IaaS) is the most basic layer in the cloud computing stack. This is OpenStack’s primary focus, as well as the primary focus for AWS. It enables automated or self-service provisioning of compute, networking, and storage. Typically, these resources are provided as Virtual Machines (VMs), but you could also use it to spin up bare metal servers (i.e. physical hosts). This is known as “Metal-as-a-Service,” and OpenStack provides a project for managing this service as well. Alternatively, you can also spin up containers rather than VMs or bare metal servers. The essential point is that it enables the provisioning of compute instances, with (optionally) attached networking and storage.
Platform-as-a-Service (PaaS) builds on top of IaaS to enable the provisioning of applications, rather than simply the infrastructure that might be used to run the application. So, a PaaS provides core common services needed by applications, along with the machinery to configure and deploy applications to use those services. A PaaS typically will provide a complete application stack (web server, application server, database server, etc.) into which you can easily deploy your application. Heroku (https://www.heroku.com) is an example of a popular PaaS for applications built with a variety of standard frameworks, such as Ruby-on-Rails. With Heroku you can deploy your application to the Internet with a simple git push. As the application author and deployer, you don’t need to worry about configuring and deploying the different tiers, or even worry about how to scale them. If you follow the Heroku conventions, everything is handled by the PaaS.
Software-as-a-Service (SaaS) is the layer farthest from the underlying physical infrastructure. It may be built on IaaS or a PaaS, but need not be—the point is the user never really knows. This is the simplest form of cloud computing from the point of view of the user because they have no insight into the actual mechanics or systems behind the service. It’s just a service they use. Often this is provided in the form of a website, such as Salesforce.com. But you can also get lower-level services such as Database-as-a-Service, where you simply request via an API (or website) for a database with certain parameters, and are given an IP and port to connect to. As a user of the service, you don’t need to worry about how to scale that service—though you will need to pay more as your use of the service increases.
Put succinctly, IaaS provides the tools to “build” your systems from the ground up. PaaS allows you to “deploy” your applications, without needing to worry about the underlying infrastructure. SaaS allows you to “buy” your applications—you do not even need to deploy or manage them at all. This is a steady progression of decreasing control and complexity, while increasing direct business value.
While these are general models for cloud computing, in reality the distinctions between them are not always crystal clear. The relationship of SaaS to PaaS in particular can be complicated. A specific, complex Software-as-a-Service may use PaaS or even other more granular Software-as-a-Service. Even a PaaS may assemble lower-level pieces as a collection of software services. For example, most services will require an identity management (authentication, authorization, and accounting) service. This identity service is one of the key features a PaaS provides to applications. However, there is no reason that service cannot be, in turn, provided by some external SaaS! In this case, a key function of the PaaS is provided via a low-level SaaS.

Cloud Infrastructure Deployment Models

In addition to the functionality provided by a cloud, there are several different deployment models for clouds. Public clouds are the ones familiar to most developers. These cloud services are made available to the general public for a fee. The fee is generally on a usage basis, enabling organizations to utilize their operating budgets rather than their capital budgets. The customers have no need to maintain or operate the hardware or cloud infrastructure, leaving that responsibility completely to the cloud operator.
Amazon Web Services (AWS) is currently the largest public cloud and dominates the industry. Microsoft and VMware also operate public clouds, and a number of service providers do as well. Rackspace, in particular, provides an OpenStack-based public cloud, and is one of the primary contributors to the OpenStack project.
Private clouds, on the other hand, are internal to an organization. They represent the evolution of the traditional corporate data center. Only internal customers within the enterprise, and perhaps close partners, use private clouds. The corporate IT department or a contractor will purchase, setup, and maintain the hardware and software for the cloud. The cloud infrastructure may use chargeback to distribute costs among the business units, but the cloud itself is still dedicated to the single enterprise.
Organizations may operate private clouds for a number of reasons. The cost of a private cloud, if well run, may be less than utilizing the public clouds. Additionally, many i...

Índice