How Adopting PaaS Will Change Your Team
Tags: devops, webdev, architecture, management
Published: 2020-01-24 19:54:44

If your project is considering PaaS, then you may be worried about how this change might impact your team—and rightfully so. Switching to PaaS often results in major shifts in roles and responsibilities. In this article, we will look at some of the most common changes to help prepare you and your team for the shift. (If you haven’t yet decided on PaaS, and you’re interested in exploring the differences among PaaS, IaaS, and On-Prem, you might want to [check out this article](https://dev.to/mmbogan/paas-vs-iaas-choosing-the-right-technology-for-your-project-4ln4) to help you decide.)

In general, moving to PaaS means a large portion of your project's technical complexity will be handled by a vendor. Dr. Warner Vogels from Amazon Web Services (AWS) has written extensively about removing ["undifferentiated heavy lifting"](https://www.cio.co.nz/article/466635/amazon_cto_stop_spending_money_undifferentiated_heavy_lifting_/) so you can focus on core competencies essential to your business. However, this significant change impacts team members' roles and responsibilities.

Let’s look at how this change will affect DevOps, software developers, engineering, and business managers.

##DevOps: Be More Productive

Perhaps the role most impacted by the switch to PaaS is DevOps. After all, vendor-managed DevOps is the main benefit of PaaS. If your role is DevOps, you can expect much of your daily routine to be made easier by PaaS. The PaaS now operates the infrastructure, which means fewer pages in the middle of the night. You can manage a larger system without a proportional increase in effort, hit more of your metrics without adding more responsibilities, improve confidence in security, and rather focus on other critical business priorities. 

So what DevOps responsibilities will PaaS manage? Most PaaS solutions will manage both hardware and software for you. Here is a chart that outlines some of the most common DevOps responsibilities that a PaaS vendor (in this case [Heroku](https://www.heroku.com/)) can manage for you:

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/7imvjchtxxytp145om20.png)
<figcaption>Slide from <a target="_new" href="https://www.salesforce.com/form/events/webinars/form-rss/2066126">Learn How to Build Customer-Centric Apps Using CRM Data</a></figcaption>

##Developers: Focus on Code That Makes Your Project Unique

If you are a developer, switching to PaaS means freeing your time to focus on the code that truly matters to your project – the business logic. 

Since your PaaS vendor will handle your platform technology, you should find yourself spending less time (if any at all) on boilerplate infrastructure, scaling, deployments, and other issues that are common to all projects. Instead, you should be able to focus more on what makes your team (and product) unique. And because much of the platform complexity is handled for you, you should see a significant reduction in the amount of code you need to write. Check out how a PaaS enables DrivenData to achieve ["Minimum Viable Process"](http://drivendata.co/blog/minimum-viable-process/) by automating as many steps as possible.

Less complexity and code also mean you will have more time for experimentation. Your PaaS solution probably comes with a wide variety of technologies already integrated (or available as plug-ins/add-ons) with your platform. For example, Heroku makes it easy to add additional platform services as "add-ons". You could quickly [try out Papertrail as your logging solution](https://elements.heroku.com/addons/papertrail), or [Redis as an in-memory data store](https://elements.heroku.com/addons/heroku-redis). These technologies are available to you and are pre-configured for rapid experimentation and exploration. As a result, you will not only have more time available to try out new ideas, it will also make trying out new ideas easier.

Of course, it’s important to remember that you'll be trading flexibility for simplicity. You’ll have fewer decisions to make as long as your use case matches closely to what the vendor provides. If you have unique use cases, then you may need to spend time integrating them. In rare cases, you may not be able to accomplish your goal with the vendor's platform. Therefore, be sure to do your due diligence and build a proof of concept before committing to a specific platform.



##Engineering Managers: Focus on People and Process

If you're an engineering manager, you’ll also see changes when your team moves to PaaS. PaaS solutions often make your life as a manager easier by handling rote tasks that use up time, such as analytics, reporting, cost estimating, and cost monitoring.

A PaaS platform can deliver high availability and better performance to your customers, thanks to multiple regions or availability zones. So, you should see an improved quality of service without managing that infrastructure yourself. And because PaaS handles scaling, you should see a reduction in those dreaded “hug of death” alerts. You won’t need to scramble when your product is successful. Your app is ready for more customers when you are.

However, PaaS can create a few new problems for managers. When considering proprietary solutions, consider the risk of vendor lock-in. Some PaaS solutions offer fully-managed systems built on open-source technology like PostgreSQL or Redis, which can reduce this risk. 

Additionally, look for vendors that offer observability into the system operations which can help when diagnosing problems. For example, Heroku offers dashboards for its services to monitor CPU, memory usage, and more. Third-party vendors can provide even more insight through add-ons for APM, logging, and more. 

As we mentioned earlier, you also need to investigate the platform to determine how well it supports your technical and business needs before making the switch. This will require work to define the key objectives, indicators, and conduct a proof of concept before making a commitment to switch. 

Overall, with the right PaaS solution, you can expect to spend less time on administrative tasks and technical meetings, and more time on what you are good at: managing talent and resources, improving processes, and delivering a great experience to your customers. This is why TriFin Labs, an app-dev consulting company, recommends PaaS to over 90% of the companies they speak with. According to [their case study](https://trifinlabs.com/heroku-vs-aws/), "With a new product you need to remain agile, you have to keep costs down to give you enough runway to find product-market fit, you need to spend all of your energy on creating an amazing product your users will love, and all signs point to Heroku [PaaS] being the right choice." 



##Business Managers: Improve Business Agility and OpEx

For everyone on your team, the switch to PaaS typically creates a much faster release cycle and quicker time-to-market overall. Because PaaS handles so much complexity and so many technical details, it tends to reduce costs and time spent on administration, maintenance, staffing, and training. 

Intel, for instance, [saved almost 70% on their costs of application instances after moving from IaaS to PaaS](https://www.intel.com/content/dam/www/public/us/en/documents/best-practices/utilizing-paas-for-business-agility-and-it-efficiency-paper.pdf). PaaS often makes your team leaner and more focused. [According to this case study by Dubsmash](https://www.heroku.com/customers/dubsmash), a video-sharing service, without PaaS they would have to "hire at least four full-time DevOps people to run a service like Dubsmash at scale. Instead, Heroku [PaaS] makes it easy for [their] lean team to manage operations and maintain a high standard of quality for [their] users." 



##Conclusion

Moving your team to a PaaS solution will mean big changes. However, your team should see a reduction in costs and complexity overall, and an increase in the ability for team members to focus on their unique skills and the value they bring to the product and the business as a whole.