Do you remember the fresh, exciting times when cloud solutions and cloud based applications first burst onto the scene, heralding a whole new era of IT services and development? Cloud technologies that capitalized on open-source distributed teams and remote testing.
The launch of GitHub and the concept of reviewing code and building software alongside other developers!
Cloud computing has come a long way. It is no longer considered a buzzword and cloud based applications are becoming a standard. But one debate that is still relevant and is a choice most IT managers and developers will have to make around their cloud solutions is private vs. public cloud.
Public cloud: based on shared physical hardware owned by a cloud services provider. The biggest advantage to choosing a public cloud for your cloud based application is that you pay only for the computing resources you actually use. Other benefits include high deployment speed and flexible scaling options based on your business demand. A public cloud solution is good for SMEs with dynamic business growth and a limited budget. The main drawback is higher security risks for your data and less control over the availability of your cloud based applications.
Private cloud: offers similar flexibility and scalability with the advantage of being able to store your most sensitive data in an optimally secure cloud environment. A private cloud can be hosted either on-site or in a service provider’s data center. Computer and storage components are customized for your particular business requirements. A private cloud solution is usually best suited to the cloud based applications of bigger companies with rigid data obligations and slightly more predictable business demand.
Most developers use two main cloud devops alternatives for cloud based application code.
Infrastructure as a Service (IaaS). On this platform, a provider hosts a virtual or physical machine and ensures connectedness and initial provisioning of the system. The installation of software, application run times and databases is up to you. Using IaaS requires that you have strong skills in system administration to apply firewall rules, patches, etc. on a frequent basis. You’re totally responsible for the system’s uptime and security as well. The most popular vendors on the market are Google Cloud Platform, Microsoft Azure, and Amazon Web Services.
Platform as a Service (PaaS). This category of cloud service runs on top of IaaS. The cloud provider maintains the application server or other middleware, databases, and system components. This leaves you to concentrate on your cloud hosted applications’ code. You may be restricted to certain versions of packages available depending upon how the vendor manages their system.
One of the most popular examples of PaaS is the AWS Relational Database Service (RDS).
Vendor lock-in casts a shadow over the benefits of cloud-computing. Migrating cloud based applications between competitor cloud services being complex is in the interests of cloud providers. Many companies stay with a vendor that doesn’t best meet their requirements just to avoid the headache of migration.
Why is migration between cloud services complicated? To move data from one provider’s cloud to another one may involve the risk of downtime as well as requiring security considerations. As most businesses strive for small or zero downtime as well as a secure transition, migrations that mitigate both considerations can be challenging and complex.
Having assisted our clients in migration, for example from Heroku to Amazon, at K&C we have reached the conclusion that the best way to avoid the risk of vendor lock-in is to make sure your choice of cloud vendor does not put a drag on your growth strategy. Think very carefully not only about what your business needs are now, but also how they are likely to evolve in the years to come. At K&C, we can help with those decisions, and we’re ready your migration headaches, should you have any.