The worldwide public cloud services market is forecast to grow over $266 Billion in 2020. The Cloud offers unlimited scalability and a ‘pay-as-you-go’ billing model where you are only billed for the resources you consume. However, there is a risk of Cloud expenses accumulating and getting out of control if you do not adopt an effective Cloud Optimization Strategy.
If you have implemented Sitecore Commerce on Azure cloud, you may have experienced a surge in your cloud infrastructure spending. A proactive Cloud Optimization Strategy will help to improve cost effectiveness and at the same time maximize performance, scalability, resiliency, and security of your applications hosted on the Cloud.
The default topologies and tiers provided by Sitecore Commerce ARM templates leave a great deal to be desired in terms of cost effectiveness, scalability, resiliency, and security aspects. With over 50 Azure cloud resources provisioned for the production environment alone, managing cost for a Sitecore Commerce environment can be a daunting task.
In this article, we will explore some of the ways to improve the cost effectiveness of your cloud infrastructure as well as enhance its scalability and resilience.
Create and Maintain An Inventory of Cloud Subscriptions and Resources
Create a list of cloud subscriptions and resources used along with their pricing details. Identifying resources grouped by resource groups along with their cost will be a good place to get started.
Azure portal provides a ‘Cost Management’ feature where you can analyze cost by resources.
Use Tags to Identify and Organize Cloud Resources
Apply tags to your cloud resources, resource groups, and subscriptions to organize them logically. This is a great way to organize and identify the resources that belong to your Production, Staging, UAT, QA, and Dev environments. Tagging also helps in cost analysis since tags appear as a dimension in cost analysis.
Identify Unused Resources
The next step is to identify unused and unattached cloud resources. This is the easiest way to optimize cloud cost. Cloud cost will include charges for resources once purchased but never used. An effective cloud optimization strategy should start with identifying unused and unattached cloud resources and decommissioning them.
Identify Idle Resources
Monitor the resource utilization of your cloud resources. If the CPU utilization for a cloud resource is below 5%, it is a significant waste. A key cloud optimization strategy is to identify such resources and optimize them by right sizing.
Right Size Cloud Resources
Analyze cloud resource utilization and modify them to fit the most efficient pricing tier. Once inefficiencies in memory, database, computing, storage are identified, right-size the resources by scaling down to a lower pricing tier. Enable metrics-based autoscaling to scale-out to additional instances when there is an increase in load and scale-in to decrease instance count when there is a decrease in load.
Also, if Virtual Machines are used for research and development purpose, enable Auto-shutdown policy to avoid wastage.
Identify workloads that do not need to be ‘always on’ or require a dedicated compute/server allocated to it. Consider using Function-as-a-service (FaaS) offerings such as Azure Functions or AWS Lambda for such workloads. Serverless computing is heralded as the next, natural step in the evolution of cloud computing.
To keep pace with the ‘pay-as-you-go’ cloud pricing model, infrastructure financial planning needs to shift from CapEx-based planning to OpEx-based planning. Technology teams must work out the most cost-effective architecture for the business and make sure workloads run as efficiently as possible in the Cloud. The Cloud Optimization Strategy must be mapped and reviewed at each stage of the Software Development Lifecycle (SDLC).
In a recent engagement, the Cloud Optimization Strategy that we proposed and implemented enabled our customers to save up to $300,000 per year in cloud infrastructure spending. That is a 65-70% reduction in their cloud infrastructure spending for Sitecore Commerce hosting. The implementation helped our customers achieve better system performance, scalability, resiliency, and security as well as zero downtime deployments for their Sitecore Commerce solution using Blue/Green deployment strategy.
To learn more about how Marlabs can contribute to your Cloud Optimization Strategy for Sitecore Commerce or Bespoke applications hosted on the cloud, contact us.