Choosing the right cloud platform for Pega
A guide to selecting the right cloud platform & deployment model for hosting & running Pega.
Introduction/Context :
Gone are the days of cloud environments being a luxury for the modern enterprise — today they are a complete necessity, from the last few years could journey become a norm. And when it comes to choosing the right cloud platform for Pega projects, it can quickly get confusing. Questions come from different teams, different stakeholders like below….
Q1. Our organization is moving most of the applications to the cloud, for Pega projects which cloud platform I should select?
Q2. PegaSystems is trying very hard to convince us to use Pega Cloud, Should I go for that?
Q3. Can I run Pega in Private cloud ?
Q4. So many cloud platforms and hosting options that Pega platform supports, which one will be best for us?
Q5. In which Cloud platform Pega will be more performant, but still cheap ?
And many such questions.
This article will guide you to think in the right directions and choose the best cloud platform and deployment model for your specific need to run Pega applications in the cloud.
This Article will NOT cover below.
- Is Pega really Cloud Native?
- Will there be any technical issues if I run Pega in cloud, or on any specific cloud vendor platform?
- What will be the migration journey or delivery execution model?
- What will be compute capacity planning changes required for cloud hosting?
- Will there be any impact on performance or latency ?
Driving and decisioning Criteria:
What will be your target cloud platform, deployment models, it depends upon your “to-be-in-cloud need”, your “Technical, Non Functional , Operational need”, your “current strength/capabilities & Constraints” and your “organizations’ future strategies”. Analyzing and collating answers of those questions will help you to select the right one.
>> First determine why your Pega application need to be on cloud:
Some of the possible reasons could be as below
- You don’t have any specific problem with your Pega projects, there is a drive in your organization for cloud journey, hence you are evaluating the same for Pega projects
- You want to reduce the infra cost for your Pega project
- You are looking for better performance
- You want to reduce your operational overhead
Please identify and list down the reasons behind the cloud journey needed for your Pega project, and we will see in this article how those needs drive the cloud platform selection.
>> What is your organization's future strategies:
Stay with your organization’s overall strategy, don’t define strategy for your few Pega applications in isolation. So check your organization’s long term goal, such as below
- Has your organization selected any specific single cloud vendor for cloud journey ? For example, all other enterprise applications are in Azure, but if you are selecting AWS for your Pega or you are selecting Pega Cloud Service with AWS flavor, then there could be some challenges.
- Does your organization will support private cloud as future strategy
- As part of app modernization, is your company promoting the use of Managed services & PaaS offering from cloud vendors.
- Does your organization encourage “No Technical lock-in”, “No Vendor lock-in”, “Multi cloud portability”, “vendor neutrality”, “Freedom to build. Flexibility to change”. All are the same thing with different names, ensuring your app can run on any cloud vendor platform.
- Are you organization goals for adopting containerized applications?
- Does your organization allow Hybrid cloud
- What is important for your organization, money vs operational efficiency vs future ready-technology. By bringing operation efficiency you save cost on the support/maintenance team.
>> Define your Technical, Non Functional, Operational need :
Please evaluate whether you need any specific control or flexibility over the platform where Pega will run, because that requirement may change the dynamics of choosing the correct platform. Such requirement samples are below
- Do you have any needs for a specific Security process, running specific security tools, or specific encryption criteria.
- What is your Data localization & Data Privacy policy for the specific Pega applications
- Does your organization have a defined DevSecOps process and tools? Will that be supported in the selected platform where Pega will be hosted.
- Do you need more granular control & flexibility to change ( over network, ingress, load balancers, auto-scaling, DR/HA, Security, Scanning versioning/patching, backup/purging/archival, monitoring)
>> Check your current capabilities & Constraints :
Check you current strength and constraints of Operational & echnical capabilities, such as below
- Are the current project team members aware/trained of Cloud and its basic services.
- Is there one or two resources aware of DevOps(CI-CD)
- Does the specific Pega application have strong integration requirements with other applications which may or may not be in the same cloud platform or may be in On-Premises?
- Any security concerns of your applications
- Does the current team are trained or already have experience in Container & Kubernetes
- Does your organization have any Container/K8S CoE or operation team?
- Are your team ready to setup, maintain VPC, security, and database? Are you ok to maintain a team for patching, upgrading platforms ?
- Do you have experience or are ready to invest initial time to install/configure Pega.
- Are you ok to install, configure, upgrade Pega strategic application (Pega industry framework) by your own in your target cloud platform or do you need a fully managed platform from IaaS, PaaS to Pega and Pega industry FW?
When you are better equipped with the answer to all the above questions, then you should try to match the Pega platform options available for your need of priorities.
Platform /Deployment options & decision matrix :
Below is the tree of platform options available to host/run Pega in cloud. In the options tree below we have not considered the classic Pega installation in on-premises server, because we are talking here Pega on cloud.
At first I thought of drawing a decision matrix as a flow chart, but it became a spider web and hard to follow. So representing in rating/scale chart format which will help you to decide easily by calculating the cumulative score based on your needs of factor for different platform options.
Frequent Questions comes in Mind
Why Should I Opt PegaSystem Cloud Service?
- It brings Operational efficiency, Peace of mind.
- No need to maintain a team for Platform setup, maintenance, monitoring
- No Need to main a team for installation of Pega or It’s Framework
- Hasslefree Pega platform Upgrade.
- Ready on day-one to start your development, no need to wait even for 1 week to set up your own platform & Pega, even on Public Cloud
Why should I not go with PegaSystem Cloud?
- Pega Cloud hosted on AWS, now if your other interfacing application is running on Azure or GCP then setting the connectivities among cross cloud could be challenging (though not impossible) and time consuming and also may pose some security concerns.
- Flexibility of setting your choice of DR (Disaster Recovery) strategies is limited.
- Deployment region constraint, There could be (very less chance) a scenario where you need a specific geographical deployment cloud region for Data regulation, and Pega CLoud Service not supported for that region.
- Pega Cloud Service runs on AWS in its own VPC, Cross VPC connectivity setup with your own network, or Direct connect setup could be challenging even if you are already in AWS.
- Fixed price, no clarity or no usage based pricing. Sometimes it is based on the number of Pega Cases, sometimes best on relationship, sometimes based on how many Pega Framework you are using, sometimes based on relationship. so it is more Pega product centric pricing rather cloud resource usage based pricing. In this point I may be wrong, as I have no clarity how Pega priced to all different customers.
- You will not have flexibility to configure scalability in your way.
- Running Custom Pega image could be challenging in Pega Cloud.
- Running your own security scanning tool/process could be challenging if you are using Pega Cloud
Conclusion :
So many complex criteria and options, So what is the simple way to decide ? What is your recommendation?
Let’s follow this simple rule. If you want peace of mind with extra money to spend, then go for Pega Cloud. If you want multi cloud portability and better control & flexibility then go for Kubernetes PaaS platform like AWS EKS/Azure AKS/GCP GKE, provided you have some level of cloud operation maturity.
The best of both worlds :
I have seen some clients who are having the best of both worlds. To do a quick start in their project, they are using the Pega Cloud to start with during the design & Development phase. After gaining experience, maturity and initial momentum, they are using either Private Cloud or Public Cloud to run a pega application for Stage and/Or PROD env on their own.
Note:
- Always perform an assessment for cloud readiness of the Pega application you are planning to run on a cloud platform. Even Pega as a platform can run on cloud but your Pega application may not ready.
- Currently if you are not operating in Private cloud mode, then only for Pega no need to choose Private Cloud path, better to go on Public Cloud route.
- If your pega application needs to interface other applications which are running in NON AWS cloud platform, then better to avoid Pega Cloud.
Hybrid Cloud:
Have you thought of having the Pega DB (heart or engine of pega) being in a Private cloud or Private Data center (within the client’s firewall, on-premises) but the App server on Public Cloud ? I am leaving it here without any input, as food for thought for you.
Note: Opinions and approaches expressed in this article are solely my own and do not express the views or opinions of my employer, Pegasystems, any cloud vendor, or any other organizations.
Some of the product names, logos, brands, diagram are property of their respective owners.
Please: Post your suggestions and comments to express your view where you agree or disagree.