Follow Shayne as he explores Microsoft campus to get the definition (and more) straight from engineers and product teams. Subscribe to the show! https://aka.ms/cloudnativeshow
Shayne is joined by Ralph Squillace at Microsoft Ignite 2019 to hear more about Cloud Native Application Bundles (CNAB)
[01:05] - CNAB, What problems are we trying to solve?[03:42] - Is this just a Microsoft thing, who's involved?[07:10] - Who is this for? Developers, IT Ops, inner loop...[11:45] - How would we distribute these apps or bundles?[13:10] - Ralph gets into a demo![17:15] - A larger complex example.LinksFree Azure Account - https://aka.ms/cldntvshw/freeazureCloud Native Application Bundle (CNAB) - https://cnab.ioPorter - https://porter.shHelm - https://helm.shRudr - Rudr is an Open Application Model (OAM) implementation for Kubernetes. https://github.com/oam-dev/rudrdapr - An event-driven, portable runtime for building microservices on cloud and edge. https://dapr.io/Azure Arc - https://azure.microsoft.com/services/#cloudnative #cnab #cloudnativeapps
Container registries are repositories for storing container images, but who should use them? Which one should we choose and why are they important for cloud native applications? Steve Lasker sits with us in Building 99 today and talks about registries and more specifically Azure Container Registry and the practices around using them for your applications.
[03:50] - How do I choose the registry to use?
[06:15] - Additional benefits to registries beyond to being close to my deployment?
[08:10] - How do you think about life cycle management, from the point of development to long term patching support? I've seen acr build, and tasks, but what's the magic here?
[11:00] - Security patching, does that happen automatically with ACR?
[14:00] - Steve breaks down the trigger of an automated build by ACR
[18:25] - What's coming next?
Links:
Free Azure Account - https://aka.ms/cldntvshw/freeazure
Azure Container Registry https://aka.ms/cldntvshw/acr
Microservices based applications consist of multiple services and are built with a variety of programming languages. Based on the business use case, you can pick the most appropriate technology to build your service. gRPC can be one of those choices.
Today we chat with Sourahb to find out more about gRPC and ASP.NET Core apps.
[01:04] - Where does gRPC come from?
[02:40] - What's different about gRPC, why this?
[06:15] - Contract based development, types, strongly type clients, like WCF?
[09:45] - Demo time!
[17:23] - What's next for .NET Core and gRPC / Roadmap?
[19:22] - Are there any challenges running gRPC?
A critical characteristic of cloud native architectures it the ability to dynamically scale and support massive numbers of users, events, and requests on these distributed applications and teams. Serverless can help in handling these challenges without having to worry about infrastructure or even an entire application. Jeff jumps into the show production and chats with us on how this fits into the plan for cloud native apps.
[02:20] – What are the benefits?
[04:50] – Are there other challenges?
[07:43] – Jeff shows an awesome demo on scaling!
[11:45] – How do we think about serverless as a part of our solution first?
[14:20] – Running serverless in a container
[16:30] – Where is serverless going?
[20:30] – Tooling for Azure Functions and Logic Apps
Links:
Free Azure Account - https://aka.ms/cldntvshw/azure
Azure Functions - https://aka.ms/cldntvshw/functions
Azure Logic Apps - https://aka.ms/cldntvshw/logicapps
Azure Application Insights - https://aka.ms/cldntvshw/appinsights
Take control of your Kubernetes cluster. Add new capabilities by extending how API objects are validated or created. An introduction to the role of admission controllers and how you can use them to customize your Kubernetes cluster.
Resource links: https://github.com/open-policy-agent/gatekeeper/?&WT.mc_id=cloudnative-c9-shboyer
https://azure.microsoft.com/en-us/topic/what-is-kubernetes/?&WT.mc_id=cloudnative-c9-shboyer
Pods are the atomic unit of scheduling in Kubernetes. Watch this video to understand what happens when you create a pod and how the pod lifecycle works.
Resource links: https://docs.microsoft.com/en-us/azure/aks/concepts-clusters-workloads#pods/?&WT.mc_id=cloudnative-c9-shboyer
https://azure.microsoft.com/en-us/topic/what-is-kubernetes/?&WT.mc_id=cloudnative-c9-shboyer
A quick introduction on how to think about setting up alerting and monitoring for applications in Kubernetes. What do you get out of the box, how can you integrate more advanced metrics and add your own custom monitoring and alerting to reliably operate your application.
Resource links: https://docs.microsoft.com/en-us/azure/azure-monitor/overview/?&WT.mc_id= cloudnative-c9-shboyer
https://azure.microsoft.com/en-us/topic/what-is-kubernetes/?&WT.mc_id=cloudnative-c9-shboyer
Operators are a new cloud-native paradigm for managing applications and off the shelf software in Kubernetes clusters. This video provides an introduction to the core operator concepts and how you can apply them to simplify your software management.
Resource link: https://azure.microsoft.com/en-us/topic/what-is-kubernetes/?&WT.mc_id=cloudnative-c9-shboyer
What is a service mesh? How does it work? Why would you want a service mesh in your application and what can it provide? Get a quick overview of service mesh and Kubernetes.
Resource links:
https://smi-spec.io/
https://azure.microsoft.com/en-us/topic/what-is-kubernetes/?&WT.mc_id=cloudnative-c9-shboyer
Azure App Configuration is a developer-focused service in Azure that manages and distributes application settings. It helps implement patterns, such as the 12-factor app, and is particularly useful for cloud native and other distributed applications. In this episode, we'll discuss how you can use Azure App Configuration to simplify management of and secure access to your application settings.
Cloud Native Show Live Episode #1 with Shayne and Glenn. They talk about Cloud Native development and build out a weather API application. First, they'll show you how to build an API with configuration and building an Azure DevOps pipeline. That pipeline will build a container image to push it to an Azure Container Registry.
Code from the episode is available at https://github.com/spboyer/cloudnative-weather
All of the links are available at - https://www.theurlist.com/cloud-native-show-live-ep1
One of the "Factors" in cloud native applications states you should store your configuration and settings outside of your core application code. In this episode, Shayne talks with Andrew to get a run down on how the configuration options in .NET Core allows for layers of configurability and abstractions for your app.
Resource Links:
Configuration in ASP.NET Core
Use multiple environments in ASP.NET Core
Azure App Configuration
Azure Key Vault Configuration Provider in ASP.NET Core
How to use managed identities for App Service
Safe storage of app secrets in development in ASP.NET Core
[01:50] - Andrew explains the layering system for settings in ASP.NET Core
[03:12] - Environments and managing them.
[05:35] - Externally storing settings for your applications
[08:50] - Naming conventions and patterns to be aware of
[11:00] - Azure Key Vault & Managed Service Identity
Free Azure Account - https://azure.microsoft.com/free?WT.mc_id=cloudnative-ch9-shboyer
Azure DevOps - https://docs.microsoft.com/azure/devops/index?view=azure-devops&WT.mc_id=cloudnative-ch9-shboyer
Build Test and Deploy .NET Core apps - https://docs.microsoft.com/azure/devops/pipelines/ecosystems/dotnet-core?view=azure-devops&WT.mc_id=cloudnative-ch9-shboyer
Azure Functions - https://azure.microsoft.com/services/functions/?WT.mc_id=cloudnative-ch9-shboyer
Azure Storage - https://azure.microsoft.com/services/storage/?WT.mc_id=cloudnative-ch9-shboyer
Azure Front Door - https://azure.microsoft.com/services/frontdoor/?WT.mc_id=cloudnative-ch9-shboyer
Static Websites on Azure Storage - https://docs.microsoft.com/azure/storage/blobs/storage-blob-static-website?WT.mc_id=cloudnative-ch9-shboyer
[01:00] – What is DevOps?
[04:45] – Abel describes the application and simple concepts
[06:35] – Understanding the relationship and glue of the pipeline
[08:10] – Shayne asks how do we know things are ready before deployment
[11:57] – Are there other options or feature flag options
[13:00] – Keeping environments the same using DevOps
[15:25] – How much can we automate?
Links:
- .NET
- What is .NET
- .NET Core Roadmap
- Configuration for .NET Core
- Microservices with .NET
- TechEmpower Benchmarks
[01:33] - Scott talks about the vision of a new .NET
[02:55] - Shayne asks what were the challenges creating a new .NET
[05:00] - Logging changes, configuration without recompile
[07:30] - Middleware and how that has changed the architecture
[09:42] - Performance and size of the framework
[10:58] - Shayne asks was microservices the motivation for a new .NET
[12:02] - Performance
[14:32] - What's a basic microservice in .NET Core look like?
[17:20] - Scott mentions another tenant of .NET Core was no IDE lock-in
[19:13] - What's coming in .NET Core 3.0
[23:28] - Scott's one more thing
Get the definition from the engineers on campus up close and personal on the Cloud Native Show. In our Pilot episode, follow Shayne as he explores the Microsoft campus to have Cloud Native explained to him by Distinguished Engineer, Brendan Burns. For more episodes be sure to subscribe at https://aka.ms/cloudnativeshow
Free Azure Account
Build cloud-native applications in Azure
Free eBook : Designing Distributed Systems by Brendan Burns
What about cloud-native applications?
[01:14] - Two really important aspects of cloud native
[02:42] - Brendan talks about concept of Blue/Green deployments
[03:45] - Shayne asks, "Is this just SOA redifined?"
[06:43] - Is tooling the hardest part?
[10:22] - Do we jump or stay in Virtual Machines because it's what we know?
[11:48] - Is Kubernetes the thing or are we going somewhere next?
[14:10] - Containers are everywhere, is the cloud the final deployment?
[16:30] - Brendan answers how to get started.