{"id":733,"date":"2017-08-07T14:19:17","date_gmt":"2017-08-07T14:19:17","guid":{"rendered":"http:\/\/ec2-34-242-84-40.eu-west-1.compute.amazonaws.com\/?p=733"},"modified":"2021-09-07T15:28:52","modified_gmt":"2021-09-07T15:28:52","slug":"osiforcloud","status":"publish","type":"post","link":"https:\/\/tomgeraghty.co.uk\/index.php\/osiforcloud\/","title":{"rendered":"The OSI model for the cloud"},"content":{"rendered":"<p><em>[Note: this is now what I call &#8220;archival content&#8221;. It&#8217;s out of date (originally posted in 2017) and I wouldn&#8217;t necessarily agree with the content now; particularly in respect to the advent of containerisation. Hopefully it&#8217;s still useful though.]<\/em><\/p>\n<p><span style=\"font-weight: 400;\">While I was putting together a talk for an introduction to AWS, I was considering how to structure it and thought about the \u201clayers\u201d of cloud technology. I realised that the more time I spend talking about \u201ccloud\u201d technology and how to best exploit it, manage it, develop with it and build business operations using it, the more some of our traditional terminologies and models don\u2019t apply in the same way. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Take the OSI model, for example:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-816\" src=\"https:\/\/tomgeraghtywordpress.s3-eu-west-1.amazonaws.com\/2018\/11\/osimodel-272x300.png\" alt=\"\" width=\"272\" height=\"300\" srcset=\"https:\/\/tomgeraghty.co.uk\/wp-content\/uploads\/2018\/11\/osimodel-272x300.png 272w, https:\/\/tomgeraghty.co.uk\/wp-content\/uploads\/2018\/11\/osimodel.png 500w\" sizes=\"auto, (max-width: 272px) 100vw, 272px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">When we\u2019re managing our own datacentres, servers, SANS, switches and firewalls, we need to understand this. We need to know what we\u2019re doing at each layer, who\u2019s responsible for physical connectivity, who manages layer three routing and control, and who has access to the upper layers. We use the terms \u201clayer 3\u201d to describe IP-based routing or \u201clayer 7\u201d to describe functions interacting at a software level, and crucially, we all know what each other means when we use these terms.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With virtualisation, we began to abstract layers 3 and above (layer 2? Maybe?) into software defined networks, but we were still in control of the underlying layers, just a little less \u201cconcerned\u201d about them.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Now, with cloud tech such as AWS and Azure, even this doesn\u2019t apply any longer. We have different layers of control and access, and it\u2019s not always helpful to try to use the OSI model terms. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">We pay AWS or Azure, or someone else, to manage the dull stuff &#8211; the cables, the internet connections, power, cooling, disks, redundancy, and physical security. Everything we see is abstract, virtual, and exists only as code. However, we still possess layers of control and management. We may create multiple AWS accounts to separate environments from each other, we\u2019ll create different VPCs for different applications, multiple subnets for different functions, and instances, services, storage units and more. Then we might hand off access to these to developers and testers, to deploy and test applications.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The point is that it seems we don\u2019t yet have a common language, similar to the OSI model, for cloud architecture. Below is a first stab at what this might be. It\u2019s almost certainly wrong, and certainly can be improved.<\/span><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-734 size-full\" src=\"http:\/\/ec2-34-242-84-40.eu-west-1.compute.amazonaws.com\/wp-content\/uploads\/2017\/08\/OSI-model-for-cloud.png\" alt=\"\" width=\"800\" height=\"600\" srcset=\"https:\/\/tomgeraghty.co.uk\/wp-content\/uploads\/2017\/08\/OSI-model-for-cloud.png 800w, https:\/\/tomgeraghty.co.uk\/wp-content\/uploads\/2017\/08\/OSI-model-for-cloud-300x225.png 300w, https:\/\/tomgeraghty.co.uk\/wp-content\/uploads\/2017\/08\/OSI-model-for-cloud-768x576.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s start with <\/span><b>layer 1<\/b><span style=\"font-weight: 400;\"> &#8211; the physical infrastructure. This is entirely in the hands of the cloud provider such as AWS. Much of the time, we don\u2019t even know where this is, let alone have any visibility of what it looks like or how it works. This is analogous to layer 1 of the OSI model too, but more complex. It\u2019s the physical machines, cabling, cooling, power and utilities present in the various datacentres used by the cloud providers.<\/span><\/p>\n<p><b>Layer 2 <\/b><span style=\"font-weight: 400;\">is the hypervisor. The software that allows the underlying hardware to be utilised &#8211; this is the abstraction between the true hardware and the virtualised \u201chardware\u201d that we see. AWS uses Xen, Azure uses a modified Hyper-V, and others use KVM. Again, we don\u2019t have access to this layer, but a GUI or CLI layered on top. For those of us who started our IT careers managing physical machines, then adopted virtualisation, we\u2019ll be familiar with how layer 2 allowed us to create and modify servers far quicker and easier than ever before.<\/span><\/p>\n<p><b>Layer 3<\/b><span style=\"font-weight: 400;\"> is where we get our hands dirty. The Software Defined Data Centre(SDDC). From here, we create our cloud accounts and start building stuff. This is accessed via a web GUI, command line tools, APIs or other platforms and integrations. This is essentially a management layer, not a workload layer, in that it allows us to govern our resources, control access, manage costs, security, scale, redundancy and availability. It is here that \u201cinfrastructure as code\u201d becomes a reality.<\/span><\/p>\n<p><b>Layer 4.<\/b><span style=\"font-weight: 400;\"> The Native Service (such as S3, Lambda, or RDS) or machine instance (such as EC2) layer. This is where we create actual workloads, store data, process information and make things happen. At this level, we could create an instance inside a VPC, set up the security groups and NACLs, and provide access to a developer or administrator via RDP, SSH, or other protocol. At this layer, humans that require access don\u2019t need Layer 3 (SDDC) access in order to do their job. In many ways, this is the actual IaaS (Infrastructure as a Service) layer.<\/span><\/p>\n<p><b>Layer 5.<\/b><span style=\"font-weight: 400;\"> I\u2019m not convinced this is all that different to layer 4, but it\u2019s useful to distinguish it for the purpose of defining *who* has access. This layer is analogous to layer 7 of the OSI, that is, it\u2019s end-user-facing, such as the front end of a web application, the interactions taking place on a mobile app, or the connectivity to IoT devices. Potentially, this is also analogous to SaaS (Software as a Service), if you consider it from the user\u2019s perspective. Layer 5 applications exist as a function of the full stack underneath it &#8211; the physical resources in datacentres, the hypervisor, the management layer, virtual machines and services, and the code that runs on or interacts with the services.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Whether something like an OSI model for cloud becomes adopted or not, we\u2019re beginning to transition into a new realm of terminology, and the old definitions no longer apply.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I hope you found this useful, and I\u2019d love to hear your feedback and improvements on this model. Take a look at ISO\/IEC 17788 if you\u2019d like to read more about cloud computing terms and definitions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Finally, if you\u2019d like me to speak and present at your event or your business, or provide consultation and advice, please get in touch.\u00a0<\/span><\/p>\n<p>Tom@tomgeraghty.co.uk<\/p>\n<p>@tomgeraghty<\/p>\n<p>https:\/\/www.linkedin.com\/in\/geraghtytom\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[Note: this is now what I call &#8220;archival content&#8221;. It&#8217;s out of date (originally posted in 2017) and I wouldn&#8217;t necessarily agree with the content now; particularly in respect to the advent of containerisation. Hopefully it&#8217;s still useful though.] While I was putting together a talk for an introduction to AWS, I was considering how &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/tomgeraghty.co.uk\/index.php\/osiforcloud\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;The OSI model for the cloud&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,4],"tags":[94,41,42,96,95,76],"class_list":["post-733","post","type-post","status-publish","format-standard","hentry","category-blog","category-tech","tag-cloud","tag-it","tag-it-management","tag-networking","tag-osi","tag-tech-2"],"_links":{"self":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/comments?post=733"}],"version-history":[{"count":5,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/733\/revisions"}],"predecessor-version":[{"id":1688,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/posts\/733\/revisions\/1688"}],"wp:attachment":[{"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/media?parent=733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/categories?post=733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tomgeraghty.co.uk\/index.php\/wp-json\/wp\/v2\/tags?post=733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}