Cloud Native Revolution

Currently in IT there are three almost concurrent waves of change that jointly create a new software world: the Cloud Native world. The first wave is the creation and adoption of the Cloud. The second wave is the dawn of the DevOps and its corresponding variations like DevSecOps. The third is the Containers movement. Together they revolutionise and challenge the status quo of all areas of software development, operations, deployment, engineering, networking and security.


The main idea behind the Cloud is distributing and outsourcing your computer power so that, instead of running your own bare-metal machines locally, you use someone else's computer and let them take care of the scaling, maintaining and upgrading. In financial terms computing power used to be a capital expense. In the Cloud era, computing power becomes more of a commodity, an operating expense.



DevOps is a label for existing good practices and conventions in software development, where the hard boundaries between the development and operations team are fading away, promoting the need for greater collaboration between them. In a recent article in The Register, DevOps has been defined as "improving the quality of your software by speeding up release cycles with cloud automation and infrastructure as code practices".



The software container is a standard packaging and distribution format that bundles together the software itself, along with its dependencies (libraries, interpreters, packages, configuration settings, license details and so on). On top of that the container is also the unit of deployment, the unit of reuse, the unit of scaling and the unit of resource allocation. In this way, as a single point of reference between the development and operations teams it simplifies and makes more transparent their cooperation.