The eruption of public cloud platforms within the technology sector has to a great extent changed the manner of developing and operating applications.

In this new model, computing, storage and network infrastructures have become services provided by an external provider and consumed on demand. Moreover, managed services are available which undertake the major part of configuration and maintenance tasks and which cover a wide variety of use cases, such as analysis, security, databases, mobile, multimedia, machine learning or IoT.

These types of public cloud environments provide a number of differences compared to traditional systems of on-premise development:

Advantages of the public cloud over on-premise models #business #tech #cloud Click To Tweet

1. Flexibility: the deployment of new capacities or withdrawal of those we no longer use is very quick. For example, setting up a computer cluster for analysis in Google Dataproc, Amazon Elastic MapReduce or Azure HDInsight takes just minutes. This means that we can adapt rapidly to any situation and this is decisive in reducing the time-to-market of the solutions we design.

2. Costs: the public cloud functions as a pay-for-use model, avoiding the need for large initial investments in the long term in order to start implementing a solution. Furthermore, economies of scale offered by providers with numerous processing centres throughout the world means that prices are becoming increasingly low. Finally, the use of managed services frees us from administrative tasks that would otherwise require considerable effort.

3. Reliability: whilst not infallible, the majority of cloud services have replication and back up mechanisms in different independent and geographically separate data processing centres. For example, the standard storage mode of Amazon S3 provides 99.999999999% of durability, 99.99% of availability, which would be very difficult to achieve in a traditional on-premise environment.

4. Security: when developing applications under the public cloud, we must bear in mind that we are working within a model of shared responsibility, whereby the provider undertakes to secure the base infrastructure and we, the customer, are responsible for the applications we build on it. The investment made by the major public cloud providers in order to make secure and certify its systems in different models of statutory compliance is difficult to meet by other businesses and as users, we benefit from this investment. On the application level, there are different managed services for implementing protection measures such as encryption, multi-factor authentication, threat detection, firewalls or straightforward vulnerability scans.

5. Centralised global management: the public cloud platforms provide capacity to deploy infrastructure in data processing centres all over the world and to control deployed resources in different countries from one administration point, which simplifies the management of projects in different geographical areas.

6. Scale and elasticity: in a public cloud environment, computing and storage capacities are virtually limitless. Management of capacity planning becomes a much more effective tool than in a traditional environment, since we have the flexibility to adjust our resources to the current usage practically immediately.

7. Innovation: companies like Amazon, Google or Microsoft allocate vast amounts of resources to improving their systems or devising new solutions that later become services within their platforms. Building applications upon these allows us to benefit from this innovation in order to be constantly up to date.

In summary, developing in the public cloud makes us much more agile, furnishing us with tools and mechanisms that would be very costly to replicate in on-premise environments and we benefit from providers’ roadmap of innovation.

Imagen: | philipp birmes


  • Principal Cloud Architect & CISO en Keepler Data Tech. "Software architect with DevOps mindset and over 12 years of experience in Software Engineering. I am passionate about designing and building data-driven applications in the cloud".