While I’ve been developing for Kubernetes for a few years now, I am pretty new to both SUSE and Cloud Foundry. I’ve got to say that both have been great experiences! SUSE is a fantastic place to work and our Cloud Foundry distribution (SUSE Cloud Application Platform) makes my development life easier.
I’d like to share a few things that I’ve learned in the last few months (for real):
It really can be as easy as `cf push`:
To deploy a new version of an application, the entire developer workflow is `cf push`. Running that uploads the code and uses one of the pre-defined buildpacks to build and host the update.
I found it surprising to compare to managing yaml files for kubernetes development. (Here’s a friend giving a talk at KubeCon about this)
Buildpacks are customizable:
Custom buildpacks can be really useful. I can adapt the node.js buildpack to build a statically hosted UI bundle with little additional work. I could write a buildpack that knows how to take a single function and build a securely configured server around it to give a FaaS type developer experience. In general, I can easily build pipelines that make sense for the type of development I’m working on.
This gives a really interesting set of use cases that make development much easier.
On the flip side, it also allows for a demarcation in who provides infrastructure and who provides application logic. This can allow, for example, the security team to harden services without the developers needing to care.
The marketplace is really useful:
Any services that I need can be created through the marketplace and Open Service Broker API. I can browse the list of available services is searchable through both Stratos and the `cf marketplace` CLI.
For me, this answers a lot of the typical dev environment setup headaches (such as needing to replicate environments and protect prod).
Eirini will make the operators life easier:
With the coming adoption of Eirini, the container produced by SUSE Cloud Application Platform will be much simpler due to not needing a Diego cell also loaded inside.
It will be much easier for someone, like myself, coming from the Kubernetes world to pick up and understand what the state of the system is.
The complexity is still there but well hidden:
In a large system, complexity can’t be reduced much but it can be moved around. SUSE Cloud Application Platform does a good job of hiding the complexity of the system from developers and IT. It does this while maintaining a balance of not being “too opinionated” of a platform.
The community is fantastic:
I’ve met a bunch of wonderful people in the Cloud Foundry community and they are all amazingly knowledgeable (and friendly). They are welcome to new people and eager to help beginners come up to speed.
While these might be some basic learnings, I believe that they combine into something incredibly powerful. I’m excited about where the industry is going and glad to be a part of it.