Cloud computing refers to the on-demand availability of computer resources online, through the internet, without the need of management of physical infrastructure by the consumer.

Another important concept is the cloud native computing, which is an approach for software development, that tends to build systems by taking advantage of the services that Cloud Providers offer. And, by that, also benefitting from many advantages those services offer, such as on-demand delivery, flexibility, global deployment, productivity, agility, scalability, and cost savings, among others.

Service Models

Cloud providers usually offer services in three different models, typically in a “pay-as-you-go” model:

  • Software as a Service (SaaS): The consumer uses the provider’s applications running on cloud infrastructure, with no need to control the underlying infrastructure, except for some configurations;
  • Platform as a Services (PaaS): The provider offers to the consumer the capability to deploy online services or tools supported by the provider. There is no need to control the underlying infrastructure, but the consumer has control over the deployed services and configuration;
  • Infrastructure as a Service (IaaS): The consumer may provision computational resources and run arbitrary software, such as operating systems and own applications. The consumer does not control the underlying infrastructure, but has control over computational resources such as operating systems, storage, and deployed applications.

Cloud Providers

Software Architecture

Blog Posts and Articles


  • Adrian Cockcroft on Digital Transformation: A presentation from Adrian Cockcroft, at the moment VP of Cloud Architecture Strategy at AWS, covering the main aspects of the digital transformation of enterprises and the adoption of cloud computing.