In the previous blog, we described how application pipelines—a sequence of software applications that are chained together to help an organization achieve a high-level business outcome—give enterprises and telcos great power and flexibility to address business challenges. Unfortunately, application pipelines bring challenges of their own. All of the applications that make up application pipelines must be managed. As a result, what organizations need is an automated provisioning and management framework that orchestrates applications throughout their lifecycle.
The Robin application automation platform was designed to solve this problem using application bundles.
What are application bundles?
An application bundle is a virtual image comprising an application’s code and all the knowledge needed to deploy the application and run it with optimal performance and availability. A simple metaphor is to think of an application bundle as the nose cone of a spaceship: it contains the payload and all the crucial data and guidance systems needed for the vehicle to complete its mission. An application bundle harnesses the application-topology and infrastructure-topology information , that is, an understanding of both application requirements and infrastructure capabilities as well as how best to optimize the intersection of the two to meet business needs.
For example, the application bundle captures information covering:
- all of the services that it takes to deploy this distributed application
- required memory and storage
- data affinity and anti-affinity models
- security policies
- upgrading processes to avoid failures
- requirements for the “ongoing care and feeding” of the application
- requirements to ensure the output of one application in a pipeline properly feeds into the next application (for example, ingesting data into a database and then processing or visualizing that data)
Why are application bundles so valuable?
Before Robin introduced the innovative approach of using application bundles, your DevOps team or other IT folks inside the organization had to do some heavy lifting to install applications and set up application pipelines from the ground up. They essentially had to become experts on these applications as well as the platform (e.g. Kubernetes), create a lot of manual scripts, and invest a great deal of effort in mastering each application’s unique requirements—an extremely time-consuming and error-prone process.
But with Robin’s application bundles, all the core information and requisite logic needed to deploy and manage the application is already encapsulated within the application bundle, making it radically simpler for your organization to optimally apply the technology to solving problems. The Robin platform provides an “app store”-like experience—you view the available bundles, select the one you want, and with one click rapidly deploy entire data-centric application pipelines and the requisite lifecycle management processes. Plus, there is room for customization: your application developer, database administrator or data scientist can make simple adjustments to parameters, tailoring the application bundle to the unique needs of their particular business requirements, and save templates for re-using their customized set-ups to deploy similar instances at a later time.
An Application Bundle Can Contain Multiple Applications
Now that you have the basic idea, let’s expand the concept just a bit: An application bundle can actually contain multiple applications and all the requisite information needed for those applications to “play nice” with each other and with other bundles that make up a pipeline. The point is, an application bundle—whether it contains one application or several—is a unit of management that enables users to easily do backups, clones, restores, and other lifecycle management tasks. Users define the application once, then deploy it on-premises or in public clouds like AWS, Azure, and Google Cloud.
Robin.io offers pre-built application bundles that can be tailored to an individual organization’s needs. The Robin platform ships with one-click deployment bundles for enterprise applications including big data (HortonWorks, Cloudera, Spark, Elastic Search, ELK, Splunk), NoSQL (MongoDB, Cassandra, CouchDB), databases (Oracle, Oracle RAC, SAP HANA, Microsoft SQLServer, IBM DB2, Postgres, MySQL, MariaDB), and AI/ML (TensorFlow, Caffe, Theano, R, Jypiter) Other supported bundles include those for Caffe, Splunk, and WordPress.
Developers and platform engineers can deploy and manage complex applications independent of storage, networking, Kubernetes, and other resources. Plus, the Robin platform manages these resources in the background, so organizations can reduce typical time-to-deployment down to a few minutes. Robin.io also builds custom app bundles. (More information in our docs.)
Application Bundles in the Robin Automated Application Platform
Robin’s use of application bundles as the core building blocks of application pipelines is what distinguishes its approach to application lifecycle management. Here are just a few examples of the special benefits the platform offers:
- Use clones to test updates and upgrades. The Robin platform provides a robust set of lifecycle management tools that solves upgrades/updates with much less risk. For example, you can clone not only an application bundle but also an entire pipeline. The clone is a lightweight, shadow instance that enables you to run an upgrade and test it without making changes to the data in the production instance. Even if there is a problem with the cloned pipeline, you haven’t put your production instance or core data at risk.
- Run anywhere: Using Robin’s application bundles, you can define your application once and run it anywhere—across on-premises datacenters and public cloud—without modification.
- Migrate or expand to additional datacenters. You may want to deploy a pipeline in one datacenter and then migrate or expand to other datacenters. Robin’s use of application bundles makes this easy to do across the entire pipeline. With the Robin platform, you can move from on-premises in New York datacenter to AWS or from a datacenter in New York to a datacenter in South Korea in a couple of clicks. This is because the Robin platform doesn’t just manage data; it manages the state of applications. As a result, application migrations that used to take weeks can now be done in minutes.
- Relocate an application. Even moving just one application is not easy to do without the Robin platform. If you move the application, it has to be reconfigured with all the new IP addresses it needs to access data—a complex task. With the Robin platform, you can move the application and preserve the IP addresses, because Robin’s application bundles feature virtual IP addresses that don’t change.
Another challenge of relocating an application is moving the vast amounts of data that come with it. Typically, when an application is moved, there is substantial down time while its data is copied to the new location. Until all the data is moved, you can’t bring up the application. This can take hours or days. In contrast, with the Robin platform, you can bring up the application quickly as you gradually “rehydrate” the data by transferring only the “hot data” that is actually being used.
- Quickly build new pipelines. The Robin platform allows you to provide an “as-a-service” delivery model for your applications, offering developers and data scientists a way to minimize cost, maximize security, receive instant provisioning, and enjoy simplified management. Moreover, when your organization needs to address new challenges, you can rapidly scale your pipelines and minimize time-to-market with new solutions.
Simply put, the Robin application automation platform empowers your developers, DBAs, and data scientists to deploy any application pipeline from a self-service app store in minutes, without relying on infrastructure teams or IT tickets that often require weeks. It is the most powerful and efficient way to apply the world’s best applications to your toughest challenges and deliver your most innovative solutions. Read More.