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

Recommended for you

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

Brandon Chavis, Solutions Architect at AWS, shares why CoreOS Tectonic works so well with AWS. 12/12/16

kubernetestectonic summit 2016aws
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

The document discusses how Kubo can be used as a gateway to running cloud-native workloads. It outlines different types of workloads like code developed internally which may change frequently or code from third parties. For internally developed code, Kubo allows maintaining existing processes while deploying container images instead of infrastructure. For external code and data-centric workloads, Kubo provides benefits like health management, multi-cloud support, and operating system/Kubernetes upgrades without affecting applications. The document calls developers to run workloads on Cloud Foundry Container Runtime and share experiences.

cloud foundrykubernetescloud native
Intro - Cloud Native
Intro - Cloud NativeIntro - Cloud Native
Intro - Cloud Native

Cloud native is a new paradigm for developing, deploying, and running applications using containers, microservices, and container orchestration. The Cloud Native Computing Foundation (CNCF) drives adoption of this paradigm through open source projects like Kubernetes, Prometheus, and Envoy. Cloud native applications are packaged as lightweight containers, developed as loosely coupled microservices, and deployed on elastic cloud infrastructure to optimize resource utilization. CNCF seeks to make these innovations accessible to everyone.

cloud computingcloudnativecncf
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.

Recommended for you

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

This talk will provide an overview of the PaaS (Platform as a Service) landscape, and will describe the Cloud Foundry open source PaaS, with its multi-framework, multi-service, multi-cloud model. Cloud Foundry allows developers to provision apps in Java/Spring, Ruby/Rails, Ruby/Sinatra, Javascript/Node, and leverage services like MySQL, MongoDB, Reddis, Postgres and RabbitMQ. It can be used as a public PaaS on CloudFoundry.com and other service providers (ActiveState, AppFog), to create your own private cloud, or on your laptop using the Micro Cloud Foundry VM. The talk will end with a demo of Cloud Foundry in action, showing the end to end development workflow, from developing locally with Micro Cloud Foundry to deploying on Cloud Foundry.com. If you want to get started with Cloud development, bring your laptops, check the requirements and download pre-requisites at https://cloudfoundry.com/micro, and we'll help you setup your environment and get started with Cloud Foundry on your local machine.

cloudfoundrypaascloud
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS

The document discusses continuous integration, continuous deployment, and infrastructure as code for modern applications. It describes how AWS services like CodePipeline, CodeBuild, CodeDeploy, and CloudFormation can be used to automate the build, test, and deployment of serverless and containerized applications. Continuous integration ensures code changes are built and tested regularly. Continuous deployment enables automated deployments to staging and production. Modeling infrastructure as code allows infrastructure changes to be released predictably using the same tools as code changes.

devopssoftwareautomatización
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)

Hackathons are fun events where developers innovate, learn and build development communities. Whether conducted in an academic setting or a corporate one, the aim is to rapidly produce functional code implementations focused around one or more designated themes. Cloud Foundry is a perfect target platform for hackathons, since it supports fast application deployment for continuous integration, abstracted infrastructure, and ample technology choices in terms of buildpacks and services. For those less familiar with cloud computing, Cloud Foundry provides an ideal opportunity for participants to be introduced to new application hosting techniques (Platform as a Service) and learn keys concepts of building applications for the cloud. Cornelia Davis from Pivotal Software and Catherine Spence from Intel share their experiences in leveraging Cloud Foundry in support of numerous hackathons. They discuss what worked well, and less so, and share with you why and how you can deliver your own hackathon event.

pivotal softtwarehackathonintel
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

Recommended for you

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

