<<

www.progress.com

COMING TO (YOUR) TERMS WITH PLATFORM-AS-A- SERVICE (PAAS) BY MICHAEL BENEDICT

Platform-as-a-Service (PaaS), which well as the very important group of non-IT provides a complete development platform users, in the optimal adoption of PaaS. This and solution stack in the , is gaining paper explores some of the practices most widespread acceptance as a way to relevant to achieving success with PaaS, deploy packaged or build new focusing on ways to identify how PaaS applications without the overhead of a can be best utilized within the specifics development environment. Enterprise of a given organization’s overall IT needs. adoption of PaaS is growing, as is PaaS use Practices include understanding by ISVs who want to create client-facing and infrastructure aspects of PaaS software offerings without having to invest deployment, the need for coding wisdom in platform infrastructure. PaaS does offer in otherwise “codeless” environments, many advantages, including speed, cost- integration with on-premise systems and effectiveness and simplicity. As use of PaaS other cloud-based IT assets, security and increases, a growing body of best practices more. has grown to guide IT departments, as 2

TABLE OF CONTENTS

Introduction ...... 3 The Current State of PaaS ...... 3 Two Dominant Modes of PaaS 3 Benefits of PaaS 4 Challenges Faced with PaaS ...... 4 Scale and Availability ...... 4 Rapid Release Cycles ...... 5 Security and Compliance ...... 5 Integration with Other Systems ...... 5 Achieving Success with PaaS ...... 5 Setting Up Practices and Procedures for Rapid Software Releases ...... 6 Planning for Scalability 7 Understanding Your Platform’s Limitations ...... 8 Aligining the PaaS Application with Security Policy ...... 9 Following Corporate ITs Lead on PaaS Integration 9 Conclusion 10 About the Author ...... 11

www.progress.com 3

INTRODUCTION on the fly or even, as the IDC analyst Al Hilwa would put it, “Citizen Developers” who embrace PaaS to build programs There’s an old saying in business, mostly uttered by you won’t even know about. people who are nervous about change, which is that some proposed initiative will be like, “changing a tire while the These two issues are at the heart of this paper. The intent car is moving.” Unfortunately, every business change here is to help you come to terms—your terms—with PaaS ever contemplated is like changing a tire while the car is in your organization. PaaS can serve your specific business moving. The “car” is always moving, or at least it should be. goals. As an ever-changing, new-user-friendly technology, If it’s not, the company is going under. New IT paradigms PaaS is the ultimate tire to be changed on a fast moving present this type of challenge, the newest one being the car. This paper takes a look at several recommended evolving cloud technology known as Platform- practices that will help you make the best use of PaaS in as-a-Service, or PaaS. your organization. You may already know what PaaS is, but to summarize, PaaS makes a complete software platform—including THE CURRENT STATE OF PAAS infrastructure, application servers, development tools, The IT world is well out of the starting blocks with PaaS. and storage—available over the . It’s Technavio, the research firm, projects that the global one of the revolutions arising from the IT field’s broader PaaS market will top $6 billion by 2016. The growth rate move to . While Infrastructure-as-a- is projected to be over 48% per year for the next four Service (IaaS) makes the foundation of cloud-computing years.1 Gartner valued the worldwide PaaS market at $1.2 available to those who know how to build their own billion in 2012, up from $900 million in 2011. Though this platforms, PaaS delivers complex and highly labor- may seem small considering that the global market for all intensive technology patterns available “as hosted services, including SaaS, was $109 billion in 2012.2 a service.” Typically, PaaS allows self-service and self- Still, considering that it’s a new technology, the size of provisioning of resources to support cloud architectures. the market and the projected growth rate speak to the Through a browser, you can switch on a fully-configured potential of PaaS as a driver of business value. cloud platform without having to worry about standing up hardware or installing software. PaaS scales elastically. THE TWO DOMINANT MODES OF PAAS TODAY There’s a sort of everlasting gobstopper effect. Whatever The constant evolution of PaaS notwithstanding, the platform resource you need, there’s no practical limit to consensus is that there are two dominant modes of PaaS what you can get on demand, and pay for, as you require. now in use:

