How would you design a cloud-native app? What would your architecture look like? To what principles, patterns, and best practices would you adhere? What infrastructure and operational concerns would be important?
Designing and deploying cloud-based workloads can be challenging, especially when implementing cloud-native architecture. Microsoft provides industry standard best practices to help you and your team deliver robust cloud solutions.
cloud computing architecture pdf free download
The Microsoft Well-Architected Framework provides a set of guiding tenets that can be used to improve the quality of a cloud-native workload. The framework consists of five pillars of architecture excellence:
An excellent reference guide for understanding microservices is .NET Microservices: Architecture for Containerized .NET Applications. The book deep dives into microservices design and architecture. It's a companion for a full-stack microservice reference architecture available as a free download from Microsoft.
Hybrid cloud solutions can use public and private cloud resources as a supplement for internal or external data center servers. This can be used to comply with data physical location requirements. If the database cannot be transitioned to a cloud computing platform, other application tiers may not have the same restrictions. In these situations, hybrid architecture can use a virtual private network (VPN) to implement an encrypted tunnel across a public IP between cloud and dedicated servers.
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.
Cloud computing offers tremendous potential benefits in agility,resiliency, economy as well as security. However, the securitybenefits only appear if you understand and adopt cloud-native modelsand adjust your architectures and controls to align with thefeatures and capabilities of cloud platforms. The cloud security best practices outlined in the Security Guidance for Critical Areas of Focus in Cloud Computing 4.0 were crowd-sourced by Cloud Security Alliance's community ofsecurity experts and can help you implement and adopt a cloud-nativeapproach.
This domain addresses the ability of anorganization to govern and measure enterprise risk introduced bycloud computing. Items discussed include the legal precedence foragreement breaches, the ability of an organization to assess therisk of a cloud provider adequately, the responsibility toprotect sensitive data when both the user and provider may be atfault, and how international boundaries may affect these issues.
This domain covers the potential legal issueswhen using cloud computing. Topics touched on in this sectioninclude protection requirements for information and computersystems, security breach disclosure laws, regulatoryrequirements, privacy requirements, international laws, etc.
This domain explains how to maintain and provecompliance when using cloud computing. It also covers evaluatinghow cloud computing affects compliance with internal securitypolicies and various compliance requirements (regulatory,legislative, and otherwise). It also includes some direction onproving compliance during an audit.
Cloud computing[1] is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user.[2] Large clouds often have functions distributed over multiple locations, each of which is a data center. Cloud computing relies on sharing of resources to achieve coherence and typically uses a "pay as you go" model, which can help in reducing capital expenses but may also lead to unexpected operating expenses for users.[3]
Advocates of public and hybrid clouds claim that cloud computing allows companies to avoid or minimize up-front IT infrastructure costs. Proponents also claim that cloud computing allows enterprises to get their applications up and running faster, with improved manageability and less maintenance, and that it enables IT teams to more rapidly adjust resources to meet fluctuating and unpredictable demand,[4][5][6] providing burst computing capability: high computing power at certain periods of peak demand.[7]
According to IDC, the global spending on cloud computing services has reached $706 billion and expected to reach $1.3 trillion by 2025.[8] While Gartner estimated that the global public cloud services end-user spending forecast to reach $600 billion by 2023.[9] As per McKinsey & Company report, cloud cost-optimization levers and value-oriented business use cases foresees more than $1 trillion in run-rate EBITDA across Fortune 500 companies as up for grabs in 2030.[10] In 2022, more than $1.3 trillion in enterprise IT spending is at stake from the shift to cloud, growing to almost $1.8 trillion in 2025, according to Gartner.[11]
The term cloud was used to refer to platforms for distributed computing as early as 1993, when Apple spin-off General Magic and AT&T used it in describing their (paired) Telescript and Personal Link technologies.[12] In Wired's April 1994 feature "Bill and Andy's Excellent Adventure II", Andy Hertzfeld commented on Telescript, General Magic's distributed programming language:
In the 1990s, telecommunications companies, who previously offered primarily dedicated point-to-point data circuits, began offering virtual private network (VPN) services with comparable quality of service, but at a lower cost. By switching traffic as they saw fit to balance server use, they could use overall network bandwidth more effectively.[citation needed] They began to use the cloud symbol to denote the demarcation point between what the provider was responsible for and what users were responsible for. Cloud computing extended this boundary to cover all servers as well as the network infrastructure.[15] As computers became more diffused, scientists and technologists explored ways to make large-scale computing power available to more users through time-sharing.[citation needed] They experimented with algorithms to optimize the infrastructure, platform, and applications, to prioritize tasks to be executed by CPUs, and to increase efficiency for end users.[16]
By mid-2008, Gartner saw an opportunity for cloud computing "to shape the relationship among consumers of IT services, those who use IT services and those who sell them"[25] and observed that "organizations are switching from company-owned hardware and software assets to per-use service-based models" so that the "projected shift to computing ... will result in dramatic growth in IT products in some areas and significant reductions in other areas."[26]
In July 2010, Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack. The OpenStack project intended to help organizations offering cloud-computing services running on standard hardware. The early code came from NASA's Nebula platform as well as from Rackspace's Cloud Files platform. As an open-source offering and along with other open-source solutions such as CloudStack, Ganeti, and OpenNebula, it has attracted attention by several key communities. Several studies aim at comparing these open source offerings based on a set of criteria.[33][34][35][36][37][38][39]
On March 1, 2011, IBM announced the IBM SmartCloud framework to support Smarter Planet.[40] Among the various components of the Smarter Computing foundation, cloud computing is a critical part. On June 7, 2012, Oracle announced the Oracle Cloud.[41]
Though service-oriented architecture advocates "Everything as a service" (with the acronyms EaaS or XaaS,[67] or simply aas), cloud-computing providers offer their "services" according to different models, of which the three standard models per NIST are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).[66] These models offer increasing abstraction; they are thus often portrayed as layers in a stack: infrastructure-, platform- and software-as-a-service, but these need not be related. For example, one can provide SaaS implemented on physical machines (bare metal), without using underlying PaaS or IaaS layers, and conversely one can run a program on IaaS and access it directly, without wrapping it as SaaS.
"Infrastructure as a service" (IaaS) refers to online services that provide high-level APIs used to abstract various low-level details of underlying network infrastructure like physical computing resources, location, data partitioning, scaling, security, backup, etc. A hypervisor runs the virtual machines as guests. Pools of hypervisors within the cloud operational system can support large numbers of virtual machines and the ability to scale services up and down according to customers' varying requirements. Linux containers run in isolated partitions of a single Linux kernel running directly on the physical hardware. Linux cgroups and namespaces are the underlying Linux kernel technologies used to isolate, secure and manage the containers. Containerisation offers higher performance than virtualization because there is no hypervisor overhead. IaaS clouds often offer additional resources such as a virtual-machine disk-image library, raw block storage, file or object storage, firewalls, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles.[68] 2ff7e9595c
Comments