SlideShare a Scribd company logo
1 of 12
Download to read offline
Migrating .NET apps to
Cloud Foundry
A Strategy For Enterprises
Your Presenter
● Nicholas Grabowski
● Managing Principal at Charles Schwab & Co.
○ Application Architecture Team
○ R&D Team
● Engineering Leader, Executive, Technologist, Architect
● Primary industries: Financial Services and Retail
● Primary focus: Making technology more efficient
August 4th, 2016
Audience
● Architects, Engineering Leaders, Data Center Ops
● .NET Shops or those with lots of .NET apps
● Have 100s of apps or microservices
● Enterprises with lots of software
Assumptions:
● You are somewhat familiar with Cloud Foundry
A little about our situation & goals.
Situation:
● 100s of .NET, Java, Mainframe, Legacy C,
C++ applications
● Highly regulated environment
● Security is paramount
● Prefer CAPEX over OPEX
● Availability and reliability critical
● Brand conscious, risk averse
Goals:
● Bend cost curve of infrastructure, licensing
● Reduce complexity of deployments
● Leverage available capacity (app density)
● Adhere to our own standards
● Improve security posture
● Improve availability and reliability SLAs
● Improve agile, self service, devops maturity
● Prepare for public cloud
● Do “More, Better, Faster, Cheaper”
Shared Environments - What we built
We started before there were PAAS solutions.
We could see value in consolidating many apps to a
cluster of VMs rather than 1 app per cluster.
So we built Java and .NET “Shared Environments”.
Our .NET env looks like:
● IIS on Windows Server 2008
● Standard server configuration
● Standard networking and firewall rules
● Standard IIS configuration
● All apps deployed to all nodes
Shared Environment DC 2
Shared Environment DC 1
Node1
App1 App2 Appn...
Node2
App1 App2 Appn...
NodeN
App1 App2 Appn...
...
Firewall/Loadbalancer
Client
Apps
Shared Environments - Made Some Progress
Goals “kind of” accomplished:
● Bend cost curve of infrastructure, licensing
● Reduce complexity of deployments
● Leverage available capacity (app density)
● Adhere to our own standards.
● Improve security posture
● Improve availability and reliability SLAs
● Improve agile, self service, devops maturity
● Prepare for public cloud
● Do more: “More, Better, Faster, Cheaper”● Avoided 1000s of VMs
● Avoided 1000s of licenses
● Avoided ops team expansion
Shared Environment DC 2
Shared Environment DC 1
Shared Environments - But Not Enough
Shared Envs gave us a much greater app density
per machine, provided isolation characteristics,
reduced heterogeneity, and improved CD
integration.
But it had limitations:
● No elasticity
● No life cycle management, Pets not cattle
● Containerization is limited
● Security features are limited
Pet1
App1 App2 Appn...
Pet2
App1 App2 Appn...
PetN
App1 App2 Appn...
...
Firewall/LoadBalancer
Client
Apps
Noisy Neighbor App1 failure impacts other apps
Enter Cloud Foundry
● True runtime elasticity
● Lifecycle Management (no more pets)
● Better containerization
● Improved security posture
Goals could be accomplished for Java
● Bend cost curve of infrastructure, licensing
● Reduce complexity of deployments
● Leverage available capacity (app density)
● Adhere to our own standards
● Improve security posture
● Improve availability and reliability SLAs
● Improve agile, self service, devops maturity
● Prepare for public cloud
● Do “More, Better, Faster, Cheaper”
Enter Cloud Foundry - BOSH is the Key
“BOSH is a project that unifies release engineering,
deployment, and lifecycle management of small and
large-scale cloud software. BOSH can provision and deploy
software over hundreds of VMs. It also performs monitoring,
failure recovery, and software updates with zero-to-minimal
downtime.” - bosh.io
Bosh, Stem cells, Go router enable:
● Elasticity
● Life cycle management, Cattle not pets
● Containerization is robust
● Security features are robust
Cloud Foundry DC 2
Cloud Foundry DC 1
Node1
App1 App2 Appn...
Node2
App2
NodeN
App1 App3
...
Router
Client
Apps
BOSH
App4
App5
.NET CF parity - 2 paths
BOSH Windows
● Life cycle of fully managed by CF
● Will run .NET 4.5
● 100s of Billions (Trillions?) of lines of legacy
code need a home
● Windows only shops need a solution
.NET Core on Linux
● Only .NET Core
● Auditors less concerned with linux
● Limits complexity of CF
● Reduces legacy (Active Directory, IIS, etc.)
● .NET on par with other open source
11/2015 - Windows workloads deployable to CF, but parity not achieved… what is
needed?
Migration Considerations
BOSH Windows:
● Consider 12 factor - i.e. cloud readiness
● Remove dependencies on NFS
● Logging will need to change
● Make sure apps are node unaware
● Leverage off host session management
● Externalize environment configuration
● Avoid joining an AD Domain
● Avoid administering nodes directly
.NET Core Linux:
…. All of “BOSH WIndows” +
● .NET Core is more like a port than upgrade
● MSFT infamous for Betas as GAs
● .NET Core support model different
● Replace IIS with Kestrel or Web Listeners.
● Look to integrate CF Managed Services like
○ Messaging (e.g. Rabbit MQ)
○ Session Management (e.g. Redis)
The risk averse should consider a Shared Env first. For the rest of us...
Thanks
Contact me at:
● nicholas.grabowski@schwab.com
● ng@ngsoft.org
● http://www.linkedin.com/in/ngsoft
Shameless Recruiting Plug:
● Are you a solutions or enterprise architect?
● Are you a developer who wants to be an architect?
● Interested in working with the latest technology?
If so, Charles Schwab has an endless supply of multi million
dollar challenges?
http://jobs.schwab.com/

