If you are looking to grow your online business while paying what you use. Or want to add true agility to your tech platform, then you might want to explore moving your business to the cloud.
Cloud can enable any business to add resources as needed. This comes with the ability to manage your costs, scaling up and down. This rapid elasticity enables the business to pay as per use. Also, the on-demand self-service nature of services adds to its attractiveness to all kind of businesses.
In this article, I will talk about the different options you have while choosing the cloud for your application. Also will talk about the important factors that you should consider before making the move. So, let’s dive in.
Deployment and Delivery Models:
Cloud comes in different deployment models, Private, Public, and Hybrid with a different delivery model as SaaS, PaaS, and IaaS.
SaaS: To understand SaaS, think of salesforce.com. Many such applications in the field of CRM, Accounting, Shipping are SaaS-based. You can’t customize them but can use their open APIs to talk to your other systems.
PaaS helps you to take you dev, test, deployment in the cloud. Essentially such services are for business that has custom development functions in place. PaaS service enables players with development needs and is building an application that can be built, tested, and deployed quickly. In case, custom development isn’t an option for you, you might not want to explore such services.
IaaS comes in the form of data centers powering resources like compute, databases and so on. Google, Microsoft, and AWS are the leading players in this sector. Essentially any IaaS providers, will be helping you with infrastructure resources like storage, compute, databases, and many other services like Machine learning, IoT based Services. All can be bundled together to configure an infrastructure that best suits your needs.
For deployment, there can be different variants and combinations that you can use with the cloud.
You have the option of a Private cloud (Usually for enterprise — owned or leased), Public Cloud (Outside of enterprise), Hybrid Cloud (Utilizing both enterprise and public cloud) or MultiCloud (You might be working with Public or Private using Google, AWS, Azure)
Now coming towards the important factor that determines your move to the cloud.
1- Costs
With the cloud, you are essentially moving to On-Demand Pricing.
In terms of costs, you need to determine the strategic implication of your budgets. The move should justify the ROI. The costs are not always operational in nature but are also of resources, deployment, and building your application.
For small businesses, it’s crucial to understand the business case and the effective ROI for a move to the cloud.
You need to define the Core Matrices for determining costs, don’t just look at the current spend but also as you scale. Also look at the growth rate. A small incremental cost that you are ignoring, to begin with, might become huge, once you are in the growth stage.
Always keep in mind that the pricing will change. Right now, prices are moving downwards, but that might not be the case down the road. Many operators are offering free-tiers or a certain compute power for free, but that might not last forever.
Every provider has its own mechanism of charging and you need to learn about those. So knowing the increments in which you will be charged and forecasting your own consumptions will help you come up with proper cost governance. So, utilize the free cost calculators available with each provider, AWS, Azure, and Google to determine your monthly bills.
2- Security
Security is a major, in fact, may be the most important factor, that you need to address to build a cloud-native application or transition your business to cloud.
Security is multi-dimensional, and you will have to deal with identity access management, encryption, roles, policies, compliance, management and so on. So, you need to determine your current requirements and also look at some of the issues that might come up later on. Once you scale, a small business can become a totally different business. Issues like data at rest or in flight, that wasn’t relevant, to begin with, will become major issues. So, a holistic strategy with security can help you safeguard your business against security threats.
There can be different ways you manage the risk associated with migration to the cloud. You can start off with more Reactive Minimum Viable Security policies to Proactive and Predictive security measures. You can use layer tools or integrated tools to manage and deploy your applications.
3- Governance
Coming up with a better governance plan will help you with the control of usage using policies. In essence, you are defining what can be done, who can do what, and how different tasks will be managed. Governance will help you define Abstraction Policies, Identities and so on.
Governance is inherently requirement driven. For a small business, governance might be very different from the bigger companies. Also, each situation with its associated problems will have different approaches or tools to deal with.
In terms of the solution, you have the option of Cloud Service/API Governance, Cloud Management Platforms, or Provider Native Governance. All such tools can set your operations for managing at runtime (active state) or in Passive State. In case you are venturing into industries where compliance is an absolute must, you have no other option but to work with governance tools and policies. Examples of such regulations could be of HIPPA, GDPR and so on.
4- Deployment and Testing
Your application development requirements might compel you to leverage the cloud development environments. You need to be sure that such operations do add value to your business.
DevOps can add a massive value for cloud computing because of its ability to leverage the technology effectively and its integration. Such operation allows you to move to the system of continuous design, development, testing, and deployment. With DevOps in the background and utilizing cloud architecture, you might be able to commit code to production within a few minutes.
With testing, each component, or a set, or the entire solution, using an automated approach is possible using the cloud. So testing using cloud architecture is doable and effective but requires a totally different approach.
Again, all is dependent upon your custom development requirements. Tech enables a feature, but you might not require that at all.
5- Management and Monitoring
You need to come up with a holistic plan to manage and monitor your cloud operations. This is super crucial for the success of your operations.
From the management perspective, you need to look into the Configuration, Performance, and Security. Monitoring can be real-time, and event-driven.
How to get cloud right
Determine your use case. Are you transition to leverage a database, DevOps, security, governance? You need to do a thorough future state assessment and then move towards the architecture, resources and then to the platform.
Consider a case, where you want to leverage the cloud for DevOps infrastructure. Your plans might include automating development, production, and testing operations into an Agile state. Now you need to choose the tools to work with. Your inherent requirements might be in form of continuous coding, continuous integration, continuous testing and so on. With this in the background, now you can design and leverage a cloud provider with the right set of tools.
Summing Up:
Transition to the cloud should never be about the technology or the love of a certain platform. AWS, Azure, Google, all have a very good basic standard set of features. But getting access to the right skill sets and resources might be the biggest challenge you face. Before applying a certain technology to your business case, do keep in mind the HR and its associated costs.
Keep in mind your business objectives. Understand the needs for now and the future. Consider all the above elements of costs, governance, functions, performance, security and so on.