DevOps: Driving Organizational Change and Agility with PaaS

Size: px
Start display at page:

Download "DevOps: Driving Organizational Change and Agility with PaaS"

Transcription

1 DevOps: Driving Organizational Change and Agility with PaaS Government and PaaS: What s the Holdup?...2 PaaS: Open for Business...3 How Agencies Can Benefit from the Maturing PaaS Model...5 Infographic...7

2 Government and PaaS: What s the Holdup? Government agencies are working hard to improve productivity, speed application development, reduce costs and cut development timeframes. Platform as a Service (PaaS), a cloud-based runtime environment that supports the development, packaging and deployment of applications, is the key to achieving all of those goals. IT leaders throughout government understand the value of PaaS. In a 2013 report on federal agencies use of cloud from Meritalk, 95 percent agreed that their agencies would benefit from migrating to PaaS. The study also found that 70 percent of agencies were considering PaaS, and 40 percent expected to be using it by Even if 40 percent of agencies adopt PaaS, that leaves the majority still undecided about a technology that is getting better and more useful all the time. One reason for these relatively slow adoption rates might be the consistent confusion between PaaS and Infrastructure as a Service (IaaS). IaaS provides the infrastructure necessary to provision compute resources like processing, storage and networks. Essentially, it is controlling the infrastructure required to run a data center. PaaS is a platform running on top of the infrastructure that allows developers to create, test and manage applications. It contains programming languages, libraries, services and tools. As the capabilities of PaaS have advanced, the differences between PaaS and IaaS have become even more striking. Today, top PaaS systems include development pipeline tools for processes like continuous integration and continuous deployment. They also include orchestration tools, which automate the intelligence of the platform so that it knows which application components work together, and what is needed for specific tasks. Finally, today s PaaS offerings are based on Linux containers, and standardize the process for describing those containers along with their privileges and what they are connected to. Containers improve interoperability, portability, agility and flexibility. They also help agencies collaborate on applications. Because applications and processes can be deployed in containers, it s much easier for other agencies to pick up and modify or use them for their own purposes. One state that has realized the benefits of today s advanced PaaS capabilities is North Carolina. It used the advanced features of PaaS such as containerization and orchestration to standardize a complicated, homegrown website on a PaaS. Now all of its web properties are on one platform, and each agency in the state that wants a web presence at nc.gov uses this PaaS to build up its site with the applications it wants. The U.S. Navy Space and Naval Warfare Systems Center Pacific is using PaaS to reduce the time and cost of developing and sustaining their expanding portfolio. They can now provide a consistent and controlled environment to test and deploy applications across multiple environments in Command and Control (C2) systems. While the benefits of PaaS are significant, agencies should resist using it in a way that creates yet another silo in the organization. Instead, think holistically about the application portfolio. Realistically, some workloads will always live on bare metal, others will be virtualized, others in an IaaS model, and others in a PaaS. Understand that workloads evolve over time and may move from one of these platforms to another. To prepare for that, it is important to drive as much consistency and standardization as possible among each of these platforms.