More Related Content

What's hot

DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINXDockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
Docker, Inc.
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
DevOps.com
 

What's hot (20)

Faster safer and 100 user centric application at equifax with docker
Faster safer and 100 user centric application at equifax with dockerFaster safer and 100 user centric application at equifax with docker
Faster safer and 100 user centric application at equifax with docker
 
Building a Cloud-Native Company in 2020 [DevOps Days Buffalo]
Building a Cloud-Native Company in 2020 [DevOps Days Buffalo]Building a Cloud-Native Company in 2020 [DevOps Days Buffalo]
Building a Cloud-Native Company in 2020 [DevOps Days Buffalo]
 
Lugano Tech Talks - Why Docker
Lugano Tech Talks - Why DockerLugano Tech Talks - Why Docker
Lugano Tech Talks - Why Docker
 
Rabncher Meetup India , Lightweight Kubernetes Development with K3s, k3os and...
Rabncher Meetup India , Lightweight Kubernetes Development with K3s, k3os and...Rabncher Meetup India , Lightweight Kubernetes Development with K3s, k3os and...
Rabncher Meetup India , Lightweight Kubernetes Development with K3s, k3os and...
 
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: KeynoteIBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
IBM Bluemix OpenWhisk: Serverless Conference 2017, Austin, USA: Keynote
 
Building Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On BluemixBuilding Highly Scalable Apps On Bluemix
Building Highly Scalable Apps On Bluemix
 
Think Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To MicroservicesThink Small To Go Big - Introduction To Microservices
Think Small To Go Big - Introduction To Microservices
 
Domain-driven Design
Domain-driven DesignDomain-driven Design
Domain-driven Design
 
DCSF 19 Mitigating Legacy Windows Operating System Vulnerabilities with Docke...
DCSF 19 Mitigating Legacy Windows Operating System Vulnerabilities with Docke...DCSF 19 Mitigating Legacy Windows Operating System Vulnerabilities with Docke...
DCSF 19 Mitigating Legacy Windows Operating System Vulnerabilities with Docke...
 
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
 
Modernize applications and reduce TCO with Windows containers on Azure Servic...
Modernize applications and reduce TCO with Windows containers on Azure Servic...Modernize applications and reduce TCO with Windows containers on Azure Servic...
Modernize applications and reduce TCO with Windows containers on Azure Servic...
 
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINXDockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
DockerCon SF 2015: Interconnecting Containers at Scale w/ NGINX
 
