Moving Components to PAAS? What To Expect
Upgrading a component to a newer version can be a large project with many challenges. Read this article to see how to solve these issues using the PAAS model.
Join the DZone community and get the full member experience.Join For Free
A Solution for Many Problems
A large software usually has many components, UI, middleware, and backend. Depending on the domain, you can also have ETL, Analytics systems, AI systems, and data ingestions systems.
In order to support a large system on an IAAS model, you will need many VMs, as well as people to manage the day-to-day administration and patching. Responsibilities also include:
- Disk Network
An upgrade of a component to a newer version can be a large project. Additionally, if you have a need to add more computing, you may need anywhere from a couple of days to a couple of months to prepare the VMs, install the components, make the network setup, etc.
Most of the above issues are solved by the PAAS model. You simply purchase the platform from a cloud vendor, and with some configuration, you are good to go. To be honest, the initial setup can take a couple of weeks, but it is still better than the setup on virtual machines.
For example, moving a database from an IAAS to a PAAS can involve a data classification, infosec assessment, data migration activity, or dry run. But remember: this activity will be one-off on a cycle of 3-5 years and is still easier than a major upgrade of your database to a newer version.
Next, let's focus on moving to Service Bus and Azure Cache for Redis.
Azure Service Bus
Azure Service Bus is an excellent solution for queues and topics. It comes with 3 tiers: the basic tier can be used for development, the standard is recommended for most production workloads, and the premium can be used when you have large messages (more than 256kb and less than 1MB). One challenge that you may face is the need to compress the messages before pushing them to the queue. The compression will let you use the standard tier and have a good cost-saving.
Microsoft provides an SLA of 99.9, which means that you will have 8.77 hours on a year where Service Bus will not be available. Hence you should think of a retry mechanism on the publisher side.
If you want to learn more about the difference between standard and premium, you can follow this link.
Azure Cache for Redis
The Azure Cache is an outstanding alternative to a Redis enterprise edition or Redis community edition in IAAS mode.
Microsoft proposes many options and tiers, the comparison can be found in this link.
Some best practices to follow on your implementation include making sure the payload should be small and reuse of the ConnectionMultiplexer. More details can be found here.
In addition, you have to keep in mind that the SLA will be 99.9% of availability if you use the premium tier (a nice option that comes with clustering and data persistence and you can store till 120GB). Think of a retry mechanism or a backplane to a database in case the cache operation returns a server error or when a timeout occurs.
Opinions expressed by DZone contributors are their own.