3 PaaS: Open for Business Creating and managing applications and processes using the Platform as a Service model has always been an excellent way for developers to work faster and more productively, while letting the operations team reduce the time it takes to get important services and applications to users. Agencies that have been using PaaS to achieve these benefits know well that while the productivity, cost and scalability advantages have been significant, there are sometimes roadblocks to achieving even greater benefits. Until recently, the problem has been that each PaaS provider had its own way of packaging the software. Put another way, all of their Lego bricks were shaped differently. That lack of standardization can make it difficult for different development teams working together to do so easily. It can also cause difficulties in managing and provisioning software. In the past few years, many vendors have begun moving toward a standard set of building blocks. One of the most important has been Docker, a wildly popular way of easily describing and operating Linux containers. Even Microsoft has joined the Docker movement. Before Docker, each PaaS had its own container definition. Now that the Docker technology has been released to the recently-established Open Container Foundation, containers are developing defined standards. Another PaaS advance that is furthering standardization is Kubernetes, an orchestration tool developed by Google that manages clusters of Linux containers as a single system. This open source tool was created by Google, and captures everything they ve learned based years of experience running up to 2 billion containers every week. With this pedigree, Docker: A Game-Changer for PaaS Over the past several years, more and more PaaS offerings have begun to include containers. Containers, which are smaller and more lightweight than virtual machines, let developers isolate specific applications or services and easily describe how they relate to other applications and services. According to 451 Research, 38 percent of government and education organizations are either piloting or have implemented container technology, and 61 percent are considering it. Until recently, however, containers were difficult to use and required significant developer expertise. The newest iteration of PaaS offerings include containers based on Docker technology an offshoot of Linux containers. With Docker, developers can package an application with all of its dependencies into a single image. Docker also adds a user interface to containers, making it much easier for users with more limited skills to use them, and has helped standardize container definitions and specifications. In many ways, Docker is serving as a standard for container technology. With Docker technology, containers are much more interoperable and portable. With standard definitions, for example, it s fairly simple to take a container from one system and move it to another. With applications deployed as containers, agencies can much more easily share and collaborate. Containers also foster both agility and flexibility. For example, a developer building a web application might need a web server, database and programming language. With the traditional model, the developer would stand up one virtual machine to hold those three elements or use one virtual machine for each. Today, the developer can stand up three containers inside one virtual machine and if the web layer needs to be scaled out, it s a simple matter of spinning up more web server containers on the virtual machine. The result is greater agility and flexibility. Docker also makes it easier for developers to use different languages for different tasks without having to be an expert in each language. One developer could, for example, do his part of the application programming in Ruby and isolate that in a container. Another developer could work on her process using MongoDB or Java and isolate it in another container. Since the containers are standardized on Docker and programmed with the intelligence to know which containers belong together, the project can continue smoothly. While Docker is a game-changer for PaaS, it doesn t mean that the need for virtual machines in the PaaS environment will disappear although it does reduce reliance on VMs. That s because they serve different purposes. Virtual machines run complete server hardware stacks managed by an operating system, and they are designed to use all of their resources when running a process. Containers focus on handling a single process. Virtual machines are ideal for running several applications, while containers are best for running multiple copies of a specific application.

4 it s not surprising that Kubernetes is becoming the de facto standard for container orchestration and management. Standardizing with open source tools like Docker and Kubernetes makes the PaaS environment more useful. With everybody on the same page, everything from collaboration and sharing to portability becomes easier. Another important advance that makes PaaS more useful is the availability of dozens of polyglot open source tools such as Rails, Tomcat, Java, Ruby, PHP, MongoDB, Python and Perl. Three to five years ago PaaS platforms all had different components. One might be based on Ruby and another on Java, explained Jay Lyman, a research manager at 451 Research. Today most PaaS providers support polyglot programming, which means that developers can use the best tool for the job. Sometimes a developer might want a certain language on the back end for performance or scalability, and a different language or framework on the front end for a user interface or web capabilities. OpenShift Reimagined: The Next Generation of PaaS Since it first debuted in 2011, the goal of OpenShift, Red Hat s PaaS, has been to help developers create applications in the language, framework and environment of their choice. Over the past few years, Red Hat has steadily increased the capabilities of OpenShift, expanding the number of language environments, databases and frameworks it supports. The latest version, OpenShift v3, takes those goals to an entirely new level. Its revamped platform will provide complete self-service to application developers by improving the developer experience and providing better frameworks and services on an improved OS platform. As a result, developers can develop and deploy applications much more quickly. OpenShift v3 is the first version of the platform to use Docker, a lightweight, portable method of packaging applications to run in containers. The goal is to enable any application component packaged as a Docker image to run in OpenShift. This is a more standard way of managing containers and the applications and run inside them. Standardizing on Docker lets developers for the first time use the ecosystem of tens of thousands of Docker containers as building blocks. The newest version of OpenShift is also the first to incorporate Google s Kubernetes orchestration technology. Orchestration solves the problem of determining what a specific workload is connected to and where it should sit on the platform. With Kubernetes baked into the platform, developers can more easily manage, monitor and control containerized application deployments across a large cluster of container hosts. Incorporating Kubernetes into OpenShift also supports Red Hat s open hybrid cloud strategy, which uses open source to foster application portability across environments. OpenShift v3 also has many other new features. For example, it supports a fullblown Java EE (JEE) platform. Combined with OpenShift s container-agnostic tools, developers can more easily perform testing, continuous integration and deployment of Java EE applications. In addition, the new version has expanded the number of languages and environments it supports. With all of these new features, OpenShift v3 improves the experience for both developers and administrators with new capabilities for provisioning, patching and managing application containers, routing and network enhancements, orchestration and provisioning and managing the platform itself.

