Microsoft Azure SQL \u2013 Hyperscale<\/strong><\/li>\n<\/ul>\nIn the end, C&E decided on Microsoft Azure SQL -Virtual Machines. With huge processing needs and a major requirement for scaling, Microsoft Azure SQL – Virtual Machines proved to be the best fit.<\/p>\n
Selecting the right machine<\/h3>\n C&E would need a high input\/output operations per second (IOPS) and a fair amount of network throughput to support the CTP\u2019s more demanding components.<\/p>\n
The team immediately began testing different virtual machines against the on-premises environment, evaluating how each option performed compared to physical machines. Three tests were conducted, with each scenario representing a different process demand our CTP might require.<\/p>\n
The tests sent different workloads through the virtual machines, starting with small block sizes, moving towards progressively larger requests. This benchmark helped C&E determine that the largest virtual machine, the M-series, would be needed to sustain some of their performance needs. However, the M-series was over-capacity for some of our CTP\u2019s processes, making it an irresponsible choice.<\/p>\n
Fortunately, being in IaaS gave them flexibility, allowing C&E to assign different processes to the appropriate virtual machine. The M-series would be used for anything that required high IOPS and throughput, the rest of CTP could function on the E-series.<\/p>\nMicrosoft Azure presented several different options for C&E. In order to meet all of our CTP\u2019s performance requirements, the team performed several tests against usage scenarios.<\/figcaption><\/figure>\nStoring data in Microsoft Azure<\/h3>\n C&E had been using a storage area network (SAN) infrastructure for storage. This hardware network is expensive to purchase and replace, but the benefit is high performance specifications\u2014such as less than a millisecond response time\u2014and improved availability. The team needed an equivalent in Microsoft Azure and narrowed it down to two candidates: ultra disks or premium SSDs. The ultra disks were the fastest option, and closely resembled a SAN, but were far more expensive. After testing, however, the premium SSDs matched the patterns of C&E\u2019s existing SAN.<\/p>\n
Dedicated to the cloud<\/h3>\n Before migration could begin, C&E had to determine if CTP would be a dedicated host or an isolated virtual machine. In the end, they used both.<\/p>\n
The M-series machines were needed for meeting a few core processing and throughput functions. However, they are only available as isolated virtual machines, which limited the types of machines available. Since the M-series were over-capacity for most of our CTP\u2019s needs, C&E had to come up with a blended approach.<\/p>\n
By running their virtual machines on a single-tenant server, Microsoft Azure Dedicated Host (ADH), C&E could mix and match the size of their virtual machines, a necessity for the custom virtual machine arrangement.<\/p>\n
Being on ADH also posed some challenges. The C&E team would need to patch their own systems to align with their storage management approach. It also meant the team would have to select which regions and availability zones they would configure to. Fortunately, C&E understood how to configure the CTP in ADH without giving up availability or performance.<\/p>\n
Splitting the platform between isolated and ADH, C&E could easily set up and manage the environment correctly, using the M-series to handle some of the high processing functions and a mix of machines on ADH for CTP\u2019s other operating needs.<\/p>\n
Managing a hybrid migration<\/h2>\n With a new Microsoft Azure-based infrastructure in mind, C&E was able to begin work on moving our CTP over to the cloud.<\/p>\n
C&E would take a hybrid approach to migration, relying on SQL to create a seamless transition between on-premises and Microsoft Azure. This side-by-side approach meant C&E could gradually shift our CTP away from a legacy environment without disturbing the growing business. It also enabled the team to compare customer experiences between the two environments and verify that Microsoft Azure was giving users the same results. This careful approach allowed C&E to strategically shut down on-premises machines and let the cloud take ownership of transaction processes.<\/p>\n
Divide and conquer<\/h3>\n Four primary components make up the CTP:<\/p>\n
\nOnline services.<\/strong> A layer exists between the UI\/UX and the rest of the CTP. When a user clicks through their purchase, our CTP\u2019s online systems interpret this signal as an input to verify the transaction.<\/li>\nBackend processing.<\/strong>\u00a0The system responsible for handling subscription renewals in batches. This backend system triggers on a billing date, not a user input, to begin verification.<\/li>\nData storage.<\/strong>\u00a0Every transaction needs to be recorded somewhere. C&E relied on a powerful SAN with a very fast response time to reliably record transactions.<\/li>\nRevenue recognition.<\/strong> Without a way to recognize a transaction as reported revenue, then our entire CTP fails. The revenue recognition system supports that crucial process.<\/li>\n<\/ul>\nIn segmenting our CTP into four operational segments, C&E was able to develop their migration strategy around systematically moving the platform into Microsoft Azure one component at a time. It also allowed the team to evaluate different performance needs, configuring their new environment to meet or exceed requirements. Each on-premises component was mapped to a suitable corresponding service in Microsoft Azure.<\/p>\n
Making the move<\/h3>\n Migrating our CTP\u2019s four components required careful coordination, with the difficulty varying based on visibility and the ease at which the feature could be tested. A few of the services had shared infrastructure and overlapping components, which helped ease the transfer from on-premises to the cloud. Online services and revenue recognition, for example, were straightforward lift-and-shifts that were easy to test, as the team had immediate feedback if something wasn\u2019t working.<\/p>\n
Before shutting down the on-premises components related to backend processing, C&E had to fully mimic what was happening in a pre-production environment. A verification path was built between the two, which allowed C&E to slowly move backend processing jobs from on-premises to Microsoft Azure. It was a simple process for C&E, but they were rigorous with testing and examination to ensure no side effects were swallowed up by the move. This ultimately led to revamping the validation infrastructure to be suitable for Microsoft Azure.<\/p>\n
Over six petabytes of data needed to be moved from on-premises SQL servers to the cloud. This was achieved by adding Microsoft Azure IaaS machines as secondary to existing SQL AlwaysOn Availability Group clusters, then migrating over components one by one. Initially, Microsoft Azure served as the primary during normal online transaction processing (OLTP) traffic, but once C&E was confident in the migration, Microsoft Azure became primary for backend job processing tasks requiring higher CPU, disk IOPS, and throughput as well.<\/p>\n
Microsoft Azure Resource Management (ARM) templates were used to carefully control how objects moved from on-premises to the cloud. ARM enabled the team to easily provision, modify, and delete resources. We also copied backups from on-premises to Microsoft Azure, restoring them within virtual machines to establish a data sync. This enabled a seamless failover approach. When it was time to turn off the on-premises systems, C&E was confident that they had made the right decision.<\/p>\n
Life in the cloud<\/h2>\n For almost 20 years, C&E had relied on a variety of on-premises machines to run our CTP. If something went wrong, there was someone in their organization dedicated to solving the problem. By moving to Microsoft Azure, C&E doesn\u2019t need to dedicate time and resources to troubleshooting\u2014the cloud team does that for you. Still, the paradigm shift took some time to get used to.<\/p>\n
Pressure testing in Microsoft Azure demonstrated that there was no data loss or inaccurate figures when users engaged the new cloud-based infrastructure. The Microsoft Azure team was responsive, engaging closely with C&E, carefully scrutinizing details to make sure the migration was a success.<\/p>\n
The complexity of a hybrid environment was ultimately the biggest challenge, but it was a requirement of the migration. Now that our CTP is in Microsoft Azure, those issues are a thing of the past.<\/p>\n
Cost-efficiencies for CTP<\/h3>\n In addition to offloading infrastructure management costs to the Microsoft Azure team, C&E has actualized savings through system optimization and the elimination of hardware maintenance. On-premises servers and hardware continue to increase in price, but that burden has been offloaded.<\/p>\n
Additionally, C&E is seeing savings in operational costs. While the team initially opted out of some upfront savings to get a better system, they\u2019re finding ways to optimize processes to introduce cost savings.<\/p>\n
It\u2019s also important to note that services available through the native platform have reduced C&E\u2019s dependence on third-party platforms.<\/p>\n
Better performance and reliability<\/h3>\n With the on-premises environment, C&E would experience a few issues each month. Automation and self-healing functions inside Microsoft Azure have reduced the frequency of disruptions significantly.<\/p>\n
Microsoft Azure\u2019s strong SLAs have better guarantees than C&E\u2019s on-premises equivalent, giving our CTP a reliable foundation to operate on. The platform also benefits from improved monitoring capabilities made available through Microsoft Azure, giving the team greater visibility into what\u2019s happening inside our CTP.<\/p>\n
New features are on their way<\/h3>\n Thanks to the native service features available to Microsoft Azure, C&E now has access to new features that can be quickly deployed, working right out of the box.<\/p>\n
A path to PaaS<\/h3>\n While the initial migration required C&E to utilize IaaS, the seamlessness of SQL means that our CTP can eventually be moved to a PaaS environment, as the team initially envisioned. This will introduce more flexibility, giving the team an even easier service to manage.<\/p>\n
An easy way to scale<\/h3>\n C&E can now double or reduce the number of virtual machines in a matter of minutes. Not only does this speed their response to high volume loads, it does so in a cost-optimized way.<\/p>\n
Importantly, the C&E team didn\u2019t need to downscale their needs. Microsoft Azure matched them.<\/p>\n
<\/h2>\nIn the end, C&E was able to secure better performance, improved reliability, scalability, and much more for our CTP by migrating to Microsoft Azure. A refresh cycle used to take six months or more, now it\u2019s a matter of weeks. Decisions can be made quickly and with confidence, as the native environment allows features to work out of the box. As our CTP becomes more optimized within Microsoft Azure, new savings will be uncovered along with more performance opportunities.<\/p>\n
<\/p>\n
\nRead more about boosting Microsoft\u2019s transaction platform by migrating to Microsoft Azure<\/a>.<\/li>\nExplore moving Microsoft\u2019s financial reporting processes to Microsoft Azure<\/a>.<\/li>\nDiscover modernizing enterprise integration services using Azure<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"This content has been archived, and while it was correct at time of publication, it may no longer be accurate or reflect the current situation at Microsoft. For almost 20 years, our Microsoft\u2019s Commerce Transaction Platform (CTP) processed online payments through an on-premises environment, verifying that all transactions had been processed, sales had been finalized, […]<\/p>\n","protected":false},"author":146,"featured_media":9331,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"_hide_featured_on_single":false,"_show_featured_caption_on_single":true,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1],"tags":[],"coauthors":[674],"class_list":["post-9327","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","m-blog-post"],"jetpack_publicize_connections":[],"yoast_head":"\n
Bringing Microsoft\u2019s commerce platform to Microsoft Azure - Inside Track Blog<\/title>\n \n \n \n \n \n \n \n \n \n \n \n \n\t \n\t \n\t \n \n \n \n\t \n\t \n\t \n