What’s in a cloud platform? Turns out, often several clouds! Companies automate operations in a cloud by treating all components as commodities. However, at enterprise- scale, different business requirements dictate deploying multiple clouds including: - Hybrid infrastructures and multiple cloud providers - Compliance with country privacy laws and different security standards - Specialization requests The most advanced Pivotal Cloud Foundry (PCF) customers engineer their entire cloud platform, including their multitude of PCF instances, as a product. They create pervasive automation, treat their infrastructure as code, and continuously test and update their platform with delivery pipelines. In this webinar we’ll discuss how companies are scaling operations of their multi-cloud platforms with Pivotal Cloud Foundry. We’ll cover: - Why enterprises deploy multiple clouds - What operational challenges this causes - How PCF customers are applying DevOps techniques and tools to platform automation - An idealized tool stack for a engineering a multi-cloud platform at scale - How to improve your platform engineering We thank you in advance for joining us. The Pivotal Team Presenter : Greg Chase, James Ma, Caleb Washburn, Pivotal

pivotal cloud foundrycloud opscloud scale
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...

Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivotal Cloud-Native Workshop: Milan)

cloud native
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

This document summarizes a presentation about using CloudFoundry and Kubernetes together. It discusses how CloudFoundry BOSH can provide release engineering, deployment, and lifecycle management for Kubernetes clusters through a project called CF Container Runtime (CFCR). This allows using Kubernetes for container orchestration while leveraging BOSH capabilities. It also presents Pivotal's approach to providing a unified platform for developing, deploying and managing applications on CloudFoundry and Kubernetes through shared services, security, networking and other capabilities.

pcfpkspas
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

Recommended for you

An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry

During this presentation, we will be going over the basics of CloudFoundry, the open-source PaaS solution, one of the biggest open-source projects in existence at the moment, and Pivotal's CloudFoundry offering more specifically. Watch the livestream at https://www.youtube.com/watch?v=Voze6PodQEE

ordina cloud foundry cloudfoundry pivotal paas
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

The declarative programming model of Kubernetes is markedly different from what most developers are used to. That the API is a set of resources rather than a list of methods on objects is a bit mind bending. But this programming model is not entirely new – rather, it smacks quite heavily of functional programming. Functional programming had mostly been relegated to academic endeavors until recently. What’s changed that is that our apps are now distributed systems and are simply too complex for us to reason about without help. Kubernetes helps. In order to effectively use Kubernetes to deploy and manage your workloads you need to understand some of the principles of functional programming and how they surface in K8s. In this session I will cover these underlying principles of the K8s programming model so that you can up the robustness and manageability of your application deployments. Presented at KubeCon Barcelona, May 2019

kubernetesfunctional programmingoperations
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

This document discusses Unity's approach to building a large scale Kubernetes infrastructure by distributing ownership of shared components across development teams. Key aspects include: 1. Dividing over 200 microservices across 20 development teams, with each team owning deployment of their services through shared build pipelines, Terraform modules, and Helm charts. 2. Using shared infrastructure components like cloud resources, networking, monitoring tools, and databases that are developed and maintained through an "internal open source model" with clear ownership. 3. Standardizing on tools like Terraform, Kubernetes, Helm, Jenkins, and GitLab CI to ensure consistent environments and enable independent deployments by each team.

devopsdevops2018eficode
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

Recommended for you

CNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewCNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift Overview

Red Hat OpenShift Container Platform 4 Overview Different Application Deployment methodologies on OpenShift though Web-console

open sourceopenshiftkubernetes
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

IBM presentation at the O'Reilly Open Source Convention Container Day in Austin, Texas on May 9, 2017. https://conferences.oreilly.com/oscon/oscon-tx/public/schedule/detail/61403 New technologies seem to arrive fast and furious these days. We were just getting used to our new container world when serverless arrived. But is it better, faster, and cheaper, as the hype suggests? Daniel Krook explores a real application packaged using popular open source container technology and walks you through a migration to an event-oriented serverless paradigm, discussing the trade-offs and pros and cons of each approach to application deployment and examining when serverless benefit applications and when it doesn’t. You’ll learn considerations for using serverless API frameworks and how to reuse some of your containerization strategy as you move from more traditional application models to an event-driven world. Daniel Krook, Software Architect, IBM

serverless containers kubernetes openwhisk paas
DevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppDevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetApp

This document discusses how NetApp provides solutions to enable DevOps through capabilities like configuration management, CI/CD, containers, cloud/PaaS, and analytics. It highlights NetApp's Ansible modules for automating storage tasks, Trident for dynamic container storage provisioning, and the NetApp Kubernetes Service (NKS) for deploying and managing Kubernetes clusters across clouds. The document emphasizes NetApp's focus on helping customers achieve freedom, speed and efficiency in their DevOps practices through these technologies and an open developer community.

devopsautomatizaciónsoftware agile
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

Recommended for you

OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design

Altoros is a company that helps other companies digitally transform their businesses using technologies like Predix. They offer services like developing new products on Predix, migrating applications to Predix, and providing Predix training. Altoros specializes in event-driven architectures and uses OpenWhisk as an open source serverless computing platform. OpenWhisk allows defining triggers, rules, and actions to build event-driven applications that can be invoked asynchronously and support Docker containers.

openwhisk
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...

This document discusses strategies for modernizing applications to run successfully on cloud platforms like Pivotal Cloud Foundry. It outlines key principles like the Twelve Factor App methodology and establishing clear objectives and metrics. The document also presents a maturity model for applications and an incremental approach to migrating and optimizing existing applications over time. It analyzes which aspects of the Twelve Factors usually require more or less effort during modernization. Finally, it proposes starting the journey by identifying suitable applications and pushing some all the way to production to establish best practices.

cloud native
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles

This document outlines an agenda for a .NET cloud-native bootcamp. The bootcamp will introduce practices, platforms and tools for building modern .NET applications, including microservices, Cloud Foundry, and cloud-native .NET technologies and patterns. The agenda includes sessions on microservices, Cloud Foundry, hands-on exercises, and a wrap up. Break times are scheduled between sessions.

cloud foundrypivotal softwarepivotal cloud foundry
•  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

Recommended for you

56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training

This document provides an overview of Docker and cloud native training presented by Brian Christner of 56K.Cloud. It includes an agenda for Docker labs, common IT struggles Docker can address, and 56K.Cloud's consulting and training services. It discusses concepts like containers, microservices, DevOps, infrastructure as code, and cloud migration. It also includes sections on Docker architecture, networking, volumes, logging, and monitoring tools. Case studies and examples are provided to demonstrate how Docker delivers speed, agility, and cost savings for application development.

docker
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

This document summarizes a presentation about deploying PHP applications to Cloud Foundry. The presentation covers Cloud Foundry concepts like buildpacks, services, and scaling applications. It includes demos of pushing a simple PHP app and binding it to a MySQL database service, as well as scaling the app and performing zero downtime deployments. The presentation is aimed at PHP developers and helping them understand how to design their applications to take advantage of Cloud Foundry and the cloud.

 
by IBM
ibmbluemixbuildpack
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers

At this joint NYC Cloud Foundry and NY PHP meetup, we'll discuss the shift to Platform-as-a-Service and what it means for PHP development on the cloud. First, we'll take a look at the "traditional" cloud Infrastructure-as-a-Service (virtual servers and disks) model and describe how Platform-as-a-Service builds upon it to provide the runtimes and data services for hosting PHP applications. We'll then demonstrate how a PHP developer can use buildpacks and services within a Cloud Foundry PaaS to deploy scalable and resilient apps to his or her cloud of choice. Along the way we'll compare the variety of buildpacks available to PHP developers, show techniques for binding to services, and highlight best practices for creating born-on-the-cloud apps based on a microservices architecture. Special thanks to Dan Mikusa for helping with the buildpack comparison. PHP developers: Please give all three build packs a try. Provide your feedback and submit pull requests on GitHub.

cloudphppivotal
.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

Recommended for you

DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics

How to build "AutoScale and AutoHeal" systems using DevOps practices by using modern technologies. A complete build pipeline and the process of architecting a nearly unbreakable system were part of the presentation. These slides were presented at 2018 DevOps conference in Singapore. http://claridenglobal.com/conference/devops-sg-2018/