The real question is what can, or should, you do with PaaS? „„ Model-driven PaaS involves higher-level programming Answering that question about PaaS cracks open two big languages, or even template-based software issues facing IT professionals today. For one thing, the building programs that enable users with little coding definition of PaaS has changed frequently over the past experience to create business applications.3 year as companies develop PaaS solutions For instance, „„ Deployment PaaS is newer. It refers to platforms in the PaaS is blending with IaaS. It’s also evolving into new cloud that can host applications that were created with flavors, such as integration PaaS (iPaaS), which offers a standard programming languages such as Java or PHP. complete application integration capability in the cloud; The assumption is that the development is being done business process management PaaS (bpmPaaS) which off of the PaaS solution on integrated development makes possible business process execution in the cloud; environments (IDEs) such as Eclipse.4 This may sound and application PaaS (aPaaS), which gives developers the a lot like IaaS, but it’s different. With deployment ability to fast-track application development. PaaS, the developer does not have to worry about Then, there is the matter of users. Who will use PaaS in architecting, managing, or scaling the virtual machines your organization, and for what purposes? Ready or not, that underlie the application. PaaS opens up enterprise computing to a variety of new user groups. These include power-users outside the IT department who may want to create their own applications

1 Technavio, Global Platform-as-a-Service Market 2012-2016, April 3, 2013 2 Nancy Gohring, “Platform heats up,” ComputerWorld, July 8, 2013 3 Al Hilwa, “Analyst Watch: The Evolving State of PaaS,” San Diego Times, October 1, 2013 4 Al Hilwa, “Analyst Watch: The Evolving State of PaaS,” San Diego Times, October 1, 2013 www.progress.com 4

BENEFITS OF PAAS HIGH PaaS confers several business and IT management benefits. Though it’s not a silver Line of Business Users w/ IT Pro Users w/ bullet, PaaS can be a huge source of advantage for Model-Driven PaaS Model-Driven PaaS certain types of in-house corporate projects and ISV commercial products. Organizations that write Level of PaaS their own software can delegate infrastructure software and platform management to specialists while development automation concentrating on their core competency of developing applications. PaaS can facilitate cuts in IT overhead and capital expense by eliminating the conventional processes of acquiring and installing Line of Business Users w/ IT Pro Users w/ Deployment PaaS Deployment PaaS physical hardware, establishing or renting facilities, setting up servers, configuring, patching, maintaining, and so on. For early-stage companies, being able to operate on a lean basis can be an essential element of business viability. LOW LOW Level of users’ technical sophistication HIGH

