Pros and Cons of on-premise vs cloud hosting
Oskar Ablimit
Cloudflare Enterprise Account Executive | Engineering in Cloud Computing |@ex-AWS| @ex-Alicloud | @ex-Tencent Cloud
?? We had some discussion about pros and cons of on-premise and cloud hosting at work, I would like to share some of my two cents here to get more ideas on. What do you think?
Pros for on premise:
-You will have full/certain control of the infrastructure. With an on-premise solution, you can purchase and install hardware servers into data centers, and design the hardware and networking architecture to meet your needs. This makes sense for highly regulated industries such as finance and government. For example, most finance regulations require the platform to provide a host server ID, which is not possible with public cloud services.
-You have clear data boundaries and responsibility sharing on premise. Once you purchase the IT infrastructure, you can clearly define the data flow and owned assets, which is helpful for risk management and internal/external auditing.
-If you need more tightly coupled and hardware-specific applications (e.g., bare-metal), on premise can be a good option since cloud architectures are more decoupled and rely on RESTful APIs and distributed computation.
-If you are fully invested in a specific CSP, such as Azure, you need to be aware of the risk of vendor lock-in. Azure has excellent support for their native applications, such as Office 365, Dynamics, SQL, or .NET development. However, if you want to move to another platform in the future, you may need to do more refactoring or reengineering to make the transition. Additionally, some services might not have equivalent support on other platforms, such as certain archived storage services.
领英推荐
Cons in on premise:
-Overhead and proportional cost. Cost is one of the main reasons to use cloud services, especially for startups and SMBs. Public cloud services can save on upfront CAPEX investment. To be clear, cost here refers to the total cost of ownership (TCO), not just server costs. If you compare bare servers, you may find that the cloud is more expensive in some cases, especially when using high core or GPU servers. However, if you take into consideration data center one-time purchases, maintenance (e.g., electricity, power), timely upgrades, and disaster recovery, on-premise solutions may end up being more expensive.
-Scalability and elasticity. With on-premise solutions, you have limited options to quickly scale up services to handle traffic spikes. It requires upfront planning, supply chain management, shipment, and installation, which can take at least a month. The conventional approach is to allocate more resources based on peak volume, which can result in wasted resources during off-peak periods or risking losing users due to poor performance.
-Maintenance and upgrades. On-premise solutions require significant daily operations and maintenance costs that can be eliminated with cloud services. Of course, maintenance and operations are still required for cloud services, depending on the service model being used. For example, with an IaaS model, you still need to maintain VMs, such as timely patching.
-From a DevOps perspective, there are more cloud-native tools and platforms, such as Kubernetes, which help manage containers easily in the cloud. While you can use these tools with on-premise solutions as well, cloud services are better suited for distributed node management.
-DR (disaster recovery) and incident management require more work and cost with on-premise solutions. The only way to achieve DR with on-premise solutions is to build other data centers. However, with cloud services, you can easily set up cold/hot DR architectures in any CSP region.