big datadockerkubernetes
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

PCF: Platform for a New Era - Kubernetes for the Enterprise - London Cornelia Davis Sr. Director of Technology, Pivotal 28th March 2018

Webcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframeWebcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframe

This presentation discusses how IBM UrbanCode Deploy can automate deployment across platforms from mainframe to mobile. It enables continuous delivery by automating deployment processes for traditional and cloud applications. The tool provides visibility into deployments across environments and manages configurations. It supports deployment of applications to various platforms including mobile, middleware, and mainframe systems of record.

z/osdevopsmainframe
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.

Recommended for you

Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms

This document discusses Red Hat's cloud platforms, including Infrastructure as a Service (OpenStack), Platform as a Service (OpenShift), and container technologies. It notes that business demands are driving IT transformation toward cloud-based architectures using open source technologies. Red Hat is a top contributor to OpenStack and OpenShift and offers integrated products like Red Hat Atomic Enterprise and OpenShift Enterprise to help customers deploy and manage container-based applications at scale across hybrid cloud environments.

dockerkubernetescloudforms
[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...

Tout comme le Cloud IaaS avant lui, le serverless promet de faciliter le succès de vos projets en accélérant le Time to Market et en fluidifiant les relations entre Devs et Ops. Mais sa mise en œuvre au sein d’une entreprise reste complexe et coûteuse. Après 2 ans à mettre en place des plateformes managées de ce type, nous partagons nos expériences de ce qu’il faut faire pour mettre en œuvre du serverless en entreprise, en évitant les douleurs et en limitant les contraintes au maximum. Tout d’abord l’architecture technique, avec 2 implémentations très différentes : Kubernetes et Helm d’un côté, Clever Cloud on-premise de l’autre. Ensuite, la mise en place et l’utilisation d’OpenFaaS. Comment tester et versionner du Function as a Service. Mais aussi les problématiques de blue/green deployment, de rolling update, d’A/B testing. Comment diagnostiquer rapidement les dépendances et les communications entre services. Enfin, en abordant les sujets chers à la production : * vulnerability management et patch management, * hétérogénéïté du parc, * monitoring et alerting, * gestion des stacks obsolètes, etc.

cdl2018cdl18capitole du libre
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture

12-Factor App is a methodology for building web applications, software-as-a-service apps. Software applications that are Easy to Setup, Portable, Cloud Platform Ready, CI/CD Ready and Scalable.

12 facfor appdevopssoftware architecture
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.

Recommended for you

Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP

Jelastic PaaS for Hosting companies, Telcos & MSPs. Jelatic allows hosting companies to enter to the DevOps market and monetize trendy Docker technology

javaazureasp.net
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop

Slides from Workshop 'Cloud Foundry: Hands-on Deployment Workshop' http://www.meetup.com/CloudFoundry/events/150601282/ In this workshop you will learn Cloud Foundry fundamental concepts, setup, deployment and operations. We’ll cover a couple of alternatives to deploy CF in a local environment for learning and testing purposes as well as deploying Cloud Foundry atop IaaS production level environment, being able to manage hundreds of components and thousands of applications. If you did not have a chance to work with Cloud Foundry, it may be useful to test its features locally at first. Deploying this environment on a local machine allows you to get hands-on experience in the solution and, in case you are a contributor, to test some features before you commit them to a production environment.

cloudfoundry bosh paas
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation

- Docker celebrated its 5th birthday with events worldwide including one in Cluj, Romania. Over 100 user and customer events were held. - The Docker platform now has over 450 commercial customers, 37 billion container downloads, and 15,000 Docker-related jobs on LinkedIn. - The event in Cluj included presentations on Docker and hands-on labs to learn Docker, as well as social activities like taking selfies with a birthday banner.

dockermeetupcluj
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)

Recommended for you

Containerization Strategy
Containerization StrategyContainerization Strategy
Containerization Strategy

