Anybody who thinks that the cloud is a fad or that their organization is immune to its benefits is clearly in denial. It’s a bit like denying global warming as the glacier melts under your feet.
According to Gartner, the worldwide public cloud services market is projected to grow by 17% in 2020 to $266.4 billion—a leap from $227.8 billion in 2019. Cloud application infrastructure services are projected to grow by more than 80% between now and 2023. In a recent survey conducted by Quest Software, DBAs cited a sharp rise in the percentage of their workloads pushing into the cloud. The survey also showed that organizations were maturing in their use of cloud services, moving beyond infrastructure as a service (IaaS) with 20% of their database workloads now in platform as a service (PaaS).
Why exactly are folks looking beyond our traditional platforms running on internet information services to use dedicated PaaS platforms?
Organizations have progressively pushed more infrastructure from on-premise data centers into cloud data centers. Some of this is driven by the desire to reduce costs, but more often than not, organizations are realizing that the infrastructure required for the level of connectivity, data growth, and analytics needed for success in a modern organization is well beyond the reach of homegrown infrastructure.
Financial services organizations are using vast datasets and AI for forecasting and fraud prevention. Call centers are implementing chatbots and intelligent call routing with AI. The explosion of IoT is profoundly changing the automobile industry. Farmers have cloud services to identify optimal fertility for livestock. Even refrigerators are connected to cloud services. Sector after sector is seeing disruptive shifts driven by cloud-enabled technology such as IoT or AI. This has created another explosion of new technologies to support edge computing.
As these trends move from the realm of the early adopter to that of the early majority, there is a mind-boggling array of new technologies for development and administrative teams to grapple with. Hybrid environments started simply as mostly on-premise workloads with some services from a single cloud vendor. Today’s hybrid environments have some on-premise workloads with a broad variety of services across more than one cloud vendor, all supplemented with an array of edge computing technologies.
What Does All of This Mean for the Overworked DBA?
On the negative side, it means a lot of change, disruption—and a stack of new technologies to learn. On the plus side, it translates to a lot of opportunities, the elevation of the importance of data to new heights—and a stack of new technologies to learn. There has never been a more exciting time for database professionals because they are now seenas a pivotal part of organizations’ infrastructures and essential to their ultimate success. So, let’s go back to the original question: Why are so many people moving to PaaS?
Security and Compliance
Managing security and compliance across multiple platforms, on-premise, and across multiple cloud vendors is becoming increasingly fraught. The PaaS platforms, and the service infrastructure that contains them, are becoming richer in features to manage these issues. Cloud data centers are built with high security and high resilience as a priority. PaaS platforms will have specific features around high resilience built in, with some supporting more complex, high-availability scenarios such as replication and failover across regions. For example, Microsoft recently announced Azure Arc, which builds governance capabilities across multiple cloud environments.
Moving to IaaS can be a first step toward reducing costs. There is no doubt that it is the fastest and most frictionless manner to move existing applications to the cloud. Once we are in the cloud, we begin to realize its limitations. Cloud infrastructure is not necessarily cheap, and a platform that is not designed for the cloud will not be optimized to get the most from cloud infrastructure. It makes sense for any greenfield applications to use a platform optimized for the environment in which they will run. We can also take our legacy applications that are generating high cloud costs and progressively migrate them to more cloud-optimized PaaS platforms.
Any PaaS platform worth its salt takes care of basic administrative tasks, such as provisioning, backups, and patching. It manages the entire environment, including the hardware, operating system, and networking. Provisioning can easily be scripted, making it easy to spin up test or development environments.
The ease of provisioning removes a cost and management headache, and it also makes PaaS much more naturally aligned to modern agile practices, continuous integration, and deployment. Test environments can be spun up for short periods and then retired with minimal cost and effort. Many PaaS platforms are optimized for specific workload characteristics such as auto-scaling. When choosing which platform is best for your application, pay close attention to the scaling limitations.
Why Would You Not Use PaaS?
PaaS platforms manage many aspects of database platforms for you. In doing so, they can take away some of the direct control you have. If you have complex environments which demand non-standard replication or availability scenarios, you may hit some restrictions in specific platforms. If you have to write intensive applications, you may need your database situated on-premise, although you may still use a PaaS platform to manage historic data, AI, and BI use cases.
Which Platform to Choose?
There are many different options. For example, if SQL Server is your current platform, you have Azure SQL Database with a single database deployment option, Azure SQL Database managed instance, and Amazon RDS for SQL Server. All have their own unique characteristics and constraints.
Carefully consider the specific demands of your workload. Here are a few questions to get you started:
- How big will it scale?
- Does it need to scale automatically?
- How does it compare to similar platforms in terms of cost?
- Will the requirements vary over time?
- Is it reading- or writing-intensive?
- Does it operate across regions?
- What kind of availability scenarios need to be considered?
- What management tools and capabilities does the cloud vendor provide?
- How much refactoring on the existing implementation is needed in order to migrate to this platform?
- What kind of interoperability do I need with other platforms?
Look closely at the various service tiers and the parameters by which they are gated. Consider how they are throttled in the event that you hit a limit of the service level chosen.
If possible, spin up a proof of concept with a representative workload and measure the performance with an independent performance-monitoring tool. If you can’t reasonably simulate your specific workload, consider a TPC load testing tool with a TPC benchmark that is similar to your environment.
As we move more of our infrastructure into the cloud, it is becoming obvious that we should begin adopting platforms built specifically to leverage the benefits of the cloud. The move to PaaS/DBaaS is inevitable. Take time to consider the best platform, look long and hard at the costs, and enjoy the journey!