SlideShare a Scribd company logo
.NET Cloud-Native Bootcamp
Goal of this boot camp.
Introduce you to practices, platforms and tools for
building modern .NET applications.
Hi there.
Who are we?
9-9:15AM Introduction
9:15-9:30AM Getting good at software
9:30-10AM All about microservices
10-10:15AM What’s cloud-native all about?
10:15-10:45A
M
Introducing Cloud Foundry
10:45-11AM BREAK TIME
11-12:30PM Cloud-native .NET technologies and
patterns
12:30-1PM LUNCH
1-4PM Hands on exercises
4-4:30PM Wrap up
Why do you need to be good at software?
Customers
expect it.
Meet
demand to
operate at
scale.
Gives you
more
business
options.
Your
competitors
are doing it.
It makes
everyone
happier.
Ok, but how
do I know that
I’m doing well
at software?
Improved speed. Faster cycle time,
more frequently deployments.
Improved scale. More requests per
second to apps and services.
Improved stability. Greater uptime of
customer-facing service.
Improved security. Achieving 100%
patch coverage.
Improved simplicity. Reduce
complexity of processes and tools.
What are microservices?
It refers to an architectural style that supports
constant change in your environment. This is
accomplished by creating applications out of
independent, loosely-coupled, domain-oriented
services.
Microservices architecture Monolithic architecture
Single focused services. Software solves many challenges in one software
package.
Loosely coupled. Tightly coupled.
Delivered continuously. Delivered all together, on a schedule.
Scale independently. Scale everything together.
Independent teams own service lifecycle. Many teams own pieces of the service lifecycle.
Emphasis on distributed systems patterns. Emphasis on delivery and organizational
processes.
Diverse technologies managed through
automation.
Single, long-lived technology stacks.
Short onboarding period for new developers. Larger codebase requires significant time to ramp
up new team members.
Moving to
microservices
? Here’s what
to consider.
Do you have a pressing reason to do it?
Can you rearrange your teams?
Are you ready to decompose your monoliths?
How will you decompose?
Are you currently doing CI / CD?
Is your production environment automated?
How will you discover services at runtime?
What can you do to prevent cascading
failures?
Are you ready to evolve your data platforms?
Do you need to modernize your messaging
and event stream processing toolchain?
Are you ready for modern logging, monitoring?
What is “cloud-native” all about?
This is an approach to building and operating
software that takes advantage of the cloud-
computing model. Often seen as a combination of
microservices, continuous delivery,
containers, and DevOps.
It’s all about software that’s built for scale, built for
continuous change, built to tolerate failure, built
for manageability.
Most cloud-native applications comply with the 12 factor
criteria.
•  One codebase tracked in version control
•  Explicitly declared dependencies
•  Configurations stored in the environment
•  Backing services treated as attached resources
•  Separate build, release, and run stages
•  Apps executed as stateless processes
•  Services exported via port binding
•  Scaled out via more processes
•  Fast startup and graceful shutdown
•  Parity among dev, staging, and production environments
•  Logs treated as event streams
•  Admin tasks run as one-off processes
There’s a
maturity
model on
your way to
cloud native.
•  No file system dependency
•  Self contained application
•  Platform managed ports/address
•  Consume off-platform services
Cloud Ready
•  Twelve factor app
•  Horizontal scalable
•  Leverage platform for HA
Cloud Friendly
•  Designed for failure
•  Apps unaffected by dependencies
•  Proactive failure testing
•  Metrics and monitoring baked in
•  Cloud agnostic runtime
Cloud Resilient
•  Microservice architecture
•  API-first designCloud Native
So, what actually makes up a cloud-native
platform?
Pivotal Cloud Foundry Architecture
DYNAMIC ROUTE SERVICES / API MANAGEMENT
APP MICROSERVICES TECHNOLOGY
Spring Boot Steeltoe
Spring Cloud
Services
DATA MICROSERVICES TECHNOLOGY
Spring
Cloud Data
Flow
Cloud
Cache RabbitMQ MySQL
YOUR APPLICATIONS
PLATFORM
Elastic Runtime Concourse
App
Autoscaler PCF Metrics CredHub
Orgs, Spaces,
Roles and
Permissions
EMBEDDED OS
CLOUD ORCHESTRATION
CONTAINER ORCHESTRATIONWindows Linux
Amazon
Web Services
Microsoft
Azure
Google
Cloud
Platform
Open Stack VMWare
SERVICE
BROKER API
PIVOTAL
APPLICATION
SERVICE
PIVOTAL
CLOUD FOUNDRY
BOSH
MODERN
CLOUD NATIVE
PLATFORM
MULTI CLOUD
15
App Manager UI
Application Manager
Service
Service Broker
Service Nodes
Service Broker
Service Nodes
Service
Services
Service Broker
Service Nodes
Service
CLI – Cmd Line
Terminal Window
Platform Runtime - Cloud Foundry
App Log Aggregator
Login Server
Dynamic Router
Cloud Controller
UAA
Diego
Messaging (NATS)
Metrics Collection
HA Proxy LB
CC-Bridge
Rep
Executor
Rep
Executor
+ =
BBSAuctioneer
Windows
Cell
Linux
Cell
PCF 2.0
Any App
Every Cloud
One Platform
17
Deploying .NET applications? It doesn’t have to
be terrible.
Traditional .NET deployment
on VMs
Pivotal Cloud Foundry
Provision a VM
Configure IP, DNS
Configure firewall
Windows updates, reboot…
Install IIS
Deploy application
Configure app pool
Configure SSL
Configure load balancer
~$ cf push
~$ cf push
Code Complete & Tested
Find available hosts
Install & configure runtime
Install & configure middleware
Pull application source code
Retrieve dependent libraries
Create application package
Install, configure dependent service(s)
Deploy container to host(s)
Load environment variables
Configure load balancer
Configure firewalls
Update service monitoring tools
Configure log collector
Application in Production
45
seconds
later
$ cf push my-app -p target/myapp.jar
or
$ cf push my-app --docker-image pivotal/my-image
Buildpacks are language-aware
Deploy source code
that the platform
containerizes for
you
or
Deploy container
images that you
build yourself
Deploy source code
that the platform
containerizes for
you
or
Deploy container
images that you
build yourself
push	source	
code	
Developer
Cloud Foundry
Cloud	Controller	
triggers	staging	
Diego	creates	
container	
Diego	mounts	
root	file	system	
Diego	lays	down	
buildpack,	
source	code	
Diego	builds	and	
uploads	droplet	
Diego	schedules	
containers	onto	
Cells	
Running	app!
Deploy source code
that the platform
containerizes for
you
or
Deploy container
images that you
build yourself
Push	Docker	
image	
Developer
Cloud Foundry
Cloud	Controller	
triggers	staging	
Diego	spins	up	
container	to	get	
metadata	
Cloud	Controller	
stores	metadata	
Diego	schedules	
container	onto	
Cells	
Running	app!	
Generate	and	
upload	image	
Developer
Create	
Dockerfile	
Developer
Identify	base	
Docker	image	
Developer
Package	source	
code	
Developer
Cloud Foundry
offers
exceptional
support for
containers at
runtime.
Builds OCI-compatible containers
Generates both Linux and Windows containers
Option to SSH into running containers
Can rebuild containers to patch root file system
Performs log aggregation and correlation
Offers monitoring and auto scaling of containers
Introduces policy-driven container networking
Can attach persistent storage volumes
Intercept traffic via Route Services
Securely connect to outside services via Broker
Secure-by-default approach to containers
•  Application manifests tells cf push
what to do with applications
•  What OS stack to run on: Windows
or Linux
•  How many instances to create and
how much memory to use.
•  Helps automate deployment,
specially of multiple apps at once
•  Can list services to be bound to the
application
•  YAML format – http://yaml.org
Define application metadata in a manifest file.
26
Things about
Pivotal Cloud
Foundry you
should know.
▪  Built for multi-tenancy
▪  Push code or containers
▪  Application manifests written in YAML
▪  Injects environment variables
▪  Aggregates app logs, correlates with metrics
▪  Monitors app health, reacts
▪  Scale manually or automatically
▪  Built in data services, marketplace
▪  Manages apps and underlying VMs
▪  Natively runs on multiple IaaS platforms
▪  Four layers of high availability built in
▪  Access via GUI, REST API, CLI
▪  Dev GUI = Applications Manager
▪  Ops GUI = Operations Manager
demo
break time
.NET is a unified platform
THREADING Threads • Thread Pool • Tasks
IO Files • Compression • MMF
DATA DataSet • DataTable • SQLClient
APIs in .NET Standard 2.0
THREADING Threads • Thread Pool • Tasks
IO Files • Compression • MMF
DATA DataSet • DataTable • SQLClient
APIs in .NET Standard 2.0
https://github.com/dotnet/standard
What’s the story
with .NET Core?
Cross-platform runtime, library, compilers
Fully open source
Modular and built on NuGet packages
Still a subset of .NET Framework scope
Strong CLI tooling available
.NET Core != ASP.NET Core
What’s the story
with ASP.NET
Core?
Runs cross framework (.NET Core
everywhere, and .NET Framework on
Windows)
Fully open source
Handful of supported project types
Can deploy as completely self-contained
Multiple hosting options
Dependency injection baked in
Support for external configuration
The dotnet
CLI tool
dotnet new
dotnet add | remove package
dotnet restore
dotnet build
dotnet run
dotnet test
dotnet publish
Cloud-Native .NET
Where to run cloud-native .NET apps?
Pivotal Cloud Foundry
•  .NET 4.x support (web apps, web services, console apps) on Windows.
•  Resource and namespace isolation on Windows.
•  .NET Core support (web apps, web services, console apps) on Windows or
Linux.
•  Buildpacks for Hostable Web Core (HWC) on Windows and .NET Core on
Linux.
•  Connect to service brokers for application services
•  Native support for health monitoring, autoscaling, log aggregation, container
metrics, and more.
PAS for
Windows
Powered by Windows Server containers
Premium experience for .NET workloads
For legacy apps, access to file system, registry,
GAC
Administrator and developer have SSH capability
Use Windows Event Log drains
Makes it possible for us to add better
autoscaling, C2C networking
Remote app debugging enabled
Building 12 factor ASP.NET applications
Avoid in-process session state
For ASP.NET override MachineKey in web.config and on ASP.NET Core avoid
persisting keyring to filesystem
On ASP.NET avoid environment specific configuration in web.config
Avoid Integrated Windows Authentication
Avoid the GAC
Avoid custom IIS handlers
Avoid anything that uses the Windows registry
Avoid using local disk, especially for storing application state
Avoid using any Windows specific or disk based logging
Avoid any 32-bit specific libraries or libraries that can’t be bin deployable
How to implement cloud-native
patterns? Java users have Spring and
NetflixOSS.
+ =
Spring Cloud
•  Service registration and discovery
•  API gateway
•  Client-side load balancing
•  Git-backed configuration store
•  Circuit breakers
•  OAuth 2.0 security support
•  Distributed tracing
•  Event-driven microservices
•  Orchestrated data pipelines
Pivotal packaged up
key Spring Cloud
capabilities into a
managed bundle for
Pivotal Cloud Foundry
called Spring Cloud
Services.
Enabling cloud-native .NET apps.
Fully open source, part of .NET Foundation
For .NET Framework or .NET Core
Run on Cloud Foundry, or anywhere
Includes:
•  Configuration server provider
•  Service discovery with Netflix Eureka
•  Connectors to OSS data, messaging technology
•  Security providers
•  Circuit breaker with Netflix Hystrix
•  Actuators
•  Coming soon: .NET Core 2.0, SQL Server connector,
distributed tracing
Microservices Configuration
Steeltoe Configuration Providers
•  Built on ASP.NET Core Configuration & Options extensions
•  https://github.com/aspnet/Configuration
•  https://github.com/aspnet/Options
•  https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration
•  Two custom providers
•  CloudFoundry
•  ConfigServer
•  Application type support
•  ASP.NET - MVC, WebForm, WebAPI, WCF
•  ASP.NET Core
•  Console apps (.NET Framework and .NET Core)
Steeltoe Config Server Client Provider
•  Enables Spring Cloud Config Server to be used as a configuration source
•  OSS Config Server - Steeltoe.Extensions.Configuration.ConfigServerCore
•  SCS Config Server - Pivotal.Extensions.Configuration.ConfigServerCore
•  Application type support
•  ASP.NET - MVC, WebForm, WebAPI, WCF
•  ASP.NET Core
•  Console apps (.NET Framework and .NET Core)
Spring Cloud Config Server Overview
•  Supports different back ends
•  Local or remote git repos
•  Hashicorp Vault
•  File System
•  Exposes resource HTTP API
•  Default starts on port=8080
•  Configuration pulled by
•  AppName
•  Profile
•  Label – optional
Spring Cloud Config Server Overview
•  Serves resources:
•  /application.yml
•  /application.properties
•  /application-{profile}.yml
•  /application-{profile}.properties
•  /{appname}-{profile}.yml
•  /{appname}-{profile}.properties
•  /{appname}/{profile}[/{label}]
•  /{label}/{appname}-{profile}.yml
•  /{label}/{appname}-{profile}.properties
•  For a git backend
•  Configure URL of git repo
•  {appname} & {profile} maps to file & directory in repo
•  {label} -> git branch
•  Git backend example:
•  Repo contains files:
•  application.yml
•  application-development.yml
•  foo.yml
•  foo-development.yml
•  bar.yml
•  Client request contains:
•  {appname}=foo
•  {profile}=development
•  Config server returns in precedence order:
•  foo-development.yml
•  foo.yml
•  application-development.yml
•  application.yml
Steeltoe Config Server Client Provider
•  Use AddConfigServer(environment) extension method on ConfigurationBuilder
to add Config Server client provider
•  At Build(), client calls Config Server and retrieves configuration data
•  Must configure the Config Server client settings
•  Easiest to put settings in appsettings.json or other file based config source
•  Must add the providers settings before AddConfigServer(environment) so client
can find settings
•  Two settings are required at minimum
•  spring:application:name defines the ‘{appName}’ portion of the Config
Server request
•  spring:cloud:config:uri defines the REST endpoint of the Config Server
•  IHostEnvironment.EnvironmentName is used for ‘{profile}’ portion of Config
Server request
Using Config Server on Cloud Foundry
•  Create instance of Config Server using CF CLI
•  cf create-service p-config-server standard cserver –c
config.json
•  config.json specifies URL of git repo it uses for configuration data
•  Use cf service to check status of service
•  Bind instance to applications
•  cf bind-service appName cserver
•  Also specify binding in manifest.yml
•  ‘services:’ section-> add ‘cserver’
•  Steeltoe Config Server Client detects p-config-server binding
•  Overrides appsettings.json client settings with binding information
•  Enables easier development and testing locally; and then push to CF with no
changes
Microservices Discovery
Steeltoe Service Discovery Client Overview
•  Provides configurable generalized interface for Service Registry interaction
•  Steeltoe.Discovery.ClientCore
•  Single configurable provider today:
•  Eureka – client for Netflix Eureka Service registry
•  Application type support
•  ASP.NET - MVC, WebForm, WebAPI, WCF
•  ASP.NET Core
•  Console apps (.NET Framework and .NET Core)
Spring Cloud Service Registry Basics
•  Use Service IDs, not URLs, to
locate services
•  Client-side or server-side load
balancing
Steeltoe Eureka Client
•  Enables interaction with Netflix Eureka Service Registry
•  OSS Netflix Eureka Server – use Steeltoe.Discovery.ClientCore
•  PCF Netflix Eureka Server - use Pivotal.Discovery.ClientCore
•  Three step process to enable the Steeltoe Eureka client
•  Configure Discovery client settings – use values from the built Configuration
•  Add Discovery client to service container - AddDiscoveryClient(Configuration)
•  Use Discovery client – UseDiscoveryClient() - starts up client background thread
•  For Eureka, registered services are pulled from Eureka Server
•  Discovery client settings
•  Normally just add settings to Configuration
•  Put in appsettings.json, or Config Server repo, etc.
•  General client settings and for discovering services: eureka:client:….
•  Settings for registering as a service: eureka:instance:…
Using Steeltoe Eureka Client to Find
Services
•  Inject IDiscoveryClient into your Controller, View, etc.
•  Can use the interface to access registered services by name –
GetInstances(name)
•  Alternatively, use DiscoveryHttpClientHandler – an HttpClientHandler for
use with HttpClient
•  Integrates service lookup with issuing HttpClient requests
•  Handler intercepts requests and attempts to resolve ‘host’ portion of the request
URL as a service name
•  Replaces it with resolved address if successful
•  Leaves alone if not
Using Eureka Server on Cloud Foundry
•  Create instance of Eureka Server using CF CLI
•  cf create-service p-service-registry standard
myDiscoveryService
•  Use cf service to check status of service
•  Bind instance to applications
•  cf bind-service appName myDiscoveryService
•  Also specify binding in manifest.yml
•  ‘services’ section-> add ‘myDiscoveryService’
•  Steeltoe Discovery Client detects p-service-registry binding
•  Overrides appsettings.json client settings with binding information
•  Use Eureka Server dashboard to examine registered services
Microservices Connectivity
Steeltoe Connectors Overview
•  Simplify using Cloud Foundry services
•  Can configure settings for local usage (e.g. appsettings.json, Config Server, etc.)
•  When app pushed to Cloud Foundry bindings auto detected and override settings
•  Adds Connection or DbContext objects to service container
•  Several connector NuGets
•  Steeltoe.CloudFoundry.Connector.MySql
•  Steeltoe.CloudFoundry.Connector.Postgres
•  Steeltoe.CloudFoundry.Connector.Rabbit
•  Steeltoe.CloudFoundry.Connector.Redis
•  Steeltoe.CloudFoundry.Connector.OAuth
•  Application type support
•  ASP.NET - MVC, WebForm, WebAPI, WCF
•  ASP.NET Core
•  Console apps (.NET Framework and .NET Core)
Cloud Security Providers
Steeltoe Security Provider Overview
•  Secure your .NET apps on Cloud Foundry
•  Access JWT protected resources (such as the Cloud Controller API)
•  Integrate your application with Pivotal Single Sign on, leveraging OAuth2
•  Adds a Redis key ring storage option for ASP.NET Core Data Protection
•  Two security NuGets
•  Steeltoe.Security.DataProtection.Redis
•  Steeltoe.Security.Authentication.CloudFoundry
•  Application type support
•  ASP.NET - MVC, WebForm, WebAPI, WCF
•  ASP.NET Core
•  Console apps (.NET Framework and .NET Core)
Circuit Breaker
Steeltoe Circuit Breaker Overview
•  Stop sending requests to a
failing service (allowing time
to recover)
•  Fail gracefully by
implementing fall-back
behavior
Cloud Management
Steeltoe Management Endpoints
/info
arbitrary app info, e.g. git build tag
/health
application health information
/trace
circular buffer of last 100 http requests/responses
/loggers
shows and modifies configuration of loggers down to the class level
lunch time
Exercise #1
Goal: Set up environment and generate an ASP.NET Core
microservice.
Expected Result: Laptop configured with Cloud Foundry CLI,
Visual Studio Code, .NET Core SDK. PWS account created and
Spring Cloud Services instance deployed. ASP.NET core
microservice created and deployed to Cloud Foundry.
Exercise #2
Goal: See how to use the Config Server for centralized
configuration.
Expected Result: ASP.NET Core microservice created and set to
use new configuration provider. Service deployed to Cloud
Foundry and leveraging Spring Cloud Services Configuration
Server.
Exercise #3
Goal: Explore service registration and discovery practices.
Expected Result: Register existing microservice with a service
registry. Update a client application so that it discovers the
microservice and uses it.
Exercise #4
Goal: Check out Cloud Foundry support for .NET applications.
Expected Result: The ASP.NET Core microservice scales
automatically, recovers from failures, and emits logs that the
platform aggregates and displays.
Cloud-
native .NET
isn’t only
possible, it’s
now required.
Are you ready?
Upgrade your patterns
Introduce new tools
Upgrade your platform
Experiment and deploy
things!
Learn more!
http://pivotal.io/microservices
https://www.microsoft.com/net/learn/architecture
http://steeltoe.io
https://github.com/steeltoeoss
Ad