5 How Agencies Can Benefit from the Maturing PaaS Model Gunnar Hellekson is the Chief Strategist for Red Hat s U.S. Public Sector Group, where he works with government agencies and systems integrators to encourage the use of open source software in government. He is also the founder of Open Source for America, as well as an active member of the Military Open Source working group, the SIIA Software Division Board, Board of Directors for the Public Sector Innovation Group, and the Open Technology Fund Advisory Council. Hellekson explains how new capabilities in PaaS provide opportunities for government: How are the capabilities and flexibility of Platform as a Service today different from what they were five years ago? Hellekson: While PaaS has been a great model for automating software builds, testing and deployment for some time, it s much more usable today because the technology has matured, and experience has taught agencies that they can use it more broadly. IT organizations used to think of PaaS as something that creates templates or boilerplate virtual machines, but they have begun to realize that PaaS can improve the entire development process, not simply automate operations. They have also realized that decoupling the developers from the operations team to create separate but parallel processes means that everybody can get the maximum benefit from PaaS. What technological advances are enabling these types of benefits? Hellekson: One important one is containerization. Containers are smaller and lighter than virtual machines, and they give us a way of describing a full application, including what privileges it needs and what it needs to connect to. While containers have been used for some time, it s only recently that container models like Docker and Rocket have been integrated into PaaS, and they make containers more standardized and much easier to use. With this advance, everyone can be speaking the same language, so you can build a container definition and give it to someone at a different agency and they would know what to do with it. Another important advance is that PaaS can now do the orchestration work that the infrastructure used to have to do. For example, when an application needs another web server, the PaaS is now expected to know where to put it based on security and performance requirements. What do these advances allow DevOps and Operations teams to do now with PaaS that they couldn t do as easily in the past? Hellekson: The missing piece was a standardized way of packaging software so it could easily be managed and manipulated by the PaaS. In the past, each PaaS provider had its own way of packaging the software components. Now that we ve got more intelligent container technology and the Open Container Foundation, all vendors are moving toward a standardized set of building blocks so everyone can collaborate and manipulate elements, regardless of which The orchestration capabilities in today s PaaS offerings really improves flexibility. Gunnar Hellekson PaaS they are using. These new capabilities also allow agencies to create a clear line between what belongs to them and what belongs to their contractors. This allows agencies to direct that everything the contractor delivers will be on the platform it specifies. That gives agencies a lot more control. How do these capabilities increase the flexibility of PaaS? Hellekson: The orchestration capabilities in today s PaaS offerings really improves flexibility. For example, if the Defense Department agency requires that only public websites can run on public clouds but everything else has to run on private clouds, you can put that intelligence into the PaaS service.

