Watch this Tech Talk: https://do.co/video_pdougherty
With DigitalOcean App Platform, you get out-of-the-box support for several programming languages and application frameworks. For those languages and frameworks that DigitalOcean doesn’t currently support, learn how you can utilize the Dockerfile mechanism and still benefit from a fully managed PaaS experience.
About the Presenter
Phil Dougherty is a Senior Product Manager at DigitalOcean focused on Kubernetes, container registry, and PaaS. With over 15 years of professional experience in data centers, networking, security, and automation, he has seen the evolution of scale out hosting platforms go from homegrown shell scripts on dedicated servers to multi-cloud micro service based architectures running on Kubernetes. In his free time he likes to ride motorcycles both on and off road, travel, and spend time in the great outdoors.
New to DigitalOcean? Get US $100 in credit when you sign up: https://do.co/deploytoday
To learn more about DigitalOcean: https://www.digitalocean.com/
Follow us on Twitter: https://twitter.com/digitalocean
Like us on Facebook: https://www.facebook.com/DigitalOcean
Follow us on Instagram: https://www.instagram.com/thedigitalocean/
We're hiring: http://do.co/careers
3. DigitalOcean App Platform is a managed application PaaS that abstracts and
encodes best practices of building and operating cloud-native web
applications.
4. Traditional PaaS vs App Platform
What is similar and what is different?
Built on Cloud Native Technologies
Programming Languages & Frameworks
Utilizing Cloud Native Buildpacks
Utilizing a Dockerfile
Build system Dockerfile integrations
DigitalOcean App Platform
App Structure
Flexibility with Components
Outline
5. Traditional PaaS vs App Platform
PaaS App Platform
Built on Cloud Native Technology
Easy onboarding
Cost effective to start and at
scale
Open tooling - Avoid lock-in
Suite of other products available
in the DigitalOcean ecosystem
Black Box - Not Open
Easy onboarding
Cost effective to start and
expensive at scale
Proprietary tooling - Not portable
Limited built in add-on products
and functionality - Relies on 3rd
party tools
6. Traditional PaaS vs App Platform
The traditional pure-play PaaS providers run on top of someone
else’s cloud infrastructure, meaning more costs to pass on to you
As you scale your application those costs begin to grow
substantially
When it comes time move your applications elsewhere to lower
your costs, you are facing a complete infrastructure automation
rewrite
7. App Platform is built on Cloud-Native technologies
Running on a fleet of multi-tenant Kubernetes DOKS clusters.
Workload isolation using gVisor.
Network isolation using Cilium.
Auto-build using Buildpacks and Kaniko.
Global CDN with SSL for all using Cloudflare.
Ingress with path-based routing using Istio and Envoy.
App monitoring and alerting using Prometheus.
App logging using Fluent Bit.
9. Utilizing Cloud-Native Buildpacks
● Cloud native buildpacks have are leveraged for building our currently
supported languages and frameworks
● Support for Procfile and other common patterns borrowed from Heroku
and other traditional PaaS platforms
● Does not require any special configuration, just connect your Git repo
and builds will be automated
● Support for adding custom commands that will be utilized during the
build process
10. Utilizing a Dockerfile
● If you’re already utilizing Dockerfiles elsewhere, no changes need to be made to use
them with App Platform
● Great for getting any language or framework running on App Platform in the case
when we do not currently have a cloud-native buildpack available
● If we do detect that your App is a language or framework that we have a cloud-native
buildpack available for, we will always default to using a Dockerfile for builds when we
detect one in your repository
11. Build System Dockerfile Integration
● Build system has useful hooks and Dockerfile support to make integration
with App Platform painless
● Automatically translates RUN commands into App Platform run commands
● Automatically translates EXPOSE commands into App Platform http_port
settings
13. Flexibility with Components
● Mix and match Dockerfile based components with other components that are
utilizing cloud-native buildpacks
● Quickly iterate and switch between the two build types as necessary to get
your app components online and functioning
● Manage, scale, and iterate on individual components of your apps in tandem
with other members of your team
● Organize and view insights and logs across all of your various components in
a unified interface that makes troubleshooting and management simple
15. Key Takeaways
App Platform allows you to start out cost effective and remain cost effective as you
scale.
App Platform is built on open technologies and is not a black box, so you can feel
confident that you are building on a platform that will grow with you.
Mix and match cloud-native buildpacks and Dockerfile based components within
your App as necessary.