CHALLENGES YOU FACE WITH PAAS Figure 1 PaaS usage scenarios based on levels of user sophistication and software Like all new technologies, PaaS brings challenges along automation. with its many benefits. Getting to PaaS success requires understanding what can get in the way of its fullest realization. Some PaaS challenges are organizational. landscape and be prepared to handle potentially difficult Others are technical in nature. None are fatal. PaaS use cases as they arise. PaaS challenges do not exist in a vacuum. They exist in SCALE AND AVAILABILITY your specific organizational setting. Depending on your Availability should be addressed early with PaaS, especially potential PaaS users and choice of PaaS technology, you if you’ve built an application that can go viral. The “as- will face different versions of the major PaaS challenges. a-service” trend is part of the broader cloud computing Figure 1 provides a perspective. and mobile device revolutions. You have to think through While there is obviously a continuum of users’ technical the implications of the new world of IT as you adopt PaaS. sophistication and platform automation, the four Application load levels can be difficult to predict, both for groupings in the figure can be instructive. For instance, your application and others that are hosted at the PaaS Line-of-Business (LOB) users may find themselves provider. With social media and mobile apps, your PaaS using either a model-based PaaS or a deployment creation could be hit with requests from a huge crowd of PaaS, depending on which technology is available in the new users overnight. That could be an amazing thing or organization. LOB users can take advantage of each it could cause outages and all kinds of disruptions. You platform choice in different ways. With model-based PaaS, must ensure that your PaaS solution can scale easily in the LOB users might be able to build and launch their own response to demand. If your PaaS application is integrated application without much IT department involvement. With with back-end systems behind the firewall, an ungoverned deployment PaaS they will need professional developers to runaway success could disrupt your business. The problem build an app for them. doesn’t even have to be with your application. “Bad Neighbor Syndrome” occurs with some PaaS providers. What is your PaaS use case, or use cases? The way that Bad neighbors are other PaaS customers who share cloud you envision PaaS being used will inform how you deal infrastructure with your application. Even though all with PaaS challenges. It’s possible that you don’t know all PaaS tenants are isolated from each other, tenants who of your potential PaaS use cases, and that’s okay. In fact, consume more than their fair share of IaaS resources can the adaptability of PaaS is one of its strengths. There will cause your application to perform poorly. be uses that people in your organization will invent for PaaS that might not have occurred to you. The trick is to think through how PaaS might fit with your existing IT

www.progress.com 5

RAPID RELEASE CYCLES slow-moving processes in IT, but those processes exist for a reason. Anyone who has ever been asked to find an email Compared to traditional software development, the release subpoenaed in a lawsuit will know the value of rigorous cycle for PaaS is like playing a movie on fast forward. controls and data governance. A shadow IT project hastily This is especially true for model-based PaaS but it also thrown together with PaaS can accidentally create a applies to deployment PaaS. In both situations, code security and compliance minefield. can be pushed into production more quickly than in the conventional developer-to-operations cycle. In traditional INTEGRATION WITH OTHER SYSTEMS software development, a new feature request involves Connections between cloud-based applications built on multiple stakeholders in a clumsy, partially manual review PaaS and other enterprise systems present security, process. A series of handoffs ensues as the feature goes operational and governance challenges. PaaS-based from request to development, test, security review, and software is inherently service-oriented. It has the ability to installation. The process can take a long time. The new call on application programming interfaces (APIs) exposed feature would be developed and tested, then put into on numerous systems. These include APIs that use Simple production in an overall application update. The whole Object Access Protocol (SOAP) as well as the increasingly process might last several months or at very minimum, a popular Representational State Transfer (REST). couple of weeks. Without adequate controls, systems can be exposed Model-based PaaS can make the creation of a new feature through APIs along with the business processes they possible within a couple of hours. Generally speaking, this support. Of course, few organizations simply leave an a good thing. Business ideas can be quickly translated into API totally open to the world. However, the difference in working software. Agile methodology and new streamlining development and change cycles between legacy systems techniques such as “continuous integration” of new code and PaaS software can lead to a “Tortoise and Hare” help provide a disciplined framework for aligning business syndrome where the legacy system cannot keep up with and IT stakeholders with PaaS’ rapid development tooling. new PaaS features. If external users can access internal Yet, these methods cannot create this alignment on business process through APIs that are out of sync, their own. The organization has to be ready and willing to that can cause operational and compliance difficulties. change its approach to software development. The reality Alternatively, if an API is not available because a change in is that most organizations will have software projects the PaaS solution has broken the connection, that is also moving at different speeds. As PaaS becomes one of the bad for business. accepted modes of development, there has to be a parallel organizational commitment to keeping up with the new speed levels in the processes of requirements gathering, ACHIEVING SUCCESS WITH PAAS development, review, test, approval and release. Best practices for PaaS are new and evolving. There is not SECURITY AND COMPLIANCE yet a single, mature set of practices for the technology. That being said, it is possible to frame your IT department’s Concerns about cloud security are not new, but PaaS can approach to PaaS in the context of both the targeted user bring risk exposure to a whole new level. The cloud tends to groups and choice of platform. Figure 2 revisits the usage blur the security perimeter in general. In the old days, you grid from Figure 1 and adds some possible approaches had a good idea of where your infrastructure ended and to managing software projects on PaaS with optimal the rest of the universe began. With PaaS, your business outcomes. extends to multi-tenant servers in vague geographical areas. The ability for non-technologists to set up software The main point of Figure 2 is that there is no such thing on their own, as might be the case with LOB users on as PaaS in a monolithic sense. There is always PaaS in model-based PaaS, can wreak havoc on controls over a specific organizational and technology context—your data access, authentication and authorization. If the PaaS context. Although PaaS is a technology, the best practices application connects to other enterprise systems, it can for PaaS need to be developed from the perspectives of become an inadvertent conduit for improper access and both business and technology. potential mischief. Yes, we’ve all heard this before. IT is about business. Responsibility and accountability are major factors to Software development on PaaS is potentially so fast and consider when making the move to PaaS, especially easy, however, that is requires a rethinking of the business- if there is a “shadow IT” effort in the works. Business IT relationship. Success with PaaS will flow from a PaaS stakeholders tend to complain about all the “red tape” and culture that unites business, IT managers and developers.

