Kubernetes is a foundational cloud technology enjoying broad adoption by both customers and ecosystem partners. At Apprenda we’re excited to be part of this open community and take pride in our contributions to date including:
In addition to these efforts, our commercial Apprenda Cloud Platform (ACP) product also natively supports K8s clusters and applications. With so many K8s solutions in the marketplace, it can be difficult for customers to digest and understand the differences between them, especially given how fast the market is evolving. The Apprenda Cloud Platform provides several important and unique differentiators for enterprise customers.
Service Provider Enablement
If your goal is to run a shared service for developers, Kubernetes is powerful but it’s not sufficient to simply stand up a cluster and let your developer community have at it. The Apprenda Cloud Platform enables enterprise IT to operate as a true service provider by separating the concerns of developers and operators and providing unique APIs/interfaces/experiences for each of these constituents. Developers shouldn’t have to work with nodes, servers, load balancers etc. and should instead simply be focused on their applications. Likewise, operators need service-provider capabilities to manage running applications and dev teams at scale. ACP provides robust capabilities for onboarding development teams, managing resource quotas and policies, centralized logging and auditing with retention policies, granular role based access control, brokering policy-controlled access to third-party services and numerous other considerations.
First-Class Legacy and Cloud Native Application Support
Apprenda is the only enterprise platform enabling customers to host legacy and modern applications on a single fabric and control plane. For legacy applications, this isn’t about “lift and shift” – nobody wants to spend years of time and money to get the same application running on a new form factor. The real challenge arises because most new cloud native applications of any real business consequence require interactions with existing apps and systems. Re-writing these legacy apps might take years, if it’s feasible at all. On the other hand, leaving them in place or migrating them to an IaaS platform will leave your shiny new microservices at the mercy of legacy weak-links in your API/app stack. ACP helps enterprises cloud-enable and “containerize” these existing apps, making them horizontally scalable, highly available, infrastructure independent, and pluggable into your CI/CD solutions so that they can be incorporated into modern devops workflows. Having a single home for existing and new applications also helps drive broader internal adoption of the platform within the enterprise as different lines of business may evolve at different speeds. Simply hand ACP a .WAR file, a .NET application, a Windows Service, a Linux Daemon, a Dockerfile or a YAML K8s pod specification and it will produce a URL to a scalable, highly available cloud application or service with a completely consistent developer and operator experience.
Policy, Governance and Compliance Capabilities
One fear enterprise customers have with container platforms is that it might enable developers to run almost anything they want in any way that they want. While there are ongoing political debates on the merits of “opinionated” vs “non-opinionated” platforms, the truth is most enterprises live on a gradient somewhere in between, and it can vary even within the organization. There may be strict rules for highly regulated business units running apps in production, but there might be more freedom to experiment in dev/test environments. ACP enables the enterprise to set their own rules of the road with configurable bootstrap policies, application deployment policies, federated identity and access control, container registry enforcement and more.
Simplified Developer Workflows and Architectures
Distributed systems and applications are difficult and barriers to entry are high. While Kubernetes provides a solid and well-tested foundation, it can still be daunting to get relatively simple applications up and running. Deploying an application to a K8s cluster, which needs to be exposed to the clients outside of the cluster, and having that application talk to a database securely involves an understanding of containers, pods, images, secrets, services, ingress resources, load balancers, etc. These are powerful concepts and ACP uses all of them underneath the covers; making this simple and more approachable for the developer, though, is what ultimately drives broad, mainstream enterprise adoption.
Built on Fully Open Source Upstream Kubernetes
At Apprenda, we made a deliberate decision not to provide a proprietary “distro” of Kubernetes. The project is advancing very rapidly and customers want the freedom to grab the upstream OSS bits and simply run the Apprenda Cloud Platform on top. This reduces lock-in and its associated risks. Of course, as mentioned earlier, Apprenda still provides support, services and the Kismatic Enterprise Toolkit to help customers get going with OSS K8s.
Database as a Service
Most application platforms, at best, simply broker access to a database by producing a connection string to a DB. ACP can certainly do this as well, but in the event that your application is using SQL Server or Oracle as the DBMS layer for your application, ACP can also enable a true database-as-a-service. The developer simply provides a database creation/update script and ACP creates the database on an existing SQL/Oracle cluster managed by your DBAs, applies resource limits for CPU/Memory/Storage on the database and wires the database into the client application automatically. While it might be a fun demo to run SQL/Oracle in a container and deploy it as part of your application, at scale, this has major implications on licensing, support and management making it an impractical approach for most enterprises.
Industry Leading Support for Windows and Windows Applications
Apprenda has first-class support for Windows and .NET applications including traditional .NET apps, Windows Services, and modern .NET Core applications. Windows support also means supporting the tools that Windows developers know and love with Visual Studio and TFS extensions. Apprenda is, of course, also leading the charge to bring Kubernetes to Windows.
True Infrastructure Independence
Apprenda doesn’t build or sell infrastructure, infrastructure tooling, or operating systems. Instead, we focus on integrating with the wide variety of systems that our customers have selected based on their business needs. This means that you can run ACP on private cloud, public cloud, hybrid cloud (with policy-based distribution of application components) on bare metal or virtual machines on a range of supported operating systems.The cloud infrastructure market is highly competitive and our goal is to position our customers to take advantage of the constantly improving economics in this space by being able to run their applications wherever and however they want.
Of course, seeing is believing so check out the demo below to get a more detailed view of exactly how the Apprenda Cloud Platform provides these differentiated benefits.