Run Your Legacy .NET in the Cloud with Tanzu
Admit it, you’ve got them: legacy .NET applications in production supporting the business. How many times have you been asked the hard question of how you’re going to run those apps in the cloud?
Admit it, you’ve got them: legacy .NET applications in production supporting the business. How many times have you been asked the hard question of how you’re going to run those apps in the cloud?
Moving to the cloud? Containers top the chart when it comes to application modernization while shifting from legacy to cloud. To support the claim, statistics from Gartner do talk in similar numbers, and it’s interesting to know that containers additionally bring down OpEx and boosts productivity. Gartner predicts that by 2022, more than 75% of global organizations will be running containerized applications in production, up from less than 30% today.
Kubernetes is increasingly becoming a uniform standard for computing – in Edge, in core and in the cloud. At NTS, we recognize this trend and have been systematically building up competencies for this core technology since 2018. As a technically-oriented business, we regularly validate different Kubernetes platforms and we share the view of many analysts (e.g. Forrester or Gartner and Gartner Hype Cycle Reports) that Rancher Labs ranks among the leading players in this sector.
While developing Docker images for Icinga 2, Icinga Web 2 and Icinga DB we stumbled over OpenShift which doesn’t allow images to run as root by default. One has to enable that explicitly. Also admins of K8s environments being more permissive by default may decide not to allow running as the superuser. So we’ve added a USER directive to our Dockerfiles to make our customers‘ compliance departments happy.
Today, most organizations, large or small, are hosting their SaaS application on the cloud using multi-tenant architecture. There are multiple reasons for this, but the most simple and straightforward reasons are cost and scalability. In a multi-tenant architecture, one instance of a software application is shared by multiple tenants (clients).
The conversation usually starts with a question like “should we let ArgoCD/Flux/whatever synchronize the actual state automatically whenever the desired state changes in Git?” Truth be told, the question is usually not that elaborated, and it is more like “should I enable the auto-sync feature?” But, I wanted to save you from follow-up questions that help me better understand what that means, so I gave you a more extended and more precise version of the inquiry.
The most common problems and outages in a Kubernetes cluster come from coreDNS, so learning how to monitor coreDNS is crucial. Imagine that your frontend application suddenly goes down. After some time investigating, you discover it’s not resolving the backend endpoint because the DNS keeps returning 500 error codes. The sooner you can get to this conclusion, the faster you can recover your application.
Managing dependencies across multiple repositories and implementing updates to multiple repositories at the same time can be a time consuming and error-prone task. Thus, organizations have taken the approach of managing multiple projects in the same repository, called a Monorepo. The benefits of using a Monorepo become clear with the right tooling. One of those tools is Lerna, which can be used to manage Node-based Monorepos.
Spot by NetApp’s Ocean continuously ensures all pod requirements are met for immediate scheduling by Kubernetes on the right nodes with intelligent bin-packing for optimal resource utilization. In some cases applications will have instance type dependencies, meaning that the application will run optimally on a specific set of cloud compute instances.