Does it seem like a dream to you to deploy your application with a single command? Wouldn’t you like to jump on the Kubernetes train and fly over the clouds like the cool kids? As you read these lines, are you contemplating your “legacy” practices and sighing in despair?
Good news! Everything that today’s teams need in the modernization process is just a click away with Google Cloud.
Application Modernization as a Product
Anthos service, which Google opened for general use in July 2019, is defined as an application modernization platform.
You might have heard of Anthos and thought it was just a hybrid cloud solution, like me. However, Anthos is a product that provides much more than that. You can run your applications on Google Cloud, other cloud providers, or your own data center on a modernization journey with Anthos.
GKE, or Kubernetes, lies at the heart of Anthos. You can benefit from Anthos to make your applications run efficiently on Kubernetes and continue your operations on the second day.
I can hear you asking, “What are these benefits?”:
- With Anthos, you can automatically turn virtual machines in Google Compute Engine or your own data center into containers.
- You can manage multiple Kubernetes clusters on a single platform.
- With central configuration management, you can make self-documenting infrastructure changes over CI / CD.
- It also includes Istio, as if it wasn’t cool enough with Kubernetes! You can monitor and manage the communication between Istio and your services.
- You can monitor your entire infrastructure from a single interface, and you can even follow the SLO if you wish.
Cluster Wherever You Want It
If you have more than one GKE cluster in a GCP project, you might have noticed that their resources can be viewed and managed from shared pages. With Anthos, you can add your Kubernetes clusters from other cloud providers or in your own data center to this shared pool.
You can also create a network between these clusters with Anthos Service Mesh (Istio) and easily manage them. If you had the chance to watch Burr Sutter’s speech at Red Hat events in the past years, the Kiali interface you may have encountered is also included in Anthos:
GitOps for Everyone
The feature I like most in Anthos is configuration management. With the features provided by the platform, it becomes effortless to create a GitOps process.
The hardest part of managing Kubernetes is not debugging but figuring out how to manage the excessive YAML files you have. It is the right move to offer a ready-made solution to the teams in the modernization process.
Anthos has customized Kubertenes for configuration management through various CRDs. This way, the files you keep in a git repository are applied continuously to your clusters by Kubernetes Operators. I want to underline the “your clusters” part in the previous sentence: You can manage all your clusters from a single git repository.
You can manage your GCP resources or create hierarchical namespaces with operators and CRDs. One disadvantage of these is that you are moving away from a lean Kubernetes experience, but they certainly provide a healthy base for second-day operations.
By the way, the hierarchical namespace feature comes to Kubernetes as an add-on.
Is anything and everything possible with Anthos?
Anthos features provide an opportunity for teams that want to go beyond “lift and shift” and migrate to the cloud. However, I doubt that you can purchase the modernization of an app.
As crucial as the second-day operations are, the second-day developments are also essential. I do not think it is possible to create an effective team just with a product or carry out meticulous processes with a mediocre team. However, Anthos hybrid cloud features can be life-saving for teams that have to keep Kubernetes in their data centers due to legal liabilities.
Ultimately, if your goal is to deliver the value produced by your software developers every day in the fastest and most sustainable way to your users, not to use trending technologies, the best way for modernization is to design your own processes and continuously try to do better.