In this episode of TFiR: Let’s Talk recorded at the 2023 KubeCon + CloudNativeCon Europe in Amsterdam, Swapnil Bhartiya sits down with Billy Thompson, Solutions Engineering Manager at Akamai, to talk about portable architecture and how companies can embrace it.
Key highlights of this video interview:
- Cloud native is an approach or technique for application development deployment that leverages technologies that take advantage of the elasticity and scalability of on-demand resources in the cloud. It’s a design pattern.
- There are hyperscalers who produce a lot of very opinionated content and narrative on how to develop cloud-native applications that use services that they natively provide on their platform. This results in a cloud-native application that is vendor-locked and is built to run only on their platform, i.e., platform native.
- A portable design allows you to commoditize your cloud providers to pick the right provider for the right job. It is the ability to swap out resources and structure your architecture based on what best suits a particular workload.
- By architecting in a way that’s portable, on open source and core cloud infrastructure primitives, companies can evolve at the speed of this industry. And they can do so with minimal cloud waste.
- A lot of organizations believe that utilizing managed services is the easier route, but they are not always easy to use and easy to implement. The documentation can be difficult and it takes time and energy to get certifications and other training to understand. Most importantly, you lose the flexibility and the agility to move around in the cloud space.
Advice for companies looking to embrace portable architecture:
- Identify current points of vendor lock-in and ask why you are using that service and what are the alternatives. The longer you sit there in that current environment, the easier it is to go deeper and deeper and the more difficult it can be to unwrap from that.
- Develop in a way that is cloud native and cloud agnostic. Making design choices around technologies that can work on any of the cloud infrastructure providers.
- If you’re starting out, then start with infrastructure-as-code. Tools like Terraform and Pulumi wrap around all of these providers’ APIs and can help you develop a strong multi-cloud strategy.
- If you’re managing your own infrastructure, you should have configuration management and build that into your automation pipelines.
- Version-control not just your application, but all the components underneath it.
- For portable architecture, go in the direction of everything-as-code (EaC).
- These things take time so do what you feel is best for your business. Do you want to invest in getting certified for a hyperscaler, learning their platform, and hiring new people to help you with it? Or do you want to invest in learning the tools and techniques that will travel with you anywhere you go and on any platform?
This summary was written by Camille Gregory.