What problem does Nirmata solve?
Cloud-native applications are complex to manage and operate. As enterprises adopt multiple cloud providers, for flexibility, reliability, and regulatory requirements, and as software becomes increasingly critical to our lives the challenge of managing mission-critical cloud applications becomes greatly exacerbated. Nirmata solves this problem by providing an highly scalable, always-on, cloud service that deploys, manages the lifecycle, constantly monitors, and automatically tunes your application. In a nutshell, Nirmata provides fully automated multi-cloud application operations & management for enterprise software development teams.
What does Nirmata mean?
Nirmata is an Indo-Aryan word, in languages like Hindi and Gujarati, that means Architect or Director.
How do I get started with Nirmata?
You can get started with Nirmata for free via the full-featured 15 day trial. All you need is access to a virtual or physical machine that can run Docker containers. To get started, sign up here. For more information on getting started, view help documents and the getting started video.
Is Nirmata a PaaS?
Nirmata offers application deployment and management services, like a Platform-as-a-Service (PaaS). However, Nirmata has a fundamentally different architecture than traditional platforms like Pivotal Cloud Foundry or Red Hat’s OpenShift.
The traditional platform approach is to require that you layout your application artifacts using a custom specification, which then get staged and executed within a proprietary container. To do this, a traditional PaaS has to know about each programming language and be told how to translate artifacts to its container. A traditional PaaS is opinionated by definition; it abstracts cloud provider resources and standardizes on which languages and backing services are available. This approach limits portability and choices and also requires complex integration and operations per cloud provider.
In contrast, Nirmata is built on open container standards set by the Linux Foundation’s Open Container Initiative (OCI). Since you control the application container image, you can choose any programming language, operating system, and backing service. In addition, Nirmata complements infrastructure services and does not hide or abstract them away. For example, if you are an AWS user you can manage your VPC, AMIs, Launch Configurations, and Security Groups using AWS best practices with no restrictions. This approach makes it really easy for your DevOps teams to select the best tools and languages for their components – a core value proposition of microservices style applications and scalable teams. In fact, Gartner predicts, “Through 2018, more than 70 percent of IT organizations planning a private PaaS will deploy a container service (rather than PaaS framework software).”
Traditional PaaS solutions are rapidly retrofitting their solutions to add open container support, but you still do not get a container-native experience! Nirmata is built ground-up for open containers, and hence is lightweight, non-intrusive, and easy to use.
How is Nirmata different from Kubernetes?
Kubernetes is a new container management solution built by the Google Cloud team, and is loosely based on Borg and Omega which are Google’s internal container management tools used for their production applications.
Kubernetes is software that builds on etcd, a distributed key-value storage system, and Docker. You install, operate, monitor, and manage Kubernetes clusters for each environment, and on each cloud provider you wish to use. Each Kubernetes cluster performs bin-packing on a pool of static resources. Google’s cloud offering provide an integrated and nicer experience for Kubernetes. For other cloud providers, some teams have built and integrated your own platform tools on Kubernetes.
Kubernetes has several concepts to learn, such as pods which require grouping containers that share IP addresses and storage (much like a Virtual Machine does), label selectors for grouping and classification, replication controllers for scaling, daemon sets, replica sets, etc. etc. While these concepts are interesting, enterprises DevOps teams typically need more flexibility which may not align with the Kubernetes way of doing things.
Nirmata is designed ground-up for enterprise DevOps teams. Nirmata is built to be integrated with existing CI/CD tools, and does not impose several new concepts. Nirmata’s multi-cloud scheduler is designed for dynamic resources and helps optimize costs on public clouds. Nirmata has integrated microservices infrastructure, monitoring, and logging eliminating the need to integrate and manage several different tools.
Most importantly, Nirmata is completely delivered as a cloud service so there is nothing for you to install, scale, and operate. Nirmata does all the heavy-lifting so you can focus on what you do best – delivering great applications!
How is Nirmata different from Mesos?
Apache Mesos is a framework to build schedulers and executors. Mesos internally uses Apache Zookeeper as a distributed key-value store. Mesos was originally designed for big data batch jobs, but has since been enhanced to support application containers. For long-running applications, Mesos would be used with a framework like Marathon and the new Mesos Docker executor.
Like Kubernetes, Mesos’ scheduling and resource management is highly optimized for large static data center clusters and is fairly complex to install and operate across multiple environments and cloud providers.
Since Mesos is a generic framework, it is possible to run Nirmata on Mesos, using Mesos as a low-level scheduler. This makes sense if there are existing investments in Mesos for big data jobs, and we are in discussions with customers to support Mesos as a cloud provider.
Which public cloud providers does Nirmata support?
Nirmata can be used with any physical or virtual host, using the ‘Other’ cloud provider. However, certain advanced features in Nirmata leverage cloud provider APIs.
Nirmata currently supports the following public cloud providers:
- Amazon Web Services
- Digital Ocean
- VMWare vCloud Air
- Cisco Intercloud Services
We are constantly adding new cloud providers, so If you are interested in seeing support for other public clouds, please reach out to us at firstname.lastname@example.org so we can prioritize your request.
Does Nirmata support private cloud providers?
Yes, Nirmata has deep integrations for:
- VMWare vSphere
If you are interested in seeing support for other private clouds, please reach out to us at email@example.com so we can prioritize your request.
Does Nirmata support deploying containers on bare metal?
Yes, Nirmata supports deploying containers on bare metal. The only requirement is to install the secure Nirmata Host Agent on the bare metal host that you would like to deploy containers on.
For more details see:http://docs.nirmata.io/en/latest/CloudProviders.html#bare-metal-servers
How are your customers using Nirmata?
Our customers are using Nirmata in several innovative ways. Here are some examples:
- Running application containers across a shared pool of VMs
- Gaining agility in dev-test, by deploying and operating existing traditionally architected application in containers.
- Speeding up the software development process by providing self-service automated operations to their development teams.
- Saving costs by running multiple applications on fewer cloud instances, and automating the scale-up and scale-down of cloud instances.
- Accelerating the transition from monolithic application to microservices architecture.
- Creating an automated DevOps pipeline for continuous delivery of software.