How to introduce containers in your organization and how to approach and make the team adopt the technology

awsdockercontainerd
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final

The document discusses leveraging cloud technologies for agile software development projects. It begins with an introduction that outlines challenges with agile development and how the cloud can help address issues like slow provisioning times and a lack of infrastructure agility. It then provides overviews of Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS) models. The remainder includes demonstrations of using cloud services for cross-browser testing, deploying an application to a PaaS, and discusses factors to consider around IaaS vs. PaaS and public vs. private cloud implementations.

cloud agile saas paas software
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform

This document is a slide presentation by Ronak Banka on using Pivotal Cloud Foundry (PCF) and Google Cloud Platform (GCP) together. It discusses how PCF provides a platform for deploying applications on GCP that enables both developer and operator productivity through features like automated deployments, service integration, and operations. It also highlights benefits of using PCF on GCP like performance, scale, cost savings, and access to differentiated GCP services.

pivotalpcfcloudfoundry
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

Recommended for you

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

I gave this presentation on IBM's Open Cloud Architecture and Cloud Foundry at the XCITE conference in Tokyo.

opencloudcloudfoundry
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor

This document discusses modernizing apps using Docker and the 12 Factor methodology. It begins by thanking sponsors and introducing new organizers. It then provides an overview of the evolution of application architectures from the late 90s to today. It notes the benefits of using Docker, such as faster deployments, version tracking, and security. It discusses moving from a monolith application to a microservices architecture using Docker and following the principles of the 12 Factor App methodology to address challenges of distributed systems, rapid deployments, and automation. The 12 factors are then each explained in detail and how Docker can help implement them for building modern, scalable apps.

12-factordockercontainers
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry

Cloud Foundry is an open source platform as a service (PaaS) that supports deploying, running, and scaling applications. It is multi-language, multi-framework, multi-cloud, and provides services for data, messaging, and more. Cloud Foundry automates infrastructure provisioning and application lifecycle management so developers can focus on code instead of operations. It allows for cloud portability across public and private clouds. BOSH is used behind the scenes to deploy and manage virtual machines and containers in Cloud Foundry.

cloud foundry
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:…

Recommended for you

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

Avishay Sebban, Partner Senior Solution Architect at Red Hat IGC, gives the comprehensive idea behind Red Hat Ansible platform, the full automation capabilities and the smooth deployment to cloud. From Cloud Migration Through Automation: Next Level Flexibility virtual event, hosted on September 30, 2020

cloudcloud computingmicrosoft
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

Spring into AI presented by Dan Vega

javaspring ai
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

The document summarizes Matthew Quinn's presentation on "What AI Means For Your Product Strategy And What To Do About It" at Denver Startup Week 2023. The presentation discusses how generative AI could impact product strategies by potentially solving problems companies have ignored or allowing competitors to create new solutions. Quinn advises product teams to evaluate their strategies and roadmaps, ensure they understand user needs, and consider how AI may change the problems being addressed. He provides examples of how AI could influence product development for apps in home organization and solar sales. Quinn concludes by urging attendees not to ignore AI's potential impacts and to have hard conversations about emerging threats and opportunities.

vmware tanzuai
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)

Recommended for you

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

This document discusses the evolution of internal developer platforms and defines what they are. It provides a timeline of how technologies like infrastructure as a service, public clouds, containers and Kubernetes have shaped developer platforms. The key aspects of an internal developer platform are described as providing application-centric abstractions, service level agreements, automated processes from code to production, consolidated monitoring and feedback. The document advocates that internal platforms should make the right choices obvious and easy for developers. It also introduces Backstage as an open source solution for building internal developer portals.

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

Cardinal Health introduced Tanzu Application Service in 2016 and set up foundations for cloud native applications in AWS and later migrated to GCP in 2018. TAS has provided Cardinal Health with benefits like faster development of applications, zero downtime for critical applications, hosting over 5,000 application instances, quicker patching for security vulnerabilities, and savings through reduced lead times and staffing needs.

Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023

