Managing Microservices on Cisco Metapod with Nirmata
Over the last few years, OpenStack has become a popular choice for private clouds. However, OpenStack is complex to deploy and manage for production applications. Large enterprises may have the time and resources to deploy and operate OpenStack on their own, but small and mid-sized enterprise are increasingly adopting OpenStack as a managed service. Cisco Metapod is an OpenStack managed service available to enterprises that want production-ready, on-premises solution that is deployed and remotely operated 24x7x365.
At Nirmata, our goal is to simplify the operations and management of cloud native applications on any cloud and even across clouds. As developers adopt microservices style architectures and application containers, the operational complexity of their application increases exponentially.
Nirmata addresses this pain by providing the automation necessary to operate complex, distributed applications so that developers can continue to focus on delivering their application and not have to manage the underlying infrastructure. Just like Cisco Metapod, Nirmata is delivered as an easy to consume service eliminating any “undifferentiated heavy lifting” on part of the DevOps teams.
In this post I will describe how Nirmata easily integrates with Cisco MetaPod, providing a best-in-class solution for enterprises looking at managed private cloud solutions.
Container Services on Cisco Metapod
According to a recent Gartner article, through 2018, more than 70 percent of IT organizations planning a private PaaS will deploy a container service (rather than PaaS framework software). There are several benefits in adopting this approach.
An advanced container service like Nirmata provides developers with self-service access to container-based infrastructure while allowing the IT operation teams to manage and govern the infrastructure. Nirmata Container Services not only orchestrate, schedule, auto-tune and ensures the reliability of application containers, but also integrate with underlying infrastructure service such as Cisco Metapod to provide end-to-end automation. In addition, Nirmata provides other integrated capabilities necessary for full application lifecycle management, such as monitoring, service discovery, load balancing and securing container communications.
Nirmata integration with Cisco Metapod
In this post, I will discuss how Nirmata can be used with Cisco Metapod to deploy and operate containerized applications.
- Create a Cloud Provider – Launch the Cloud Provider wizard and select Cisco Metapod as the provider type. On the next page, specify the endpoint URL for Identity service. This can be found in Cisco Metapod console under Access and Security > API Access. Also provide the project name and credentials. Once the access information is validated, the wizard can be finished.
- Create a Host Group – A Host Group can be added using the Host Group wizard for Cisco Metapod. Provide the host group name and specify the number of hosts to create. On the next page, select the image, flavor and other related information for your host group. If the selected image does not already include Docker and Nirmata agent, you can install it by adding the script to the user data on the next page. Once the wizard is completed, Nirmata will provision the virtual machines on Metapod.
- Create or import an Application Blueprint – Now that the hosts have been created, you need to create or import an application blueprint.
- Deploy the application – Once the application is created, you can deploy it to an environment. Within a few minutes the application should be provisioned on your Cisco Metapod virtual machines.
Here is a 7 minute video showing integration of Nirmata with Cisco Metapod
Deploying applications is extremely easy using Nirmata. With the integration of Nirmata with Cisco Metapod, DevOps teams get self-service access not only for application deployment but also for infrastructure resource provisioning. At the same time, infrastructure administrators can ensure that various DevOps teams get access to their resources with appropriate level of security and isolation. This separation of concerns ensures that various teams can operate efficiently and respond quickly to ever changing business needs.