6 So when a DoD agency tells the PaaS to spin up a public website, it will know it can use a public cloud, and when it tells the PaaS that it needs resources for an internal application, it will know to use a private cloud. Do these capabilities make PaaS more secure in any way? Hellekson: Containers make all the difference. They are selfcontained, which means that you can specify what can go inside and who can access it. The hosts of those containers can ensure that applications can t interact with others in the PaaS unless it s specifically permitted. What about existing applications? Do agencies have to throw them out and start over to make them work in the PaaS environment? Hellekson: Definitely not. There are PaaS offerings that require applications to be completely retooled to work with that particular PaaS, but not all. OpenShift, for example, is based on Red Hat Enterprise Linux, which is likely what the existing application is already using. So if the application runs today on Red Hat Enterprise Linux, it can be very easy to move into an OpenShift PaaS. That creates the opportunity for a fluid movement of workloads from the existing infrastructure to the highly automated, highly standardized infrastructure of OpenShift. How can agencies use all of these advances in PaaS to their advantage? Hellekson: The biggest advantage is in collaboration. The best way to explain that is by using an example. A Navy program called the Agile Core Services moved to a PaaS to standardize all of the application development and management on its 250 ships. It turned out that the Air Force Air Operations Center was working on a similar project. Since they were both going through the same journey and both needed a standardized platform, they ended up teaming together to collaborate on a common platform. Since they will be using the same platform going forward, when the Navy makes an improvement, the Air Force will benefit from it, and vice versa. The newest version of OpenShift has some real differences with previous versions. What needs is Red Hat trying to meet with OpenShift v3? Hellekson: We wanted to give our customers the benefits of the standardization that can be achieved with Docker and containers. With Docker, OpenShift now has standard container descriptions, which makes sharing easier. So for the first time, OpenShift will allow developers to use the ecosystem of tens of thousands of Docker containers as their building blocks. One of the most anticipated additions is Kubernetes, Google s proven orchestration engine for containers, to v3. That manages and automatically scales these multi-container deployments and connects multiple layers of application stacks. Basically, you tell OpenShift which containers your application needs, how they re Containers make all the difference. They are self-contained, which means that you can specify what can go inside and who can access it. Gunnar Hellekson wired together, and OpenShift takes care of everything else. What is the end game for PaaS? Hellekson: There isn t really an end game, because platforms should always accrue the lessons learned from the applications they host. It s a matter of continuous automation, commoditization and standardization to make life easier for developers and operations teams.

7 In today s IT environment, there s more pressure than ever to deliver apps faster while reducing costs. Why OpenShift? Built with proven open source technologies, OpenShift Enterprise by Red Hat helps application development and IT operations teams create and deploy apps with the speed and consistency that business demands. INCREASED SPEED REDUCED COST LIGHTWEIGHT MORE EFFICIENT Superior user experience Effective and efficient DevOps workflows play a critical role in PaaS to accelerate app delivery. DEV OPS Standardization through containerization Natively integrating Docker, Kubernetes by Google, and Atomic, OpenShift Enterprise 3 by Red Hat will deliver evolved PaaS technology to the enterprise IT ecosystem. DOCKER integration provides standardized portable containers for any app, any language, using any tool chain. Web-scale container Integration with RHEL and orchestration with ATOMIC HOST provides a KUBERNETES secure, lightweight, and by Google provides minimal footprint operating intelligent clustering and system optimized to run automated recovery. Linux containers. TAKE YOUR PaaS FURTHER. Bring large-scale container orchestration and management to the enterprise with OpenShift Enterprise 3. New web-scale microservices architecture Evolved Linux container technology at the core with Docker New, container-enhanced foundation with Red Hat Enterprise Linux 7 and Atomic The largest selection of components to create apps New and enhanced xpaas services for messaging, integration, rules management, and more Container orchestration at scale with Kubernetes Better local development experience with Docker formatted container images New capabilities for provisioning, patching, and managing app containers 3 Find out how you can expedite innovation enterprise.openshift.com Copyright 2015 Red Hat, Inc. Red Hat and the Shadowman logo are trademarks of Red Hat, Inc., registered in the U.S. and other countries.