Dan Vega discussed upcoming changes and improvements in Spring including Spring Boot 3, which will have support for JDK 17, Jakarta EE 9/10, ahead-of-time compilation, improved observability with Micrometer, and Project Loom's virtual threads. Spring Boot 3.1 additions were also highlighted such as Docker Compose integration and Spring Authorization Server 1.0. Spring Boot 3.2 will focus on embracing virtual threads from Project Loom to improve scalability of web applications.

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

Recommended for you

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

This document discusses building platforms as products and reducing developer toil. It notes that platform engineering now encompasses PaaS and developer tools. A quote from Mercedes-Benz emphasizes building platforms for developers, not for the company itself. The document contrasts reactive, ticket-driven approaches with automated, self-service platforms and products. It discusses moving from considering platforms as a cost center to experts that drive business results. Finally, it provides questions to identify sources of developer toil, such as issues with workstation setup, running software locally, integration testing, committing changes, and release processes.

Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps

This document provides an overview of building cloud-ready applications in .NET. It defines what makes an application cloud-ready, discusses common issues with legacy applications, and recommends design patterns and practices to address these issues, including loose coupling, high cohesion, messaging, service discovery, API gateways, and resiliency policies. It includes code examples and links to additional resources.

springcloud nativevmware tanzu
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond

Dan Vega discussed new features and capabilities in Spring Boot 3 and beyond, including support for JDK 17, Jakarta EE 9, ahead-of-time compilation, observability with Micrometer, Docker Compose integration, and initial support for Project Loom's virtual threads in Spring Boot 3.2 to improve scalability. He provided an overview of each new feature and explained how they can help Spring applications.

spring bootvmware tanzu
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.

Recommended for you

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

Spring Cloud Gateway is a gateway that provides routing, security, monitoring, and resiliency capabilities for microservices. It acts as an API gateway and sits in front of microservices, routing requests to the appropriate microservice. The gateway uses predicates and filters to route requests and modify requests and responses. It is lightweight and built on reactive principles to enable it to scale to thousands of routes.

springjavaspring cloud gateway
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

Speakers: - Anish Patel, Staff SE, VMware - Jérôme Vigne, Application Innovation Specialist, Microsoft

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

Speakers: - Asir Selvasingh, Principal Architect, Java on Microsoft Azure - Anish Patel, Staff SE, VMware

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!

Recommended for you

tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx

This document appears to be from a VMware Tanzu Developer Connect presentation. It discusses Tanzu Application Platform (TAP), which provides a developer experience on Kubernetes across multiple clouds. TAP aims to unlock developer productivity, build rapid paths to production, and coordinate the work of development, security and operations teams. It offers features like pre-configured templates, integrated developer tools, centralized visibility and workload status, role-based access control, automated pipelines and built-in security. The presentation provides examples of how these capabilities improve experiences for developers, operations teams and security teams.

Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French

Virtual workshop on TAP fully in French Date: May 25, 2023

Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English

The document provides information about a Tanzu Developer Connect Workshop on Tanzu Application Platform. The agenda includes welcome and introductions on Tanzu Application Platform, followed by interactive hands-on workshops on the developer experience and operator experience. It will conclude with a quiz, prizes and giveaways. The document discusses challenges with developing on Kubernetes and how Tanzu Application Platform aims to improve the developer experience with features like pre-configured templates, developer tools integration, rapid iteration and centralized management.

Learn more!
http://pivotal.io/microservices
https://www.microsoft.com/net/learn/architecture
http://steeltoe.io
https://github.com/steeltoeoss

More Related Content

What's hot

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
 

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
 
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
 
클라우드 ��이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
 
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
 
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
 
Intro - Cloud Native
Intro - Cloud NativeIntro - Cloud Native
Intro - Cloud Native
 
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
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS
 
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)
 
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
 
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...
 
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
 
An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
 
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
 
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
 
CNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift OverviewCNCF Meetup - OpenShift Overview
CNCF Meetup - OpenShift Overview
 
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
 
DevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetAppDevOps Spain 2019. Jaime Balañá-NetApp
DevOps Spain 2019. Jaime Balañá-NetApp
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design
 
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...
 

Similar to .NET Cloud-Native Bootcamp

.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.
 

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
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
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
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
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
 
Webcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframeWebcast urbancodemobiltomainframe
Webcast urbancodemobiltomainframe
 
Red hat cloud platforms
Red hat cloud platformsRed hat cloud platforms
Red hat cloud platforms
 
[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...
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Containerization Strategy
Containerization StrategyContainerization Strategy
Containerization Strategy
 
Cloud for agile_sw_projects-final
Cloud for agile_sw_projects-finalCloud for agile_sw_projects-final
Cloud for agile_sw_projects-final
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
 
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
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
 
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
 

More from 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
 

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
 
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
 
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
 
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
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
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
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
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
 
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
 
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
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
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
 
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
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
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
 

Recently uploaded

Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
sheqnetworkmarketing
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
TwisterTools
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
DNUG e.V.
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Estuary Flow
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
Semiosis Software Private Limited
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Livetecs LLC
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
kalichargn70th171
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
Ortus Solutions, Corp
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
Ortus Solutions, Corp
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
Roshan Dwivedi
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
Mindfire Solution
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
VishrutGoyani1
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
sofiafernandezon
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
Severalnines
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
ssuser2b426d1
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
Mitchell Marsh
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
onemonitarsoftware
 

Recently uploaded (20)

Safe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work PermitsSafe Work Permit Management Software for Hot Work Permits
Safe Work Permit Management Software for Hot Work Permits
 
What is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for FreeWhat is OCR Technology and How to Extract Text from Any Image for Free
What is OCR Technology and How to Extract Text from Any Image for Free
 
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdfdachnug51 - HCL Sametime 12 as a Software Appliance.pdf
dachnug51 - HCL Sametime 12 as a Software Appliance.pdf
 
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple StepsSeamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
Seamless PostgreSQL to Snowflake Data Transfer in 8 Simple Steps
 
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
Abortion pills in Fujairah *((+971588192166*)☎️)¥) **Effective Abortion Pills...
 
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
React vs Next js: Which is Better for Web Development? - Semiosis Software Pr...
 
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdfIndependence Day Hasn’t Always Been a U.S. Holiday.pdf
Independence Day Hasn’t Always Been a U.S. Holiday.pdf
 
A Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdfA Comparative Analysis of Functional and Non-Functional Testing.pdf
A Comparative Analysis of Functional and Non-Functional Testing.pdf
 
Intro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AIIntro to Amazon Web Services (AWS) and Gen AI
Intro to Amazon Web Services (AWS) and Gen AI
 
How we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hoursHow we built TryBoxLang in under 48 hours
How we built TryBoxLang in under 48 hours
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
FAST Channels: Explosive Growth Forecast 2024-2027 (Buckle Up!)
 
Cultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational TransformationCultural Shifts: Embracing DevOps for Organizational Transformation
Cultural Shifts: Embracing DevOps for Organizational Transformation
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
Google ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learningGoogle ML-Kit - Understanding on-device machine learning
Google ML-Kit - Understanding on-device machine learning
 
ENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentationENISA Threat Landscape 2023 documentation
ENISA Threat Landscape 2023 documentation
 
WEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service ProvidersWEBINAR SLIDES: CCX for Cloud Service Providers
WEBINAR SLIDES: CCX for Cloud Service Providers
 
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTIONBITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
BITCOIN HEIST RANSOMEWARE ATTACK PREDICTION
 
MVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptxMVP Mobile Application - Codearrest.pptx
MVP Mobile Application - Codearrest.pptx
 
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdfWhatsApp Tracker -  Tracking WhatsApp to Boost Online Safety.pdf
WhatsApp Tracker - Tracking WhatsApp to Boost Online Safety.pdf
 

.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!