www.progress.com 6

The following suggested practices, therefore, blend HIGH business and IT agendas. Each can be adjusted to the IT Pro Users w/ scenario depicted in Figure 2 that best represents Line of Business Users w/ Model-Driven PaaS Model-Driven PaaS your specific situation. IT drives the process, either IT should facilitate the executing the project or SETTING UP PRACTICES AND PROCEDURES development process. facilitating the development process. Level of PaaS FOR RAPID SOFTWARE RELEASES software To make the most of the development speed inherent development automation in PaaS, there has to be cohesion between PaaS software development practices, procedures, and the Line of Business Users w/ tools that are employed to manage the process and IT Pro Users w/ Deployment PaaS create the software itself. Fundamentally, this is a Deployment PaaS IT should be responsible for IT manages process and people issue. The more quickly software stakeholders deliverable, based on LOB project. can collaborate and communicate about the software input. they are developing—or updating—the more effective the PaaS solution will be. The way this is done will LOW vary depending on the interplay between users and LOW Level of users’ technical sophistication HIGH platform, as suggested in Figure 2: Figure 2 „„ When LOB users use model-driven PaaS, they can Possible approaches to managing software development with different user theoretically create applications all by themselves. But and PaaS scenarios they shouldn’t. IT should facilitate the development process to ensure that the end product adhere to corporate standards and doesn’t create data management or security problems. Agile „„ When the organization has deployment PaaS, LOB Monitor, Assess, Development stakeholders need to have input on the application but IT Recommend Improvements should be responsible for development.

„„ IT pros using model-driven PaaS have a choice of executing the project on behalf of LOB stakeholders or facilitating the process.

„„ If IT pros are using deployment PaaS, it’s an IT-centric Continuous, process that will resemble a conventional software Continuous, Automated QA development project, just one that deploys on PaaS. Automated Deployment One solution to the speed of PaaS that is gaining traction is known as DevOps, which is the merging of software development and IT operations. Using specialized management Continuous tooling, DevOps can effect a process of continuous integration development and integration of new code into production. As depicted in Figure 3, the DevOps work cycle assumes never- Figure 3 ending iterations of new software development. The DevOps cycle, which involves continuous iterations of agile software development, review, integration and deployment. It is possible to do DevOps without PaaS but the two concepts were made for each other. The DevOps pattern, which can be implemented in varying levels of intensity with different tooling options, provides a framework for uniting the varied stakeholders who must collaborate on PaaS. Figure 3 shows are continuously notified of software development activities how PaaS and DevOps can fit together to form a fast-moving, that affect them. People involved in various stages of the continuous software development process that brings the application lifecycle have a view of what others are doing. There speed and agility advantages of PaaS to life. Stakeholders are fewer blind handoffs.

