Microsoft AZ-900 Cloud Concepts - Principles of cloud computing
Hybrid cloud
A hybrid cloud combines public and private clouds, allowing you to run your applications in the most appropriate location. For example, you could host a website in the public cloud and link it to a highly secure database hosted in your private cloud (or on-premises datacenter). Hybrid cloud icon This is helpful when you have some things that cannot be put in the cloud, maybe for legal reasons. For example, you may have some specific pieces of data that cannot be exposed publicly (such as medical data) which needs to be held in your private datacenter. Another example is one or more applications that run on old hardware that can't be updated. In this case, you can keep the old system running locally, and connect it to the public cloud for authorization or storage.
Management Level of SaaS
All owned by Cloud Provider
Management Level of IaaS
Application, Data, Runtime, Middleware, OS owned by you. VM, Servers, Storage and Network by Cloud Provider
It's elastic
As your workload changes due to a spike or drop in demand, a cloud computing system can compensate by automatically adding or removing resources. For example, imagine your website is featured in a news article, leading to a spike in traffic overnight. Since the cloud is elastic, it automatically allocates more computing resources to handle the increased traffic. When the traffic begins to normalize, the cloud automatically de-allocates the additional resources to minimize cost. Another example is if you are running an application used by employees, you can have the cloud automatically add resources for the peak operating hours during which most people access the application, and remove the resources at the usual end of the day.
Capital Expenditure (CapEx)
CapEx is the spending of money on physical infrastructure up front, and then deducting that expense from your tax bill over time. CapEx is an upfront cost, which has a value that reduces over time.
It's global
Cloud providers have fully redundant datacenters located in various regions all over the globe. This gives you a local presence close to your customers to give them the best response time possible no matter where in the world they are. You can replicate your services into multiple regions for redundancy and locality, or select a specific region to ensure you meet data-residency and compliance laws for your customers.
What are containers?
Containers provide a consistent, isolated execution environment for applications. They're similar to VMs except they don't require a guest operating system. Instead, the application and all its dependencies is packaged into a "container" and then a standard runtime environment is used to execute the app. This allows the container to start up in just a few seconds because there's no OS to boot and initialize. You only need the app to launch. The open-source project, Docker, is one of the leading platforms for managing containers. Docker containers provide an efficient, lightweight approach to application deployment because they allow different components of the application to be deployed independently into different containers. Multiple containers can be run on a single machine, and containers can be moved between machines. The portability of the container makes it easy for applications to be deployed in multiple environments, either on-premises or in the cloud, often with no changes to the application.
Benefits of OpEx
Demand and growth can be unpredictable and can outpace expectation, which is a challenge for the CapEx model as shown in the following graph.
Cons of Hybrid Cloud
Disadvantages Some concerns you'll need to watch out for are: It can be more expensive than selecting one deployment model since it involves some CapEx cost up front It can be more complicated to set up and manage
Middleware
Gängige Beispiele für Middleware sind datenbankorientierte, anwendungsorientierte, nachrichtenorientierte und weborientierte Middleware sowie transaktionsorientierte Monitore. Jedes Programm stellt üblicherweise Nachrichtendienste zur Verfügung, damit verschiedene Anwendungen mithilfe von Nachrichtenframeworks miteinander kommunizieren können; zu diesen Frameworks gehören etwa das Simple Object Access-Protokoll (SOAP), Webdienste, Representational State Transfer (REST) sowie JavaScript Object Notation (JSON). Während jede Middleware Kommunikationsfunktionen erfüllt, hängt der Typ, den ein Unternehmen auswählt, davon ab, welcher Dienst verwendet wird und welche Art von Informationen kommuniziert werden soll. Dazu können z.B. die Sicherheitsauthentifizierung, das Verwalten von Transaktionen, Nachrichtenwarteschlangen, Anwendungsserver, Webserver und Verzeichnisse gehören. Middleware kann auch für verteilte Prozesse mit in Echtzeit auftretenden Aktionen verwendet werden, statt Daten hin und her zu schicken.
Pro of Public Cloud
High scalability/agility - you don't have to buy a new server in order to scale Pay-as-you-go pricing - you pay only for what you use, no CapEx costs You're not responsible for maintenance or updates of the hardware Minimal technical knowledge to set up and use - you can leverage the skills and expertise of the cloud provider to ensure workloads are secure, safe, and highly available A common use case scenario is deploying a web application or a blog site on hardware and resources that are owned by a cloud provider. Using a public cloud in this scenario allows cloud users to get their website or blog up quickly, and then focus on maintaining the site without having to worry about purchasing, managing or maintaining the hardware on which it runs.
What are the 3 Types of cloud services
IaaS versus SaaS versus PaaS
Combine cloud services to fit your needs
IaaS, PaaS, and SaaS each contain different levels of managed services. You may easily use a combination of these types of infrastructure. You could use Office 365 on your company's computers (SaaS), and in Azure, you could host your VMs (IaaS) and use Azure SQL Database (PaaS) to store your data. With the cloud's flexibility, you can use any combination that provides you with the maximum result.
Private cloud
In a private cloud, you create a cloud environment in your own datacenter and provide self-service access to compute resources to users in your organization. This offers a simulation of a public cloud to your users, but you remain completely responsible for the purchase and maintenance of the hardware and software services you provide.
Summary Cloud Concepts - Principles of cloud computing
In this module, you've learned about cloud computing, what it is and what its key characteristics are. Here are some of the things you covered. Different types of cloud models that are available and the considerations of using those different models. Some of the key terms and concepts such as high availability, agility, elasticity, fault tolerance, and CapEx vs. OpEx. The different cloud services available, the benefits of using the different types, and the management responsibilities under each service type. Cloud models such as public, private and hybrid, and what the key characteristics of each model are. The different types of cloud service available: IaaS, PaaS, and SaaS; what the key characteristics of each service are and when you would choose one over the other.
IaaS
Infrastructure as a Service. A cloud computing technology useful for heavily utilized systems and networks. Organizations can limit their hardware footprint and personnel costs by renting access to hardware such as servers. Compare to PaaS and SaaS. Infrastructure as a Service is the most flexible category of cloud services. It aims to give you complete control over the hardware that runs your application (IT infrastructure servers and virtual machines (VMs), storage, networks, and operating systems). Instead of buying hardware, with IaaS, you rent it. It's an instant computing infrastructure, provisioned and managed over the internet.
OpEx cloud computing costs
Leasing software and customized features Scaling charges based on usage/demand instead of fixed hardware or capacity. Billing at the user or organization level.
Use of IaaS
Migrating workloads. Typically, IaaS facilities are managed in a similar way as on-premises infrastructure and provide an easy migration path for moving existing applications to the cloud. Test and development. Teams can quickly set up and dismantle test and development environments, bringing new applications to market faster. IaaS makes scaling development and testing environments, fast and economical. Storage, backup, and recovery. Organizations avoid the capital outlay and complexity of storage management, which typically requires skilled staff to manage data and meet legal and compliance requirements. IaaS is useful for managing unpredictable demand and steadily growing storage needs. IaaS can also simplify the planning and management of backup and recovery systems.
Cons of Public Cloud
Not all scenarios fit the public cloud. Here are some disadvantages to think about: There may be specific security requirements that cannot be met by using public cloud There may be government policies, industry standards, or legal requirements which public clouds cannot meet You don't own the hardware or services and cannot manage them as you may want to Unique business requirements, such as having to maintain a legacy application might be hard to meet
Management Level of PaaS
Only Application and Data owned by you. Runtime, Middleware, OS VM, Servers, Storage and Network by Cloud Provider
Operational Expenditure (OpEx)
OpEx is spending money on services or products now and being billed for them now. You can deduct this expense from your tax bill in the same year. There's no upfront cost. You pay for a service or product as you use it.
Use of PaaS
PaaS is commonly used in the following scenarios: Development framework. PaaS provides a framework that developers can build upon to develop or customize cloud-based applications. Just like Microsoft Excel macro, PaaS lets developers create applications using built-in software components. Cloud features such as scalability, high-availability, and multi-tenant capability are included, reducing the amount of coding that developers must do. Analytics or business intelligence. Tools provided as a service with PaaS allow organizations to analyze and mine their data. They can find insights and patterns, and predict outcomes to improve business decisions such as forecasting, product design, and investment returns.
PaaS
Platform as a Service. Provides cloud customers with an easy-to-configure operating system and on-demand computing capabilities. Compare to IaaS and SaaS.
Which are the 3 Cloud deployment models?
Public versus Private versus Hybrid
CapEx computing costs
Server costs Storage costs Network costs Backup and archive costs Organization continuity and disaster recovery costs Datacenter infrastructure costs Technical personnel
What is serverless computing?
Serverless computing lets you run application code without creating, configuring, or maintaining a server. The core idea is that your application is broken into separate functions that run when triggered by some action. This is ideal for automated tasks - for example, you can build a serverless process that automatically sends an email confirmation after a customer makes an online purchase. The serverless model differs from VMs and containers in that you only pay for the processing time used by each function as it executes. VMs and containers are charged while they're running - even if the applications on them are idle. This architecture doesn't work for every app - but when the app logic can be separated to independent units, you can test them separately, update them separately, and launch them in microseconds, making this approach the fastest option for deployment.
SaaS
Software as a Service; a subscription service where you purchase licenses for software that expire at a certain date. SaaS is software that is centrally hosted and managed for the end customer. It is usually based on an architecture where one version of the application is used for all customers, and licensed through a monthly or annual subscription. Office 365, Skype, and Dynamics CRM Online are perfect examples of SaaS software.
Pro of Hybrid Cloud
Some advantages of a hybrid cloud are: You can keep any systems running and accessible that use out-of-date hardware or an out-of-date operating system You have flexibility with what you run locally versus in the cloud You can take advantage of economies of scale from public cloud providers for services and resources where it's cheaper, and then supplement with your own equipment when it's not You can use your own equipment to meet security, compliance, or legacy scenarios where you need to completely control the environment
Cons of Private Cloud
Some reasons teams move away from the private cloud are: You have some initial CapEx costs and must purchase the hardware for startup and maintenance Owning the equipment limits the agility - to scale you must buy, install, and setup new hardware Private clouds require IT skills and expertise that's hard to come by A use case scenario for a private cloud would be when an organization has data that cannot be put in the public cloud, perhaps for legal reasons. An example scenario may be where government policy requires specific data to be kept in-country or privately. A private cloud can provide cloud functionality to external customers as well, or to specific internal departments such as Accounting or Human Resources.
It's secure
Think about how you secure your datacenter. You have physical security - who can access the building, who can operate the server racks, and so on. You also have digital security - who can connect to your systems and data over the network. Cloud providers offer a broad set of policies, technologies, controls, and expert technical skills that can provide better security than most organizations can otherwise achieve. The result is strengthened security, which helps to protect data, apps, and infrastructure from potential threats. When it comes to physical security - threats to cloud infrastructure, cloud providers invest heavily in walls, cameras, gates, security personnel, and so on, to protect physical assets. They also have strict procedures in place to ensure employees have access only to those resources that they've been authorized to manage. Let us talk about digital security. You want only authorized users to be able to log into virtual machines or storage systems running in the cloud. Cloud providers offer tools that help you mitigate security threats and you must use these tools to protect the resources you use.
Pro of Private Cloud
This approach has several advantages: You can ensure the configuration can support any scenario or legacy application You have control (and responsibility) over security Private clouds can meet strict security, compliance, or legal requirements Economies at scale and integration with Azure Security Center
Public cloud
This is the most common deployment model. In this case, you have no local hardware to manage or keep up-to-date - everything runs on your cloud provider's hardware. In some cases, you can save additional costs by sharing computing resources with other cloud users. Businesses can use multiple public cloud providers of varying scale. Microsoft Azure is an example of a public cloud provider.
vertical scaling
Vertical scaling, also known as "scaling up", is the process of adding resources to increase the power of an existing server. Some examples of vertical scaling are: adding more CPUs, or adding more memory.
Note to IaaS
When using IaaS, ensuring that a service is up and running is a shared responsibility: the cloud provider is responsible for ensuring the cloud infrastructure is functioning correctly; the cloud customer is responsible for ensuring the service they are using is configured correctly, is up to date, and is available to their customers. This is referred to as the shared responsibility model.
It's current
When you use the cloud, you're able to focus on what matters: building and deploying applications. Cloud eliminates the burdens of maintaining software patches, hardware setup, upgrades, and other IT management tasks. All of this is automatically done for you to ensure you're using the latest and greatest tools to run your business. Calendar representing staying current Additionally, the computer hardware is maintained and upgraded by the cloud provider. For example, if a disk fails, the disk will be replaced by the cloud provider. If new hardware update becomes available, you don't have to go through the process of replacing your hardware. The cloud provider will ensure that the hardware updates are made available to you automatically.
It's reliable
When you're running a business, you want to be confident your data is always going to be there. Cloud computing providers offer data backup, disaster recovery, and data replication services to make sure your data is always safe. In addition, redundancy is often built into cloud services architecture so if one component fails, a backup component takes its place. This is referred to as fault tolerance and it ensures that your customers aren't impacted when a disaster occurs.
Benefits of CapEx
With capital expenditures, you plan your expenses at the start of a project or budget period. Your costs are fixed, meaning you know exactly how much is being spent. This is appealing when you need to predict the expenses before a project starts due to a limited budget.
Platform as a service (PaaS)
aaS provides an environment for building, testing, and deploying software applications. The goal of PaaS is to help you create an application quickly without managing the underlying infrastructure. For example, when deploying a web application using PaaS, you don't have to install an operating system, web server, or even system updates. PaaS is a complete development and deployment environment in the cloud, with resources that enable organizations to deliver everything from simple cloud-based apps to sophisticated cloud-enabled enterprise applications. Resources are purchased from a cloud service provider on a pay-as-you-go basis and accessed over a secure Internet connection.
A diagram comparing the three compute approaches
https://docs.microsoft.com/en-us/learn/modules/principles-cloud-computing/2-what-is-cloud-computing
Horizontal scaling
orizontal scaling, also known as "scaling out", is the process of adding more servers that function together as one unit. For example, you have more than one server processing incoming requests. Scaling can be done manually or automatically based on specific triggers such as CPU utilization or the number of requests and resources can be allocated or de-allocated in minutes.