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