www.progress.com 7

PLANNING FOR SCALABILITY solutions scale out well. Those that offer more IaaS-type services can be better in this regard. There are two things PaaS introduces a number of new elements to the scale that can go wrong. The amount of additional VM, , planning process. The ability for systems to be connected with storage and network capacity you provision may not be linear. relative ease in the cloud makes for great agility, but it disrupts You might have to over-provision to ensure the same level the conventional notion of scalability. When you factor in the of service that you have at smaller scale. This is a potential potential for exponential scaling that can arise with viral app side effect of multi-tenancy. In addition, increasing the adoption, it’s an altogether different conversation. The best scale of the application can result in more downtime. This practice is to think through the ramifications of increased difficulty is related to the unpredictable nature of multi-tenant demand at the outset, rather than waiting until scale becomes applications. Server failures will happen in any environment. an issue. Modeling future load may actually affect the The difference with PaaS is that you need to know how outages selection of PaaS tools, because not all PaaS offerings handle will be remediated. Assessing the server failover process is an scale the same way. essential practice to engage in when planning for scale. Scale challenges with PaaS can be sorted into ordinary and Extraordinary scaling scenarios require a little more planning. extraordinary scenarios. In the ordinary case, it is necessary The first step is to think though the potential causes of an to plan for orderly expansion of an application as it expands extraordinary scaling situation. That is, a scenario where from pilot to adoption by a single business division, then the demand for an application might rise by an order of magnitude entire organization, and so forth. An application might have with little warning. For instance, with the relative speed and 500 users at launch, be released to 5,000 users according to ease of connecting applications to one another in the cloud, plan after one year, and then to 20,000 users after the second an organization might want to enter into partnerships that year. Each planned growth period is met with a well-planned require systemic integration. There is nothing new about this, increase in server compute capacity, storage, network, but the cloud means that the integration could be pushed on database instances, and so forth. a fast track that outpaces planning for PaaS scaling. The best IT managers who are planning the ordinary, orderly scaling of practice is to plan for “when” such alliances will lead to big a PaaS application should adopt a practice of modeling their increase in scale, not “if.” future usage predictions with distinctive PaaS characteristics, Seasonal spikes are another driver of extraordinary scale. A including: web retailer, for example, might experience a 10-20X jump „„ User seat license costs in site traffic on “Cyber Monday,” the huge online holiday „„ Cost and performance impact of increase PaaS solution shopping day that comes right after Thanksgiving. This can usage: be anticipated, so the best practice is to simulate the load on the specific PaaS solution you are using. The failover >> Server units (VMs) architecture should also be tested prior to the big day. This >> Databases kind of planning and testing is standard for on-premise systems as well as IaaS-based solutions. Application PaaS >> Storage should be subject to the same requirements. Indeed, as >> Network IaaS and PaaS merge in certain solution offerings, capacity „„ Cost and impact of downtime management is a standard feature. However, it is not a good practice to assume that the PaaS solution will scale properly These factors are universal for any scale planning. Indeed, they during a seasonal spike just because a comparable IaaS-based should look quite familiar to anyone who has had to model the solution functions well at scale. Some PaaS solutions are built way that growth of application usage will affect IT resources. on top of (AWS) IaaS. There is no reason What’s different with PaaS is that increase in demand can to doubt that AWS scales well, but it’s necessary to test the produce some unpredictable results. Take them one at a time: specific PaaS software that’s running on top of it because Seat licenses can be a big deal with PaaS. If you are using a of the idiosyncrasies of PaaS. For example, a seasonal spike solution with a high annual fee per user, you could get walloped might cause an increase in data IO calls that overloads the with licensing costs if you want to grow your user base. A good database servers as they are deployed in PaaS. That database planning practice is to research your PaaS provider’s pricing performance has to be measured in specific terms in order for policies and see if they offer an enterprise option or special the failover to be calibrated properly. contract terms for high numbers of users. The worst extraordinary scale event is one that comes without Server unit expansion, as well as database, storage and warning. Massive bursts in demand can occur as a product network can affect both cost and performance. Not all PaaS

