Application Development in the Modern World
In this episode of Coffee & Containers, Jim Shilts speaks with Shipa‘s Bruno Andrade, VMware Tanzu‘s Gautham Pallapa, and IBM Cloud‘s Jason McGee McGee.
The topics covered include:
The current state and key challenges surrounding Kubernetes
Selecting from and integrating a diverse set of tools
How do we stay relevant in a rapidly evolving space?
Watch the full video:
The Current State and Key Challenges Surrounding Kubernetes
I think we are kind of in a scale and industrialization phase for a lot of companies, you know, we’ve done the first projects. Many organizations have containerized environments, they’re running Kubernetes, they’re doing cognitive things. Maybe they did that in small pockets or with kind of leading edge teams.
And what they’re really trying to figure out now is how do we do this at scale across the organization? How do we get all of the projects moved over? How do we deal with the complexities of existing applications? How do we deal with maybe hybrid architectures where I need some things in public clouds and some things on premise. We’re trying to figure out how to do regulation compliance and move sensitive workloads. It’s really about taking the ideas that this community of people has been talking about for the last few years, and drive it into mainstream adoption. And I think with that comes some interesting challenges, right? I think there’s a skills challenge for a lot of organizations where they don’t have enough people who really understand the technology. I think later we’ll talk about the diversity of technology in that space.
It’s pretty overwhelming for many people. So, how do you build skills? I also think that there’s an interesting set of activities going on around how developers interact. I’ve spent most of my career in the app platform space. I originally was an app server person at IBM. So I’ve been thinking about app development platforms for a long time. And and one of the things I think is really unique right now is that with Kubernetes, the entire industry has basically agreed on a common platform. I don’t know that that’s ever happened. Even back in the app server days, we at least had java and .net. We had two platforms, but pretty much everyone is agreed, both in the vendor community and in the customer, base that Kubernetes is the platform to go forward on.
Partly because Kubernetes is so flexible, but if you even look at it from a developer perspective, that flexibility comes with complexity, and a lot of concepts, and a lot of knobs to turn, and a lot of ways to solve problems. And so I think the challenge now is, how does the average developer consume a cloud native platform? Are there abstractions, like some of the stuff we’re doing in K native, for example, as a project to build abstractions, like how do we connect it to the DevOps process in the right ways so that, it’s easier to consume? I think we’re in this scale industrialized phase, and I think we have to really think about it that way and think about how the broad mass of the development community can be successful.
Selecting from and Integrating a Diverse Set of Tools
So if you’ve seen the CNCF landscape [https://landscape.cncf.io], it’s pretty intimidating. I think as of last count, there’s more than 1,500 different projects running and very few of them have actually proved themselves. Basically we want to focus on what’s high value activity. We want the developers to create ideas, to design, to create those products that are going to bring immense delight to customers.
Even from the pivotal days where we used to have crypto Cloud Foundry, the goal was to have the developers focus on what they do best and then abstract that complexity. At the same time, have the operators focus on what they do best–the data activity, the stability, and the reliability of the platform. So taking the entire landscape, especially if you’re a CIO or someone who’s tasked with creating the perfect secure software supply chain for your organization, that’s going to transform the org and drive your organizational culture through technology. It’s pretty intimidating as it stands today, but it boils down to a couple of things.
The first thing you want to do is you want to have some kind of a modern dev framework. You want to provide the flexibility to the developers. To have a good framework in any kind of language, a good CI system, data pipeline system, relational DBs, you want to provide them and enable them with the tools and databases and services. As part of that, you want to provide some kind of a Kubernetes dial tone or a framework so that they are building containerized applications and they don’t have to worry about the complexity of all of this. The next thing is integrating that into the CI system so that when the code is checked in, either to GitOps process or DevSecOps process, you’ll have it go into some automated container packaging system where it’s validated, it’s scanned, you already are patching, you know, the vulnerabilities and you can reproduce, and then you store them in one of your container registry systems.
How do we stay relevant in a rapidly evolving space?
We at Shipa, we chose to be opinionated where we as a team believed opinionated approaches add value, and to be non-opinionated where that adds value as well. We decided to build ship as a framework for your application management on top of Kubernetes; it doesn’t really matter where you’re running, right? If even if you’re running on IKS from IBM, OKE from Oracle, GKE from Google AKS, etc. So if you want to use Istio as, as your ingress controller, if you want to use Traefik or Prometheus, for example, we allow you to connect these to Shipa and use the best of breed for your use case in the underlying infrastructure based on your corporate requirements or your application requirements.
Then, start establishing some boundaries as you start moving toward platform operationalization. That way that you can define: every application that gets deployed here, gets this set of controls and guard rails, such as set of security scans, this set of network policies apply, this set of teams and connections to external services, etc. So here you start being a bit more opinionated, but we chose to allow you to change and move the underlying infrastructure as you need, and be non-opinionated there in a way that if you want to swap your Kubernetes clusters or diversions, you can underneath Shipa in a way that it doesn’t impact the application layer and your developers and the operationalization boundaries that you created.
We chose to drive the strategy so we’re not one or two steps behind when Kubernetes comes out with a new version, a new functionality, etc. We chose to allow you to change the components that you want to underneath, but without impacting the operational position controls that you defined for your platform and your developers.
About the Speakers
CEO & Founder, Shipa Corp
Bruno has led distributed systems design and implementation at enterprises across different industries, defining methodologies, concepts and architecture and has dedicated the last few years to working on the Cloud Native space helping companies through a successful journey.
IBM Fellow, VP and CTO, IBM Cloud Platform
Jason is responsible for the IBM Cloud’s platform services, including OpenShift, Kubernetes, Serverless Functions, Satellite, Code Engine, Cloud Foundry, Logging, Monitoring, Container Registry, Schematics, Terraform and Activity Tracker. Jason is also responsible for the technical strategy and architecture for all of IBM’s Cloud Developer Platform (PaaS). Previously Jason has served as CTO of Cloud Foundation Services, Chief Architect of PureApplication System, WebSphere Extended Deployment, WebSphere sMash, and WebSphere Application Server on distributed platforms.
Global CTO, VMware Tanzu
Gautham works as a trusted advisor with Global 2000 enterprise customers in transforming their strategy, processes, technologies, culture, and people to achieve their objectives and business outcomes. His mantra is “Transform with Empathy” and has successfully led several business transformations and cloud modernization efforts in various industry verticals. Gautham is an agile coach, a Lean Six Sigma Black Belt, a SAFe Agilist, and an Ambassador for the DevOps Institute. He writes/talks/works on transformation, elevating humans, helping underprivileged people, and giving back to the community.