- Infrastructure-Backed Platform-as-a-Service (IaaS) architecture that can be used when automatic management of infrastructure is required.
- Every Microsoft Azure PaaS service is already hosted on Azure IaaS.
- Three services available:
- App Service Environments provides a dedication scalable home for Azure Web Apps.
- Azure Service Fabric provides a cluster of VMs to host containers and microservices for those applications.
- Azure Container Service provides open source tools to orchestrate containers based on Docker Swarm, Mesosphere and Kubernetes clusters
- App Services separate many of the hosting and management concerns for your web application.
- You want sometimes more control:
- E.g. make sure that all of the virtual machines hosting your web applications do not allow any outbound requests. (PCI compliance)
- Allows you to configure network access and isolation for your applications.
- Allows you to scale using pools of instances far beyond the limits of a regular App Service plan instance
- Instances are dedicated to your application alone.
- Gives you more control but retain: automatic scaling, instance management, and load balancing
- Same concepts & paradigms as Virtual Machines:
- Environments are created within a subnet in an Azure Virtual Network
- You can use Network Security Groups to restrict network communications to the subnet where the Environment resides.
- You can also use a protected connection to connect your Virtual Network to corporate resources
- Versions
- V1: Supports both classic and Resource Manager Virtual Networks
- V2: Only resource Manager resources.
- Automates most of the scaling, creation, and maintenance which v1 requires to be carried out manually.
- Solution making it simple to package, deploy, and manage scalable and reliable containers and microservices.
- Assists with the developing and managing cloud native applications.
- Intended for scalable container-based applications.
- Microservice based applications
- Creates a cluster of VMs that runs containers per stateful or stateless microservice.
- Assists with provisioning, deploying, monitoring and managing in fast and efficient, automated fashion.
- Powers Service many Microsoft services today, including Azure SQL Database, Azure Cosmos DB, Cortana, Microsoft Power BI, Microsoft Intune, Azure Event Hubs, Azure IoT Hub, Dynamics 365, Skype for Business and many core Azure services.
- Supports the application lifecycle and CI/CD of cloud applications including containers.
- Simple workflows to provision, deploy, patch, and monitor applications
- Integrating with CI/CD tools such as Visual Studio Team Services, Jenkins, and Octopus Deploy.
- It hosts microservices inside containers that are deployed and activated across the Service Fabric cluster.¨
- Service fabric cluster
- Node type count: 1 to 3
- Per node, durability tiers: Bronze, Silver, Gold.
- Node type count: 1 to 3
- Service fabric cluster
- Requires Azure Diagnostics
- Can be added from marketplace
- Get insight into your Service Fabric framework
- Get insight into the performance of your Service Fabric applications and micro-services
- View events from your applications and micro-services
- E.g.
StatefulRunAsyncCancellation
,SatefulRunAsyncFailure
- Simplifies processes associated with creating, configuring, and managing virtual machines.
- Supports three orchestration services:
- Docker Swarm
- Mesosphere DC/OS
- Kubernetes
- You are only charged for these VMs, Storage and networking resources actually used.
- Contains Azure Kubernetes Service
- Azure manages health, maintenance, and monitoring.
- Easy scaling, automatic version upgrades, and self-healing master nodes.
- Can be deployed into VNet
- Application routing: get a public DNS endpoint Azure DNS that has direct ingress into Kubernetes cluster into the container that's providing the front-end of that application.
- Container insights: Logs/metrics from containers
- Access is provided to the Kubernetes API endpoints.
- There is no SSH access to the AKS cluster.
- Orchestration:
- Multiple copies of each containers for high availability and scalability.
- Allows deploying container images across a set of VMs.
- Configures networking
- Service discovery betwen them.
- Doing health monitoring on the containers.
- Virtual Kubelet: Microsoft project that allows Azure Container Instances to run on AKS.
- Only pay while it's building
- Do not pay when it's done