Posted on Leave a comment

Getting Started with Cloud-Native App Development: Best Practices, Learning Materials, and Videos to Watch

As a new engineer, understanding the concept of cloud-native app development is important for several reasons.

First, cloud-native app development is a key aspect of building and deploying applications in the cloud. It is the practice of using technologies, tools, and best practices that are designed to work seamlessly with cloud environments. By understanding how cloud-native app development works, you will be able to build, deploy, and manage cloud-native applications more effectively.

Second, cloud-native app development allows for better scalability and cost efficiency. By using technologies, tools, and best practices that are designed to work seamlessly with cloud environments, it allows for resources to be automatically allocated and scaled up or down as needed, without incurring additional costs.

Third, cloud-native app development promotes better collaboration and DevOps culture. By using technologies, tools, and best practices that are designed to work seamlessly with cloud environments, it becomes easier for different teams and developers to work together on the same application.

Fourth, cloud-native app development allows for better security, by using technologies, tools, and best practices that are designed to work seamlessly with cloud environments, it ensures that the application and infrastructure are protected from threats and can continue to operate in case of an attack or failure.

In summary, as a new engineer, understanding the concept of cloud-native app development is important because it is a key aspect of building and deploying applications in the cloud, allows for better scalability and cost efficiency, promotes better collaboration and DevOps culture, and allows for better security.

Learning Materials

Here’s a list to get you started learning about cloud-native app development. Note that some of these links may not be free and may require a subscription or payment. I receive no affiliate payments for these links.

Beginner:

Intermediate:

Advanced:

Videos to Watch

Best practices in Kubernetes app development

This document outlines best practices for developing with Kubernetes, such as using a tailored logging interface, debugging with CLI commands, and creating project templates with Cloud Code. Google Cloud DevTools are introduced as a way to simplify the process of incorporating best practices into the Kubernetes development workflow.

A Possible Learning Path

Hands-on experience: Start by setting up a simple Kubernetes cluster and experimenting with different app development tools such as Kubernetes Deployments, Services, and ConfigMaps. This can be done by following tutorials and guides, and deploying a simple application on a cloud platform like AWS, Azure, or GCP.

Theoretical learning: Once you have a basic understanding of app development, you can begin to explore the underlying concepts and technologies such as Kubernetes pods, services, and volumes. This can be done through online resources such as tutorials, courses, and documentation provided by Kubernetes, as well as books and blogs on the topic.

Understanding the principles and best practices: App development is an important aspect of a microservices architecture, so it’s important to understand the key principles and best practices of app development such as containerization, scaling, and rolling updates.

Joining a community: Joining a community of Kubernetes enthusiasts will help you connect with other people who are learning and working with app development for Kubernetes. This can be done through online forums, meetups, and social media groups.

Practice, practice, practice: As with any new technology, the best way to learn is by doing. The more you practice deploying and using app development tools in a Kubernetes cluster, the more comfortable and proficient you will become with the technology.

A Note from the Architect

Hey there, let’s talk about cloud native application development. So, what is it exactly? Well, it’s all about developing applications that are specifically designed to run in a cloud environment, like Kubernetes, which is one of the most popular container orchestration platforms out there.

What makes cloud native application development different from other approaches is that it’s all about leveraging the benefits of the cloud, like scalability and flexibility, to create applications that can easily adapt to changing workloads and environments.

When it comes to developing applications for Kubernetes, there’s a typical software development workflow that you’ll need to follow. First, you’ll need to choose the right programming languages and frameworks. Some of the most popular languages for cloud native development are Go, Java, Python, and Node.js.

Once you’ve chosen your languages and frameworks, you’ll need to design your application architecture to work well with Kubernetes. Some of the best patterns for Kubernetes include using microservices, containerization, and service meshes. On the other hand, monolithic applications and stateful applications are not well suited for running on Kubernetes.

And finally, let me tell you, we really like VS Code around here. It’s one of the best tools for cloud native application development, especially when working with Kubernetes. It provides a lot of great features for working with containerization and orchestration, like excellent plugins for Kubernetes, debugging, and integration with other popular tools like Helm and Kustomize. So, if you haven’t already, give it a try, you might like it too.

