Applications don’t have cloud “nationalities”, so why treat them like they need a passport to move between clouds? It’s time to get savvy about cloud usage with a tool that deploys with the best of all worlds: declarative, imperative, agnostic, and stretched.
Background: Declarative vs Imperative
Let me give you a little background about why I wanted to write this article. Last week, I attended the SVDevOps Meetup that had an interesting keynote by Adrian Otto, which focused on containers. He started the discussion by talking about the main paradigms in the container cluster space (declarative and imperative) which led me to start thinking about how these methods have already been used by CliQr for several years to create the industry leading tool to deploy applications and infrastructure from a single composite blueprint. For those not familiar with the terms above in the context of applications and infrastructure:
- Declarative: A model where a person defines the outcome and a system determines the best way to accomplish it.
- Imperative: An orchestrated model where each step in the process is defined, controlled, and maintained by a person.
Declarative AND Imperative for the cloud
So how do these paradigms apply to CliQr? Well, CliQr’s CloudCenter platform uses BOTH declarative and imperative methods together to deploy and build an application environment. Here’s how these models are uniquely implemented:
- Declarative: Application infrastructure and environment are captured in a cloud agnostic application profile along with the services like Apache, MySQL, and so forth. Infrastructure becomes a means-to-an-end when deploying full application stacks.
- Imperative: Application-specific artifacts like scripts, application files, and so forth, that must be executed on services in a certain order are orchestrated by configuring these details in the application profile’s properties area or by using Chef/Puppet/Salt scripts.
CloudCenter’s approach of pulling the best of both methods has proven to let customers focus their time on providing application-specific information rather than altering scripts to deploy infrastructure. In fact, one of our customers shared that before using CliQr, they deployed applications through managing 600-1200 lines of code per application. Every minor change, either in the application or infrastructure, required an effort that was equal to 20% of the effort put in to create the original infrastructure. At scale, this meant that the majority of their team’s time went to maintaining deployment scripts rather than offering new services to their business. By adding CliQr to their environment, they no longer had to maintain those scripts and could even, if they wanted, start using a new cloud overnight without having to rewrite any part of their code—saving them both time and resources!
CloudCenter Agnostic and Stretched Application profiles
Companies are getting savvier about cloud—how to best use it and maximize the benefits. CloudCenter, through its infrastructure declarative nature, is the only tool that enables companies to cash in on their years of honed cloud usage experience by being flexible and by deploying applications without compromise.
Stretched Application Profiles enable users to deploy different application tiers to a variety of execution venues (datacenter, private cloud, public cloud) from one cloud-agnostic profile.
Consequently, a cloud native or legacy application can be deployed with its services, Docker containers, and so forth across any combination of datacenter and cloud within traditional (Mode 1) or agile (Mode 2) IT teams.
For a traditional 3-tiered application like Magento that requires PCI compliance on its credit-card-holding database, stretched application profiles allow the database to be hosted within a company’s secure datacenter while the application and web tiers are hosted when needed on a public cloud.
Benefits of Stretched Applications
Being able to stretch applications across resources benefits companies by:
- Minimizing Cost: Previous to the 4.4 release, entire applications had to be deployed to the same execution venue, regardless of what was required for each tier. For example, if an application tier required specialized resources, like high IOPS, PCI or HIPAA compliance, the entire application would have to be deployed to those resources rather than just the tiers that actually needed it. With stretched application profiles, those more specialized, and therefore more costly, resources can be used to power only the tiers that require them, leaving less discerning tiers to deploy to more generic, commoditized, and cost effective resources.
- Increasing Security: How many times has a firewall been misconfigured for an application? Have firewall rules not been deleted because the total impact of deleting a rule is unknown. Stretched application profiles increase security by letting users consume Software Defined Networking (SDN) through Cisco ACI:
- Natively, without the need to manage the integration
- Without application profile changes
- Without requiring the user to know anything about SDN
- Using the same simple steps they normally use to deploy stretched applicationsThe combined solution of CliQr and Cisco ACI increases security with zero-touch application and network automation to ensure accurate firewall rule creation and maintenance not only during the application deployment, but also during scaling and termination. See it for yourself by checking out this webinar that demos applications being deployed to multiple sites and multiple clouds with ACI powering the SDN.
- Deploying with HA/DR: As displayed in the diagram below, a CliQr application profile can describe a highly available or disaster recovery architecture that is stretched across clouds. This makes uptime more attainable for business critical applications as well as makes it easy to determine the relationship of primary nodes to failover nodes in the context of the application as a whole.
How to Stretch an Application Deployment
Applications stretched across resources is only made possible by CliQr’s cloud-agnostic application profile’s declarative infrastructure traits that allow users to easily complete this miracle of technology and make it seem like a trivial task.
All a user has to do is deploy an application profile for a multi-tier application like they normally would, but when asked which cloud to deploy to,
- Select Hybrid. to activate cloud fields for each tier.
- Select the appropriate execution venue for each application tier.
- One-click deploy. That’s it!
CloudCenter does the rest. The user doesn’t have to know the nuances of each cloud API. Or, change any orchestration flow. Or, change any deployment script or automation artifact that is hard coded to a specific environment. This is the power of CloudCenter!
Being the first application deployment tool to have the ability to stretch deployments across any cloud from the same model is a giant leap forward in harnessing the power of the cloud while whittling the cost to pay for only what you need. It’s just another example of how CliQr is pushing boundaries and adding value.