More Related Content

What's hot (20)

DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
Cloudify Community
 
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Joshua McKenty
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
VMware Tanzu Korea
 
Tectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWSTectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWS
CoreOS
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
cornelia davis
 
Intro - Cloud Native
Intro - Cloud NativeIntro - Cloud Native
Intro - Cloud Native
Albert Suwandhi
 
Cloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServiceCloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A Service
Patrick Chanezon
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS
atSistemas
 
Hack for Good and Profit (Cloud Foundry Summit 2014)
Hack for Good and Profit (Cloud Foundry Summit 2014)Hack for Good and Profit (Cloud Foundry Summit 2014)
Hack for Good and Profit (Cloud Foundry Summit 2014)
VMware Tanzu
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
VMware Tanzu
 
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
Cloudfoundry + K8S : Prendre le meilleur des deux mondes
Cloudfoundry + K8S  :  Prendre le meilleur des deux mondesCloudfoundry + K8S  :  Prendre le meilleur des deux mondes
Cloudfoundry + K8S : Prendre le meilleur des deux mondes
Erwan Bornier
 
An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
JWORKS powered by Ordina
 
You Might Just be a Functional Programmer Now
You Might Just be a Functional Programmer NowYou Might Just be a Functional Programmer Now
You Might Just be a Functional Programmer Now
cornelia davis
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared Components
Eficode
 
CNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewCNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift Overview
Sumit Shatwara
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment options
Daniel Krook
 
DevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppDevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetApp
atSistemas
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design
Altoros
 
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
VMware Tanzu
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
Cloudify Community
 
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Open stack + Cloud Foundry: Palo Alto Meetup February 2015
Joshua McKenty
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
VMware Tanzu Korea
 
Tectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWSTectonic Summit 2016: CoreOS Tectonic on AWS
Tectonic Summit 2016: CoreOS Tectonic on AWS
CoreOS
 
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-nativeKubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
cornelia davis
 
Cloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServiceCloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A Service
Patrick Chanezon
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS
atSistemas
 
Hack for Good and Profit (Cloud Foundry Summit 2014)
Hack for Good and Profit (Cloud Foundry Summit 2014)Hack for Good and Profit (Cloud Foundry Summit 2014)
Hack for Good and Profit (Cloud Foundry Summit 2014)
VMware Tanzu
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
VMware Tanzu
 
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
Cloudfoundry + K8S : Prendre le meilleur des deux mondes
Cloudfoundry + K8S  :  Prendre le meilleur des deux mondesCloudfoundry + K8S  :  Prendre le meilleur des deux mondes
Cloudfoundry + K8S : Prendre le meilleur des deux mondes
Erwan Bornier
 
