Discovering What Changes with PaaS

As complexity increases and as applications are becoming increasingly dynamic, PaaS offers the potential to simplify the world of software development and deployment. PaaS helps reduce the complexity of the development process by

check.png Delivering and managing a set of abstracted middleware services that are either hosted in a public PaaS environment or managed in a private cloud environment

check.png Ensuring that one standardized set of services is used by those developing and deploying the applications

check.png Eliminating the installation and operational burden from an organization

One important benefit of PaaS is that it enables individuals developing applications and individuals deploying those applications to use the same services on the same platform. This approach takes away much of the misunderstanding that happens when two teams with different responsibilities aren’t in sync.

By encompassing both development and runtime services, PaaS can streamline the application lifecycle. In this section, we describe just how PaaS can help achieve this streamlining, including standardizing middleware, easing provisioning, working across an organization, and improving control.

Standardizing middleware infrastructure services

In traditional development and deployment environments, individual project teams are likely to select their own preferred development and testing tools, infrastructure, application servers, and the like. The problem with this approach is that it’s hard to maintain standards and mistakes are likely to creep in. In contrast, if the organization standardizes on a consistent set of middleware resources, many common errors can be avoided and when problems do occur, they’re more easily located and resolved. These development and deployment services can be optimized for the environment, pretested and monitored so that there are no surprises. One benefit of a standardized approach is that all developers in the organization are trained on the same environment, which improves productivity and decreases cost.

Easing service provisioning

A PaaS platform provides a simpler way to provision development services, including build, test, and repository services to help eliminate bottlenecks associated with nonstandard environments. These development services improve efficiency, reduce errors, and ensure consistency in the management of the development lifecycle. Additionally, PaaS makes provisioning of runtime services including application runtime, containers for staging, running, and scaling applications.

Minimizing friction with IT

Traditionally, when a new application server or other middleware is introduced into an organization, IT must make sure that the middleware can access other services that are required to run that application. This requirement can create friction between the software development and operations teams.

Although each team is focused on its own tasks, their managers are focused on solving business problems. Management must ensure that a critical codified business process is able to access the right services and processes to support customers’ needs and expectations. The development organization is focused on building the code to support those business customers. On the other hand, the operations team cares that the code is deployed correctly. Although everyone should have the same objectives in mind, each group typically focuses narrowly on its part of the process.

Things usually work when an application is first designed. However, as soon as the application requirements change, the underlying infrastructure must also change and scale to meet the new demands. IT is often unable to simply provision required services and must resort to manual intervention to prepare the infrastructure for what could be dramatically different requirements. This can often create a conflict between IT and a business unit that must tell customers to be patient while the software infrastructure is rebuilt.

With PaaS, these conflicts are minimized. Because the PaaS environment is designed in a modular, service-oriented manner, components can be easily and automatically updated. When PaaS services are provided by a third-party organization, those changes are automatically handled without the user having to deal with the details. When PaaS is implemented in a private cloud, the IT organization has the responsibility of using a self-service interface to provision the new services to the IT organization.

Improving the development lifecycle

PaaS changes the way that development and operations interact with resources. Although development and deployment personnel in a traditional development environment work in isolation from each other, the PaaS environment creates a single unified environment. This unification promotes visibility and accountability across the whole IT organization. For instance, a developer may have tested a recently built application or an application component and assumed that everything is working fine. However, in reality, the application was tested on only one browser. In addition, the developer didn’t attempt to test the performance of the application on tablet computers.

With a PaaS platform, the team gets visibility into the entire development and deployment lifecycle. The team can see whether software is working, broken, or ready to be released to manufacturing, staged, and so on across the entire application lifecycle.

These functional capabilities are available in a traditional development and deployment environment, but they don’t function seamlessly. Often the IT organization has purchased a group of separate tools to support a variety of functions. In a PaaS environment, these capabilities are built in and abstracted as part of the platform.

Streamlining development and deployment: Changing the application lifecycle

In PaaS, support for the application lifecycle, from development through testing, staging, and deployment, is integrated into the platform. The development and the runtime platform are provided as services, so the formal lifecycle of an application is more directly supported. For example, developers and test teams interact with the same hosted application and runtime as the operations people use.

One benefit of an abstracted platform is that it supports development to deployment to operation procedures, thus simplifying the overall development process. Traditionally, much of the integration between development and operations is handled manually. Removing manual processes enables faster development-release cycles, which in turn can support more rigorous methods around quality and continuous integration. See Chapter 14 for more details on the development and deployment environment for PaaS.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.138.104