Experts Live CH Bern Docker & Kubernetes
Experts Live CH Bern Docker & KubernetesExperts Live CH Bern Docker & Kubernetes
Experts Live CH Bern Docker & Kubernetes
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
 
About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...About Microservices, Containers and their Underestimated Impact on Network Pe...
About Microservices, Containers and their Underestimated Impact on Network Pe...
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
XCloudLabs- AWS Overview
XCloudLabs- AWS Overview XCloudLabs- AWS Overview
XCloudLabs- AWS Overview
 
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
Adopting Azure, Cloud Foundry and Microservice Architecture at Merrill Corpor...
 
Serverless architectures built on an open source platform
Serverless architectures built on an open source platformServerless architectures built on an open source platform
Serverless architectures built on an open source platform
 
Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...
Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...
Costruire Applicazioni Cloud-Native con Spring Boot (Pivotal Cloud-Native Wor...
 

Similar to Migrating .NET Apps to CF, A Strategy for Enterprises

Similar to Migrating .NET Apps to CF, A Strategy for Enterprises (20)

Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 MeetupPreparing for Neo - Singapore OutSystems User Group October 2022 Meetup
Preparing for Neo - Singapore OutSystems User Group October 2022 Meetup
 
Controlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWSControlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWS
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Controlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWSControlled Evolution with Puppet and AWS
Controlled Evolution with Puppet and AWS
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge Clouds
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
The FN Project by Maximilian Jerg
The FN Project by Maximilian JergThe FN Project by Maximilian Jerg
The FN Project by Maximilian Jerg
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Meteor South Bay Meetup - Kubernetes & Google Container Engine
Meteor South Bay Meetup - Kubernetes & Google Container EngineMeteor South Bay Meetup - Kubernetes & Google Container Engine
Meteor South Bay Meetup - Kubernetes & Google Container Engine
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Top 5 benefits of docker
Top 5 benefits of dockerTop 5 benefits of docker
Top 5 benefits of docker
 
Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)Intro to Cloud Native _ v1.0en (2021/01)
Intro to Cloud Native _ v1.0en (2021/01)
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Next gen software operations models in the cloud
Next gen software operations models in the cloudNext gen software operations models in the cloud
Next gen software operations models in the cloud
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?
 

More from VMware Tanzu

