Azure App Platform
RWE Renewables
A short History of what we had
Pivotal Cloud Foundry

Top 7 reasons PCF made life difficult

Pivotal Cloud Foundry
  1. Provisioning
  2. Build Packs
  3. Local Storage
  4. Logging
  5. Orchestration
  6. SSL Support
  7. Cost
Azure App Platform
Design Goals
Provisioning
  1. one platform, multiple apps in multiple stages
  2. Apps that need to, should be able to connect to PDV / RCN
  3. should work automatically through pipelines
  4. Requirements should be part of the code
  5. Secrets and configrations should be stored centrally
  6. SSL should work automatically and be enabled by default
  7. Orchestration: be able to deploy apps consisting of multiple microservices
Docker
  1. flexible & battle proven
  2. Containers > Build Packs
  3. Container builds are run in the pipeline and deployed ready to run
  4. Local development and production / staging use the same containers
  5. no struggle "getting it to run" aka "works n my machine"
  6. Documentation about requirements is part of the code
Logging / Debugging
  1. live logs should be viewable by developers
  2. historic logs should be available
  3. flexible use of logged data
Expandability
  1. we don't know the future requirements
  2. use internal hosted services whenever possible
  3. be able to use external services
  4. be able to setup and integrate custom servers (e.g. with Ansible)
Open Standards / Open Source
  1. no vendor lock in
  2. transparency
  3. high iteration rate
The solution to all of this?

Azure
&
Azure Kubernetes Services(AKS)

What we learned along the way
  • it works
  • it is flexible
  • it is extensible
  • it is scalable
What needs to improve
  • documentation
  • boilerplate projects
  • developer onboarding
The future
  • zero downtime deployments
  • ExpressRoute to RCN
  • PDV Extension Subnet -> AKS
Thank you!
Q & A