www.progress.com 8

becomes a hot seller or a story attracts global attention. Server, can you make the change? And, if you can make the The proliferation of mobile devices compounds the problem change, can you do it on a self-service basis? If making a through sheer force of numbers. And, this is definitely an change like that requires a special support request, which enterprise computing issue even if it seems to be somewhat must be overseen by a person on your end, you may be consumer-oriented in nature. For one thing, corporate- increasing the IT overhead required to manage PaaS. developed, customer-facing apps are growing in popularity. „„ Platform templating. Some model-based PaaS solutions It might be a high-quality problem to have your business app make it possible to set up a reusable application platform downloaded by a 1,000,000 people, but it’s still a problem if template. For example, your application needs a specific you can’t handle the traffic. Then, there are dependencies. Your , database, and storage array, each with PaaS application might connect to a few harmless partners, numerous custom settings. Building it from scratch over who in turn expose it to processes in their own mobile apps— and over might not be the best use of your IT resources’ which can go viral. The resulting traffic can throw you into a time. Again, this may or may not be relevant, but if you are scaling crisis. contemplating setting up multiple instances of a PaaS The best practices for handling extraordinary scale events application, it could be a driver of efficiency. involve defining service levels and throttling access if certain „„ Hands on service, vs. “self-help.” Support quality levels thresholds of demand are reached. Practices should include differ between different PaaS providers. Some are tooling for access limits that are measured in terms of known completely self-help oriented, or nearly so, requiring you PaaS capabilities, i.e., if you know that your PaaS solution to consult a knowledge database to solve problems. Or, can handle 10,000 simultaneous users in a spike, that is your they require written tickets that get answered within some access ceiling. You should not assume that it can handle preset period of time. This may or may not be suitable 20,000 users because a comparable on-premise system can for your needs. Other PaaS providers make specialized, manage that level of load. dedicated support staff available to you. Of course, this UNDERSTANDING YOUR PLATFORM’S LIMITATIONS latter option is going to be more costly, but might be worth the expense if your application is critical to your business. Every application development platform has its limitations. If you own your application platform and manage it on-premise, „„ Public vs. private cloud. Some PaaS providers force you to you can do whatever you want to it, making adjustments to use a public, multi-tenant cloud infrastructure. This might virtually any aspect of it as conditions change. This is the case be fine. It might be a big problem. The challenge is that it with deployment PaaS. With model-based PaaS, your ability to can be hard to predict where you need to be in a year or exert control over the platform can be limited. two, so the best practice is to work with a provider that at least gives you the option to change from public to private It’s best to think through future use cases and compare them cloud at a later date. At issue are performance, security to the PaaS solution’s capabilities. You might plan to create a and scalability. A private cloud can mean one of two small-scale internal application with a well-defined feature things. It can mean being able to run your PaaS software set and user base. For this type of use case, a simple, model- in a dedicated VM that is not sharing infrastructure based PaaS solution that is low cost, but affords very little with other clients of the PaaS vendor. It can also mean control, might be a good solution. However, given the rapid having the ability to place your PaaS wherever you want release cycle potentially available in PaaS, especially when it, including your own on-premise data center. This may teamed with DevOps, you might start with one incarnation of seem puzzling. If it’s cloud-based, how can it be run on- an application today and be in possession of something quite premise? The answer is that the cloud and PaaS refer to different a year later. A good practice is to map out where you software architectures, not location, per se. You can set might need flexibility in deployment and levels of support and up a cloud architecture in a private datacenter. The only control, including the following important factors: difference will be the “finite” nature of your private data „„ Automation levels. Most PaaS solutions enable self- center, versus the “infinite” capacity of the cloud provider. service provisioning of platform elements. However, the There are hybrid alternatives as well, such as “bare metal” ease of use for the automated self-service options, and the hosting providers that will manage your cloud-based actual range of processes that are automated, can vary application completely on dedicated hardware that is widely. provisioned exclusively to you.