More from VMware Tanzu (20)

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
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Recently uploaded

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Migrating .NET Apps to CF, A Strategy for Enterprises

  • 1. Migrating .NET apps to Cloud Foundry A Strategy For Enterprises
  • 2. Your Presenter ● Nicholas Grabowski ● Managing Principal at Charles Schwab & Co. ○ Application Architecture Team ○ R&D Team ● Engineering Leader, Executive, Technologist, Architect ● Primary industries: Financial Services and Retail ● Primary focus: Making technology more efficient August 4th, 2016
  • 3. Audience ● Architects, Engineering Leaders, Data Center Ops ● .NET Shops or those with lots of .NET apps ● Have 100s of apps or microservices ● Enterprises with lots of software Assumptions: ● You are somewhat familiar with Cloud Foundry
  • 4. A little about our situation & goals. Situation: ● 100s of .NET, Java, Mainframe, Legacy C, C++ applications ● Highly regulated environment ● Security is paramount ● Prefer CAPEX over OPEX ● Availability and reliability critical ● Brand conscious, risk averse Goals: ● Bend cost curve of infrastructure, licensing ● Reduce complexity of deployments ● Leverage available capacity (app density) ● Adhere to our own standards ● Improve security posture ● Improve availability and reliability SLAs ● Improve agile, self service, devops maturity ● Prepare for public cloud ● Do “More, Better, Faster, Cheaper”
  • 5. Shared Environments - What we built We started before there were PAAS solutions. We could see value in consolidating many apps to a cluster of VMs rather than 1 app per cluster. So we built Java and .NET “Shared Environments”. Our .NET env looks like: ● IIS on Windows Server 2008 ● Standard server configuration ● Standard networking and firewall rules ● Standard IIS configuration ● All apps deployed to all nodes Shared Environment DC 2 Shared Environment DC 1 Node1 App1 App2 Appn... Node2 App1 App2 Appn... NodeN App1 App2 Appn... ... Firewall/Loadbalancer Client Apps
  • 6. Shared Environments - Made Some Progress Goals “kind of” accomplished: ● Bend cost curve of infrastructure, licensing ● Reduce complexity of deployments ● Leverage available capacity (app density) ● Adhere to our own standards. ● Improve security posture ● Improve availability and reliability SLAs ● Improve agile, self service, devops maturity ● Prepare for public cloud ● Do more: “More, Better, Faster, Cheaper”● Avoided 1000s of VMs ● Avoided 1000s of licenses ● Avoided ops team expansion
  • 7. Shared Environment DC 2 Shared Environment DC 1 Shared Environments - But Not Enough Shared Envs gave us a much greater app density per machine, provided isolation characteristics, reduced heterogeneity, and improved CD integration. But it had limitations: ● No elasticity ● No life cycle management, Pets not cattle ● Containerization is limited ● Security features are limited Pet1 App1 App2 Appn... Pet2 App1 App2 Appn... PetN App1 App2 Appn... ... Firewall/LoadBalancer Client Apps Noisy Neighbor App1 failure impacts other apps
  • 8. Enter Cloud Foundry ● True runtime elasticity ● Lifecycle Management (no more pets) ● Better containerization ● Improved security posture Goals could be accomplished for Java ● Bend cost curve of infrastructure, licensing ● Reduce complexity of deployments ● Leverage available capacity (app density) ● Adhere to our own standards ● Improve security posture ● Improve availability and reliability SLAs ● Improve agile, self service, devops maturity ● Prepare for public cloud ● Do “More, Better, Faster, Cheaper”
  • 9. Enter Cloud Foundry - BOSH is the Key “BOSH is a project that unifies release engineering, deployment, and lifecycle management of small and large-scale cloud software. BOSH can provision and deploy software over hundreds of VMs. It also performs monitoring, failure recovery, and software updates with zero-to-minimal downtime.” - bosh.io Bosh, Stem cells, Go router enable: ● Elasticity ● Life cycle management, Cattle not pets ● Containerization is robust ● Security features are robust Cloud Foundry DC 2 Cloud Foundry DC 1 Node1 App1 App2 Appn... Node2 App2 NodeN App1 App3 ... Router Client Apps BOSH App4 App5
  • 10. .NET CF parity - 2 paths BOSH Windows ● Life cycle of fully managed by CF ● Will run .NET 4.5 ● 100s of Billions (Trillions?) of lines of legacy code need a home ● Windows only shops need a solution .NET Core on Linux ● Only .NET Core ● Auditors less concerned with linux ● Limits complexity of CF ● Reduces legacy (Active Directory, IIS, etc.) ● .NET on par with other open source 11/2015 - Windows workloads deployable to CF, but parity not achieved… what is needed?
  • 11. Migration Considerations BOSH Windows: ● Consider 12 factor - i.e. cloud readiness ● Remove dependencies on NFS ● Logging will need to change ● Make sure apps are node unaware ● Leverage off host session management ● Externalize environment configuration ● Avoid joining an AD Domain ● Avoid administering nodes directly .NET Core Linux: …. All of “BOSH WIndows” + ● .NET Core is more like a port than upgrade ● MSFT infamous for Betas as GAs ● .NET Core support model different ● Replace IIS with Kestrel or Web Listeners. ● Look to integrate CF Managed Services like ○ Messaging (e.g. Rabbit MQ) ○ Session Management (e.g. Redis) The risk averse should consider a Shared Env first. For the rest of us...
  • 12. Thanks Contact me at: ● nicholas.grabowski@schwab.com ● ng@ngsoft.org ● http://www.linkedin.com/in/ngsoft Shameless Recruiting Plug: ● Are you a solutions or enterprise architect? ● Are you a developer who wants to be an architect? ● Interested in working with the latest technology? If so, Charles Schwab has an endless supply of multi million dollar challenges? http://jobs.schwab.com/