You Might Just be a Functional Programmer Now
You Might Just be a Functional Programmer NowYou Might Just be a Functional Programmer Now
You Might Just be a Functional Programmer Now
cornelia davis
 
Large Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared ComponentsLarge Scale Cloud Infrastructure Using Shared Components
Large Scale Cloud Infrastructure Using Shared Components
Eficode
 
CNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewCNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift Overview
Sumit Shatwara
 
Containers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment optionsContainers vs serverless - Navigating application deployment options
Containers vs serverless - Navigating application deployment options
Daniel Krook
 
DevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppDevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetApp
atSistemas
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design
Altoros
 
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
I Segreti per Modernizzare con Successo le Applicazioni (Pivotal Cloud-Native...
VMware Tanzu
 

Similar to .NET Cloud-Native Bootcamp (20)

.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
Brian Christner
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
Daniel Krook
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
sbbabu
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
VMware Tanzu
 
Webcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframeWebcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframe
Rosalind Radcliffe
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
Giovanni Galloro
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
Sigfred Balatan Jr.
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP
Dmitry Lazarenko
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
Containerization Strategy
Containerization StrategyContainerization Strategy
Containerization Strategy
Balaji Mariyappan
 
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
Alain Delafosse
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
Ronak Banka
 
IBM Open Cloud Update XCITE Fall 2014
IBM Open Cloud Update   XCITE Fall 2014IBM Open Cloud Update   XCITE Fall 2014
IBM Open Cloud Update XCITE Fall 2014
Christopher Ferris
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
John Zaccone
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
shyamkumar chauhan
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
Uni Systems S.M.S.A.
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
Daniel Krook
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
sbbabu
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
VMware Tanzu
 
Webcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframeWebcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframe
Rosalind Radcliffe
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
Sigfred Balatan Jr.
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP
Dmitry Lazarenko
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
Alain Delafosse
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
Ronak Banka
 
IBM Open Cloud Update XCITE Fall 2014
IBM Open Cloud Update   XCITE Fall 2014IBM Open Cloud Update   XCITE Fall 2014
IBM Open Cloud Update XCITE Fall 2014
Christopher Ferris
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
Uni Systems S.M.S.A.
 
Ad

More from VMware Tanzu (20)

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Ad

Recently uploaded (20)

FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 

.NET Cloud-Native Bootcamp

  • 2. Goal of this boot camp. Introduce you to practices, platforms and tools for building modern .NET applications.
  • 4. 9-9:15AM Introduction 9:15-9:30AM Getting good at software 9:30-10AM All about microservices 10-10:15AM What’s cloud-native all about? 10:15-10:45A M Introducing Cloud Foundry 10:45-11AM BREAK TIME 11-12:30PM Cloud-native .NET technologies and patterns 12:30-1PM LUNCH 1-4PM Hands on exercises 4-4:30PM Wrap up
  • 5. Why do you need to be good at software? Customers expect it. Meet demand to operate at scale. Gives you more business options. Your competitors are doing it. It makes everyone happier.
  • 6. Ok, but how do I know that I’m doing well at software? Improved speed. Faster cycle time, more frequently deployments. Improved scale. More requests per second to apps and services. Improved stability. Greater uptime of customer-facing service. Improved security. Achieving 100% patch coverage. Improved simplicity. Reduce complexity of processes and tools.
  • 7. What are microservices? It refers to an architectural style that supports constant change in your environment. This is accomplished by creating applications out of independent, loosely-coupled, domain-oriented services.
  • 8. Microservices architecture Monolithic architecture Single focused services. Software solves many challenges in one software package. Loosely coupled. Tightly coupled. Delivered continuously. Delivered all together, on a schedule. Scale independently. Scale everything together. Independent teams own service lifecycle. Many teams own pieces of the service lifecycle. Emphasis on distributed systems patterns. Emphasis on delivery and organizational processes. Diverse technologies managed through automation. Single, long-lived technology stacks. Short onboarding period for new developers. Larger codebase requires significant time to ramp up new team members.
  • 9. Moving to microservices ? Here’s what to consider. Do you have a pressing reason to do it? Can you rearrange your teams? Are you ready to decompose your monoliths? How will you decompose? Are you currently doing CI / CD? Is your production environment automated? How will you discover services at runtime? What can you do to prevent cascading failures? Are you ready to evolve your data platforms? Do you need to modernize your messaging and event stream processing toolchain? Are you ready for modern logging, monitoring?
  • 10. What is “cloud-native” all about? This is an approach to building and operating software that takes advantage of the cloud- computing model. Often seen as a combination of microservices, continuous delivery, containers, and DevOps. It’s all about software that’s built for scale, built for continuous change, built to tolerate failure, built for manageability.
  • 11. Most cloud-native applications comply with the 12 factor criteria. •  One codebase tracked in version control •  Explicitly declared dependencies •  Configurations stored in the environment •  Backing services treated as attached resources •  Separate build, release, and run stages •  Apps executed as stateless processes •  Services exported via port binding •  Scaled out via more processes •  Fast startup and graceful shutdown •  Parity among dev, staging, and production environments •  Logs treated as event streams •  Admin tasks run as one-off processes
  • 12. There’s a maturity model on your way to cloud native. •  No file system dependency •  Self contained application •  Platform managed ports/address •  Consume off-platform services Cloud Ready •  Twelve factor app •  Horizontal scalable •  Leverage platform for HA Cloud Friendly •  Designed for failure •  Apps unaffected by dependencies •  Proactive failure testing •  Metrics and monitoring baked in •  Cloud agnostic runtime Cloud Resilient •  Microservice architecture •  API-first designCloud Native
  • 13. So, what actually makes up a cloud-native platform?
  • 14. Pivotal Cloud Foundry Architecture DYNAMIC ROUTE SERVICES / API MANAGEMENT APP MICROSERVICES TECHNOLOGY Spring Boot Steeltoe Spring Cloud Services DATA MICROSERVICES TECHNOLOGY Spring Cloud Data Flow Cloud Cache RabbitMQ MySQL YOUR APPLICATIONS PLATFORM Elastic Runtime Concourse App Autoscaler PCF Metrics CredHub Orgs, Spaces, Roles and Permissions EMBEDDED OS CLOUD ORCHESTRATION CONTAINER ORCHESTRATIONWindows Linux Amazon Web Services Microsoft Azure Google Cloud Platform Open Stack VMWare SERVICE BROKER API PIVOTAL APPLICATION SERVICE PIVOTAL CLOUD FOUNDRY BOSH MODERN CLOUD NATIVE PLATFORM MULTI CLOUD
  • 15. 15 App Manager UI Application Manager Service Service Broker Service Nodes Service Broker Service Nodes Service Services Service Broker Service Nodes Service CLI – Cmd Line Terminal Window Platform Runtime - Cloud Foundry App Log Aggregator Login Server Dynamic Router Cloud Controller UAA Diego Messaging (NATS) Metrics Collection HA Proxy LB CC-Bridge Rep Executor Rep Executor + = BBSAuctioneer Windows Cell Linux Cell
  • 16. PCF 2.0 Any App Every Cloud One Platform
  • 17. 17 Deploying .NET applications? It doesn’t have to be terrible. Traditional .NET deployment on VMs Pivotal Cloud Foundry Provision a VM Configure IP, DNS Configure firewall Windows updates, reboot… Install IIS Deploy application Configure app pool Configure SSL Configure load balancer ~$ cf push
  • 18. ~$ cf push Code Complete & Tested Find available hosts Install & configure runtime Install & configure middleware Pull application source code Retrieve dependent libraries Create application package Install, configure dependent service(s) Deploy container to host(s) Load environment variables Configure load balancer Configure firewalls Update service monitoring tools Configure log collector Application in Production 45 seconds later
  • 19. $ cf push my-app -p target/myapp.jar or $ cf push my-app --docker-image pivotal/my-image
  • 21. Deploy source code that the platform containerizes for you or Deploy container images that you build yourself
  • 22. Deploy source code that the platform containerizes for you or Deploy container images that you build yourself push source code Developer Cloud Foundry Cloud Controller triggers staging Diego creates container Diego mounts root file system Diego lays down buildpack, source code Diego builds and uploads droplet Diego schedules containers onto Cells Running app!
  • 23. Deploy source code that the platform containerizes for you or Deploy container images that you build yourself Push Docker image Developer Cloud Foundry Cloud Controller triggers staging Diego spins up container to get metadata Cloud Controller stores metadata Diego schedules container onto Cells Running app! Generate and upload image Developer Create Dockerfile Developer Identify base Docker image Developer Package source code Developer
  • 24. Cloud Foundry offers exceptional support for containers at runtime. Builds OCI-compatible containers Generates both Linux and Windows containers Option to SSH into running containers Can rebuild containers to patch root file system Performs log aggregation and correlation Offers monitoring and auto scaling of containers Introduces policy-driven container networking Can attach persistent storage volumes Intercept traffic via Route Services Securely connect to outside services via Broker Secure-by-default approach to containers
  • 25. •  Application manifests tells cf push what to do with applications •  What OS stack to run on: Windows or Linux •  How many instances to create and how much memory to use. •  Helps automate deployment, specially of multiple apps at once •  Can list services to be bound to the application •  YAML format – http://yaml.org Define application metadata in a manifest file.
  • 26. 26 Things about Pivotal Cloud Foundry you should know. ▪  Built for multi-tenancy ▪  Push code or containers ▪  Application manifests written in YAML ▪  Injects environment variables ▪  Aggregates app logs, correlates with metrics ▪  Monitors app health, reacts ▪  Scale manually or automatically ▪  Built in data services, marketplace ▪  Manages apps and underlying VMs ▪  Natively runs on multiple IaaS platforms ▪  Four layers of high availability built in ▪  Access via GUI, REST API, CLI ▪  Dev GUI = Applications Manager ▪  Ops GUI = Operations Manager
  • 27. demo
  • 29. .NET is a unified platform
  • 30. THREADING Threads • Thread Pool • Tasks IO Files • Compression • MMF DATA DataSet • DataTable • SQLClient APIs in .NET Standard 2.0
  • 31. THREADING Threads • Thread Pool • Tasks IO Files • Compression • MMF DATA DataSet • DataTable • SQLClient APIs in .NET Standard 2.0 https://github.com/dotnet/standard
  • 32. What’s the story with .NET Core? Cross-platform runtime, library, compilers Fully open source Modular and built on NuGet packages Still a subset of .NET Framework scope Strong CLI tooling available .NET Core != ASP.NET Core
  • 33. What’s the story with ASP.NET Core? Runs cross framework (.NET Core everywhere, and .NET Framework on Windows) Fully open source Handful of supported project types Can deploy as completely self-contained Multiple hosting options Dependency injection baked in Support for external configuration
  • 34. The dotnet CLI tool dotnet new dotnet add | remove package dotnet restore dotnet build dotnet run dotnet test dotnet publish
  • 36. Where to run cloud-native .NET apps? Pivotal Cloud Foundry •  .NET 4.x support (web apps, web services, console apps) on Windows. •  Resource and namespace isolation on Windows. •  .NET Core support (web apps, web services, console apps) on Windows or Linux. •  Buildpacks for Hostable Web Core (HWC) on Windows and .NET Core on Linux. •  Connect to service brokers for application services •  Native support for health monitoring, autoscaling, log aggregation, container metrics, and more.
  • 37. PAS for Windows Powered by Windows Server containers Premium experience for .NET workloads For legacy apps, access to file system, registry, GAC Administrator and developer have SSH capability Use Windows Event Log drains Makes it possible for us to add better autoscaling, C2C networking Remote app debugging enabled
  • 38. Building 12 factor ASP.NET applications Avoid in-process session state For ASP.NET override MachineKey in web.config and on ASP.NET Core avoid persisting keyring to filesystem On ASP.NET avoid environment specific configuration in web.config Avoid Integrated Windows Authentication Avoid the GAC Avoid custom IIS handlers Avoid anything that uses the Windows registry Avoid using local disk, especially for storing application state Avoid using any Windows specific or disk based logging Avoid any 32-bit specific libraries or libraries that can’t be bin deployable
  • 39. How to implement cloud-native patterns? Java users have Spring and NetflixOSS. + = Spring Cloud •  Service registration and discovery •  API gateway •  Client-side load balancing •  Git-backed configuration store •  Circuit breakers •  OAuth 2.0 security support •  Distributed tracing •  Event-driven microservices •  Orchestrated data pipelines
  • 40. Pivotal packaged up key Spring Cloud capabilities into a managed bundle for Pivotal Cloud Foundry called Spring Cloud Services.
  • 41. Enabling cloud-native .NET apps. Fully open source, part of .NET Foundation For .NET Framework or .NET Core Run on Cloud Foundry, or anywhere Includes: •  Configuration server provider •  Service discovery with Netflix Eureka •  Connectors to OSS data, messaging technology •  Security providers •  Circuit breaker with Netflix Hystrix •  Actuators •  Coming soon: .NET Core 2.0, SQL Server connector, distributed tracing
  • 43. Steeltoe Configuration Providers •  Built on ASP.NET Core Configuration & Options extensions •  https://github.com/aspnet/Configuration •  https://github.com/aspnet/Options •  https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration •  Two custom providers •  CloudFoundry •  ConfigServer •  Application type support •  ASP.NET - MVC, WebForm, WebAPI, WCF •  ASP.NET Core •  Console apps (.NET Framework and .NET Core)
  • 44. Steeltoe Config Server Client Provider •  Enables Spring Cloud Config Server to be used as a configuration source •  OSS Config Server - Steeltoe.Extensions.Configuration.ConfigServerCore •  SCS Config Server - Pivotal.Extensions.Configuration.ConfigServerCore •  Application type support •  ASP.NET - MVC, WebForm, WebAPI, WCF •  ASP.NET Core •  Console apps (.NET Framework and .NET Core)
  • 45. Spring Cloud Config Server Overview •  Supports different back ends •  Local or remote git repos •  Hashicorp Vault •  File System •  Exposes resource HTTP API •  Default starts on port=8080 •  Configuration pulled by •  AppName •  Profile •  Label – optional
  • 46. Spring Cloud Config Server Overview •  Serves resources: •  /application.yml •  /application.properties •  /application-{profile}.yml •  /application-{profile}.properties •  /{appname}-{profile}.yml •  /{appname}-{profile}.properties •  /{appname}/{profile}[/{label}] •  /{label}/{appname}-{profile}.yml •  /{label}/{appname}-{profile}.properties •  For a git backend •  Configure URL of git repo •  {appname} & {profile} maps to file & directory in repo •  {label} -> git branch •  Git backend example: •  Repo contains files: •  application.yml •  application-development.yml •  foo.yml •  foo-development.yml •  bar.yml •  Client request contains: •  {appname}=foo •  {profile}=development •  Config server returns in precedence order: •  foo-development.yml •  foo.yml •  application-development.yml •  application.yml
  • 47. Steeltoe Config Server Client Provider •  Use AddConfigServer(environment) extension method on ConfigurationBuilder to add Config Server client provider •  At Build(), client calls Config Server and retrieves configuration data •  Must configure the Config Server client settings •  Easiest to put settings in appsettings.json or other file based config source •  Must add the providers settings before AddConfigServer(environment) so client can find settings •  Two settings are required at minimum •  spring:application:name defines the ‘{appName}’ portion of the Config Server request •  spring:cloud:config:uri defines the REST endpoint of the Config Server •  IHostEnvironment.EnvironmentName is used for ‘{profile}’ portion of Config Server request
  • 48. Using Config Server on Cloud Foundry •  Create instance of Config Server using CF CLI •  cf create-service p-config-server standard cserver –c config.json •  config.json specifies URL of git repo it uses for configuration data •  Use cf service to check status of service •  Bind instance to applications •  cf bind-service appName cserver •  Also specify binding in manifest.yml •  ‘services:’ section-> add ‘cserver’ •  Steeltoe Config Server Client detects p-config-server binding •  Overrides appsettings.json client settings with binding information •  Enables easier development and testing locally; and then push to CF with no changes
  • 50. Steeltoe Service Discovery Client Overview •  Provides configurable generalized interface for Service Registry interaction •  Steeltoe.Discovery.ClientCore •  Single configurable provider today: •  Eureka – client for Netflix Eureka Service registry •  Application type support •  ASP.NET - MVC, WebForm, WebAPI, WCF •  ASP.NET Core •  Console apps (.NET Framework and .NET Core)
  • 51. Spring Cloud Service Registry Basics •  Use Service IDs, not URLs, to locate services •  Client-side or server-side load balancing
  • 52. Steeltoe Eureka Client •  Enables interaction with Netflix Eureka Service Registry •  OSS Netflix Eureka Server – use Steeltoe.Discovery.ClientCore •  PCF Netflix Eureka Server - use Pivotal.Discovery.ClientCore •  Three step process to enable the Steeltoe Eureka client •  Configure Discovery client settings – use values from the built Configuration •  Add Discovery client to service container - AddDiscoveryClient(Configuration) •  Use Discovery client – UseDiscoveryClient() - starts up client background thread •  For Eureka, registered services are pulled from Eureka Server •  Discovery client settings •  Normally just add settings to Configuration •  Put in appsettings.json, or Config Server repo, etc. •  General client settings and for discovering services: eureka:client:…. •  Settings for registering as a service: eureka:instance:…
  • 53. Using Steeltoe Eureka Client to Find Services •  Inject IDiscoveryClient into your Controller, View, etc. •  Can use the interface to access registered services by name – GetInstances(name) •  Alternatively, use DiscoveryHttpClientHandler – an HttpClientHandler for use with HttpClient •  Integrates service lookup with issuing HttpClient requests •  Handler intercepts requests and attempts to resolve ‘host’ portion of the request URL as a service name •  Replaces it with resolved address if successful •  Leaves alone if not
  • 54. Using Eureka Server on Cloud Foundry •  Create instance of Eureka Server using CF CLI •  cf create-service p-service-registry standard myDiscoveryService •  Use cf service to check status of service •  Bind instance to applications •  cf bind-service appName myDiscoveryService •  Also specify binding in manifest.yml •  ‘services’ section-> add ‘myDiscoveryService’ •  Steeltoe Discovery Client detects p-service-registry binding •  Overrides appsettings.json client settings with binding information •  Use Eureka Server dashboard to examine registered services
  • 56. Steeltoe Connectors Overview •  Simplify using Cloud Foundry services •  Can configure settings for local usage (e.g. appsettings.json, Config Server, etc.) •  When app pushed to Cloud Foundry bindings auto detected and override settings •  Adds Connection or DbContext objects to service container •  Several connector NuGets •  Steeltoe.CloudFoundry.Connector.MySql •  Steeltoe.CloudFoundry.Connector.Postgres •  Steeltoe.CloudFoundry.Connector.Rabbit •  Steeltoe.CloudFoundry.Connector.Redis •  Steeltoe.CloudFoundry.Connector.OAuth •  Application type support •  ASP.NET - MVC, WebForm, WebAPI, WCF •  ASP.NET Core •  Console apps (.NET Framework and .NET Core)
  • 58. Steeltoe Security Provider Overview •  Secure your .NET apps on Cloud Foundry •  Access JWT protected resources (such as the Cloud Controller API) •  Integrate your application with Pivotal Single Sign on, leveraging OAuth2 •  Adds a Redis key ring storage option for ASP.NET Core Data Protection •  Two security NuGets •  Steeltoe.Security.DataProtection.Redis •  Steeltoe.Security.Authentication.CloudFoundry •  Application type support •  ASP.NET - MVC, WebForm, WebAPI, WCF •  ASP.NET Core •  Console apps (.NET Framework and .NET Core)
  • 60. Steeltoe Circuit Breaker Overview •  Stop sending requests to a failing service (allowing time to recover) •  Fail gracefully by implementing fall-back behavior
  • 62. Steeltoe Management Endpoints /info arbitrary app info, e.g. git build tag /health application health information /trace circular buffer of last 100 http requests/responses /loggers shows and modifies configuration of loggers down to the class level
  • 64. Exercise #1 Goal: Set up environment and generate an ASP.NET Core microservice. Expected Result: Laptop configured with Cloud Foundry CLI, Visual Studio Code, .NET Core SDK. PWS account created and Spring Cloud Services instance deployed. ASP.NET core microservice created and deployed to Cloud Foundry.
  • 65. Exercise #2 Goal: See how to use the Config Server for centralized configuration. Expected Result: ASP.NET Core microservice created and set to use new configuration provider. Service deployed to Cloud Foundry and leveraging Spring Cloud Services Configuration Server.
  • 66. Exercise #3 Goal: Explore service registration and discovery practices. Expected Result: Register existing microservice with a service registry. Update a client application so that it discovers the microservice and uses it.
  • 67. Exercise #4 Goal: Check out Cloud Foundry support for .NET applications. Expected Result: The ASP.NET Core microservice scales automatically, recovers from failures, and emits logs that the platform aggregates and displays.
  • 68. Cloud- native .NET isn’t only possible, it’s now required. Are you ready? Upgrade your patterns Introduce new tools Upgrade your platform Experiment and deploy things!