„„ Customization. Does the PaaS solution enable you to „„ Portability. Vendor lock-in is a risk facing developers customize your stack, assuming you want to? For example, who work with PaaS. It is a good practice to figure out in if you want to use Postgre SQL instead of SQL advance if you will be able to move your PaaS application

www.progress.com 9

onto another PaaS solution or on-premise infrastructure require that certain financial actions be made by more if necessary. Making this kind of move is a great option to than one person. For example, it should not be possible have. In some cases, it is possible to migrate an application for a single user to generate a purchase order, approve off of PaaS through a replication process, while not moving the purchase and authorize the writing of a check. That the actual application itself. For example, Progress® Pacific™ is a formula for fraud. However, if you’re taking a shadow gives you the ability to replicate the data architecture and IT approach and doing PaaS “off the books,” so to speak, application logic of software developed on Force.com and you might accidentally create just that kind of problem for run it on Pacific. yourself.

ALIGNING THE PAAS APPLICATION WITH SECURITY „„ Threat protection. Most PaaS providers have robust POLICY defenses against viruses, malware, breach of confidential information, Denial of Service attacks and so forth. That Cloud computing can still raise the hackles of information shouldn’t be an issue. If it is, you’re working with the wrong security specialists. As the industry evolves, though, security provider. What’s significant, though, is how they handle concerns about cloud-based software and data are shifting security incidents and how an incident might affect your from shrill panic to practical embrace. It is essential to work application. A best practice is to undertake due diligence on through security issues in a PaaS application carefully. The the PaaS provider’s internal failover architecture, recovery first step needs to be engaging with the information security time objectives (RTOs) and disaster recovery architecture people in your organization. If you are looking at PaaS from the and procedures. business unit, non-IT level, it may be tempting to go “shadow IT” all the way and keep it secret from InfoSec. This is not a Security is a massive topic that cannot be completely covered recommended practice. in a paper such as this. The best practices takeaways are: The security conversation needs to start at an appropriate „„ Security is a high-priority with PaaS level of risk assessment. That is, if you’re planning to use PaaS „„ It’s a matter that involves both personnel and policy to plan the company softball league, you probably don’t need a „„ Some PaaS security risks can be mitigated with software major security audit and exhaustive risk mitigation plan. If your tools PaaS application contains confidential information or touches financial transactions, in contrast, you will want to do a pretty For example, application-level security concerns can be thorough risk and business impact assessment. Based on addressed with a new generation of API security platforms. the amount of risk your PaaS application is exposing the Under-secured APIs can expose a PaaS application to risk. organization to, security best practices suggest that you work API security tools can take care of authentication and through the following issues at a suitable level of seriousness: authorization of PaaS application users. They can throttle API access and enforce service-level agreements. They can Who owns the code and the data? The answer to this „„ manage the OAuth protocol to authorize access to data by question may at once be obvious and far from it. Your third and fourth parties. contract with the PaaS provider likely states it clearly. However, a good practice is to go get a legal review of FOLLOWING CORPORATE IT’S LEAD ON PAAS your PaaS agreement to ensure that your organization will INTEGRATION be protected if there is a legal conflict with the provider, PaaS needs to be part of the IT department’s purview, even if a bankruptcy or other types of legal incidents, such as it’s a model-based PaaS solution with its primary use driven by third party subpoenas. There are also theoretical-versus- a business unit. While it may be tempting to take the “shadow practical aspects to this issue. For instance, you may own IT” route, there are many good reasons to treat PaaS just like the PaaS code, but if you’re locked into the platform and any other corporate software development platform managed cannot get off it, that code ownership will be meaningless. by IT. If the PaaS application is going to connect with systems „„ Segregation of Development/Test/Production at third parties, it is imperative that the IT department be environments. In the fast-moving cycle of PaaS software involved. Now, you might think, of course, if there’s integration delivery, it might be possible to overlook, or at least with other systems, there has to be an IT project. That’s not blur, the classic dev/test/run separations. For a critical as true today as you might imagine. With Web APIs and cloud application, the best practice is to enforce the strict computing, it is easy to picture a scenario where a third party, separation of environments no matter how inconvenient it such as a distributor or customer, simply asks for your API might be. information and integrates right into your PaaS application „„ Segregation of duties. This is relevant to financial systems without anyone in IT even knowing about it. This is a very where compliance is an issue. Most transactional systems unwise practice.

