Cloud Computing is not an infrastructure topic
Gregor Hohpe
Retired from big tech. Not retired from riding the Architect Elevator to make IT and architecture a better place. Have opinions on EA, platforms, integration, cloud, serverless.
Much of large enterprise IT tends to separate applications ("change") from operations ("run") departments: applications team run projects to implement functionality while the operations teams focus on running infrastructure, such as compute hardware, storage, and networks. Such a setup not only gives the teams conflicting objectives - run is inclined to minimize change and change is off the hook if something breaks - it also stands in the face of modern approaches like DevOps. On top of all this, it also tends to get in the way when internal IT is inevitably faced with the adoption of cloud services.
Cloud started with infrastructure
Pretty much any corporate IT department has realized by now that cloud computing has placed significant pressure on operating on-premise infrastructure, requiring some re-thinking. Therefore, any self-respecting IT department has embarked on a cloud strategy of sorts by now. Infrastructure teams are often in the lead because cloud providers run data centers and provision servers. That's clearly infrastructure. They are also motivated as they see their existing infrastructure services rapidly being commoditized by public cloud providers.
Cloud is about Time (and Cost) to Value
I believe that considering cloud an infrastructure topic misses the main benefits of cloud computing. Being able to provision compute resources quickly and cheaply in a cloud is certainly useful. However, focusing purely on hardware cost misses the real driver behind cloud computing: minimizing the time in which a normal code change can go into production. Minimizing deployment time accelerates the time to value for the business to compete in Economies of Speed - the currency of the digital world. It is also a key factor for elastic scaling: in order to scale to additional servers, running software has to be deployed to those servers. Rapid deployment requires a fully automated tool chain and cloud-ready applications that scale horizontally. Those are certainly not infrastructure topics but are at the heart of application architecture, tool chain, and DevOps.
"It runs in the cloud" doesn't make the mark
Knowing that the real value lies in quickly deploying and scaling applications also implies that popular statements like "app XYZ can run in the cloud" don't carry much meaning. Most applications running on an operating system from this century will run on a server in the cloud somehow. The objective of cloud strategies therefore should not just be to get existing applications to run in the cloud. Rather, applications should take advantage of running in the cloud, such as scaling horizontally or running in a globally distributed setup. Such ambitions are generally a property of the application architecture and tool chain automation, areas that are quite far away from the infrastructure teams.
Moving Up, then Over
Acknowledging all this, cloud computing providers have gone far beyond providing infrastructure services. A minority of Amazon's 70+ cloud services is related to infrastructure: it comprise databases, content delivery, analytics, PaaS, Serverless frameworks, and more. This is clear sign that the rapid commoditization of infrastructure is swiftly moving up the stack from IaaS to middleware and higher-level run-times. Traditionally, when lower layers of the stack became commoditized, IT moved further up the stack: from physical to virtual to IaaS to Paas, etc. With PaaS and FaaS (Functions-as-a-service aka Serverless aka Amazon Lambda/Google Cloud Functions), there isn't much more room to move up to, though. Instead, stretching the metaphor a bit, IT must look "sideways", at the software development lifecycle and tool chain: getting new features into production quickly is the real currency in the digital world.
Architects need to drive IT transformation. Get a head start with 37 Things One Architect Knows About IT Transformation.
If you appreciate my articles, I'd be grateful if you share them with your network.
Transparent vision
6 年What a mindblowing discussion this is. You've enumerated many ecstatic ways as one easily can understand cloud application infrastructure remarkably. (https://www.parkmycloud.com/cloud-application-infrastructure/) PaaS environments provide you with an infrastructure as well as complete operational and development environments for the deployment of your applications. You program using the vendor’s specific application development platform and let the vendor worry about all deployment details. In this advanced technology era, affording a computer has become very cheap but affording a business ownself is not the easiest task. In this regard, cloud application is the ultimate solution. In the cloud application, a bunch of the cloud's services are collected and then each application should be designed with specifications for the other services or microservices with which it will be integrated. To leverage Google App Engine, you write your applications in Python against Google’s development frameworks with tools for using the Google filesystem and data repositories. In the recent times, many companies are showing their attention in the infrastructure of cloud application in a persevering way as they can implement this in their companies.
Project Management Consultant and Trainer, Frm Reviewer for PMI, ISO, BSI Standards. Frm Computer Science Principal Research Scientist 1-st Rank, MOTTO: "Share knowledge and you shall receive recognition".
7 年We may speak in such a case of one of the 5 essential characteristics of the cloud model - the Rapid Elasticity. As we know the NIST Standard SP 800-145/2011 "The NIST Definition of Cloud Computing" defines the "cloud model composed of five essential characteristics, three service models, and four deployment models", while the "cloud infrastructure is the collection of hardware and software that enables the five essential characteristics of cloud computing". The Rapid elasticity essential characteristic- means that "capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time".
Scaling data analytics, AI/ML solutions for the hybrid World
7 年Cloud is not a place, it's a style how we do IT. Additional, some organization manage the risk of a change with long processes chain (make group decision and really nobody is responsible) and everything takes time, while others give the power and risks to individuals or small teams. For the last DevOps works good with Cloud. Interesting is, that you know after minutes in the office how IT is made.
Interim - Prj Mgr | EA | Chief Architect | CTO | Head of Digital | Head of Development
7 年True!
Interim - Prj Mgr | EA | Chief Architect | CTO | Head of Digital | Head of Development
7 年"applications should take advantage of running in the cloud, such as scaling horizontally or running in a globally distributed setup. Such ambitions are generally a property of the application architecture and tool chain automation, areas that are quite far away from the infrastructure teams." - small and fast changes driven by business using #CD into production w full automation. #DevOps team with complete understanding of the automated integration context regardless if something still on-premise or multi-cloud. Utilising the current best external services (components) through an agile solution architecture. All but a few of the challenges needed to thrive in the digital age.