Be sure to reach out on LinkedIn if you have any questions.

Connect with Shawn
Connect with Shawn

Connect with me on LinkedIn. It’s where I’m most active, and it’s the easiest way to connect with me.

Posted on Leave a comment

Master Cloud Native Governance: The Essential Guide for New Engineers

As a new engineer, understanding the concept of cloud-native governance is important for several reasons.

First, it is a key component of cloud native application development. It uses governance tools and technologies that are native to the cloud and designed to work seamlessly with cloud-native applications. This allows for better deployment and management of cloud-native applications.

Second, cloud-native governance ensures compliance and security. It ensures that the application and infrastructure meet compliance requirements and are protected from threats.

Third, it promotes better collaboration and DevOps culture. Different teams and developers can work together on the same application, and the organization’s policies and standards are followed.

Fourth, it allows for better cost management. Resources can be monitored and controlled, and the organization is not overspending on the cloud.

In summary, understanding the concept of cloud-native governance is important for any engineer working in the field today. It is a powerful tool for building and deploying applications in a cloud environment.

Learning Materials

Here’s a list to get you started learning about cloud-native governance. Note that some of these links may not be free and may require a subscription or payment. I receive no affiliate payments for these links.

Beginner:

Intermediate:

Advanced:

A Possible Learning Path

Hands-on experience: Start by setting up a simple Kubernetes cluster and experimenting with different governance tools such as Open Policy Agent (OPA), Kubernetes Policy Controller, and Kube-bench. This can be done by following tutorials and guides, and deploying these tools on a cloud platform like AWS, Azure, or GCP.

Theoretical learning: Once you have a basic understanding of governance, you can begin to explore the underlying concepts and technologies such as Kubernetes role-based access control (RBAC), Namespaces, and NetworkPolicies. This can be done through online resources such as tutorials, courses, and documentation provided by Kubernetes, as well as books and blogs on the topic.

Understanding the principles and best practices: Governance is an important aspect of a microservices architecture, so it’s important to understand the key principles and best practices of governance such as security, compliance, and auditing.

Joining a community: Joining a community of Kubernetes enthusiasts will help you connect with other people who are learning and working with governance for Kubernetes. This can be done through online forums, meetups, and social media groups.

Practice, practice, practice: As with any new technology, the best way to learn is by doing. The more you practice deploying and using governance tools in a Kubernetes cluster, the more comfortable and proficient you will become with the technology.

A Note from the Architect

Ok, let’s talk about cloud native governance. So, why do we need to practice it? Well, as we all know, the cloud is a constantly evolving landscape and it can be pretty overwhelming to keep up with all the new technologies and best practices. That’s where governance comes in – it’s all about making sure we’re using the cloud in a consistent and efficient way across our organization.

So what exactly is cloud native governance? It’s all about using policies and tools to manage the resources in our cloud environment. This includes things like setting up guidelines for how our teams use the cloud, automating tasks to keep our environment in check, and monitoring for any potential issues.

Now, you might be wondering why cloud native governance was created. Well, as organizations started moving more and more of their workloads to the cloud, they realized they needed a way to keep everything in check. Without governance in place, it can be easy for teams to create resources in an ad-hoc way, which can lead to wasted resources, security vulnerabilities, and inconsistencies in how the cloud is being used.

Now, let’s talk about the major tools on Kubernetes that help with cloud native governance. One of the most popular is Kubernetes itself, which provides a way to manage and scale containerized applications. Another popular tool is Helm, which helps with managing and deploying Kubernetes resources. There’s also Kustomize, which helps with creating and managing customized resources. And finally, there’s Open Policy Agent (OPA) which allows to define and enforce policies on k8s resources.

It’s important to note that governance is similar to security, and it requires a continuous practice. Governance policies and tools need to be regularly reviewed and updated to ensure they are still effective and aligned with the organization’s goals and requirements. It’s all about making sure we’re using the cloud in the best way possible.

Be sure to reach out on LinkedIn if you have any questions.

Connect with Shawn
Connect with Shawn

Connect with me on LinkedIn. It’s where I’m most active, and it’s the easiest way to connect with me.