www.progress.com 10

Connecting a PaaS application to external systems it’s tempting to take shortcuts and release applications exposes it, as well as any internal system it is integrated without considering important security and performance with, to many of the risks discussed in this paper. Security, factors. There has to be a balance between the need for performance, reliability, availability, and scalability are speed and sensible planning and controls. Many software all at risk if the integration is not implemented correctly. tools are available to coordinate and control the PaaS The IT department will know how to handle the integration development process. People are a big part of making process. Integration should be treated as just another PaaS work for you on your terms. PaaS success is an development cycle, managed by IT but subject to review organizational issue because the technology throws and input by all participants in the development process. stakeholders together in rapid development cycles. The pace may be slower than business stakeholders However, the technology itself can only do so much to bring want it to be, but if the PaaS/DevOps model is in use, the about the kind of collaboration that will make PaaS an integration can move a lot faster than a conventional effective mode of software development. Best practices application integration project. should pay attention to the human side of the equation. Finally, PaaS practices will deliver best results when they CONCLUSION foster alignment between multiple agendas in the IT- business relationship. Strategic objectives have to align PaaS technologies have the potential to accelerate with PaaS development practices. Operational plans have software development while reinventing how IT supports to align with security and infrastructure policies, and so the development process. Best practices for PaaS are forth. Balance, people focus and alignment are the key evolving, but three major themes should emerge from this ingredients to getting the results that you want from PaaS. brief review: balance, people, and alignment. With PaaS,

www.progress.com 11

ABOUT THE AUTHOR Michael Benedict is the vice president and general manager of the Progress® Pacific™ cloud platform and Progress® OpenEdge® product line and is responsible for leading the company’s platform-as-a-service (PaaS) and application development businesses. He has previously held other senior leadership roles at Progress in product management, operations, strategy and sales. Prior to joining Progress, Benedict served as director of product management and marketing for online products at Engage Technologies, where he helped grow its market capitalization to more than $3 billion and launched the first cloud-to-on-premise advertising campaign distribution network, Engage AudienceNet. Benedict was also a co- founder and operating manager of NV Company. Benedict received his Masters in Business Administration from the Kenan-Flagler Business School at the University of North Carolina and holds a Bachelor of Science in Civil Engineering from the State University of New York.

PROGRESS SOFTWARE Progress Software Corporation (NASDAQ: PRGS) is a global software company that simplifies the development, deployment and management of business applications on- premise or in the cloud, on any platform or device, to any data source, with enhanced performance, minimal IT complexity and low total cost of ownership.

WORLDWIDE HEADQUARTERS Progress Software Corporation, 14 Oak Park, Bedford, MA 01730 USA Tel: +1 781 280-4000 Fax: +1 781 280-4095 On the Web at: www.progress.com Find us on facebook.com/progresssw twitter.com/progresssw youtube.com/progresssw For regional international office locations and contact information, please go towww.progress.com/worldwide Progress, OpenEdge and Pacific are trademarks or registered trademarks of Progress Software Corporation or one of its affiliates or subsidiaries in the U.S. and other countries. Any other marks contained herein may be trademarks of their respective owners. Specifications subject to change without notice. © 2013 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Rev. 11/13 | 131114-0067 www.progress.com