Tag: openstack

  • Mirantis CEO Charts Hybrid Cloud Path Forward

    Mirantis CEO Charts Hybrid Cloud Path Forward

    Adrian Ionel is back at the helm of Mirantis as CEO at a time when the shift to hybrid cloud computing is tantalizingly close to being an everyday IT reality.

    Adrian Ionel, Mirantis CEO

    Ionel is one of the original co-founders of Mirantis, which provides a curated instance of OpenStack and Kubernetes cluster software alongside a suite of services to manage them on behalf of a customer. Ionel replaces Alex Freeland, who will remain on the board of directors of Mirantis.

    The decision to shift leaders is being driven by the need for Mirantis to grow more rapidly at a time when IT organizations soon will be moving toward unifying the management of multiple clouds, said Ionel.

    While Mirantis owes its existence to OpenStack, the company has been rapidly developing Kubernetes expertise that is at the heart of a recently unfurled managed hybrid cloud computing service. Ionel said the rise of Kubernetes provides a unique opportunity to manage private and public cloud services based on Kubernetes via a central control plane.

    The challenge Mirantis will face in achieving that goal is the reluctance IT organizations historically have shown when it comes relinquishing control over their IT environments to a third party. In addition, an already fierce number of rival managed service providers (MSPs) also are moving to embrace Kubernetes.

    Ionel said most IT organizations underestimate the complexity of managing multiple clouds. As more of them come to that realization, the number of organizations looking to rely more on external expertise to deploy modern microservices-based applications on Kubernetes should increase substantially. To facilitate that transition, Mirantis has crafted a hybrid Kubernetes service that can be invoked programmatically by developers. A crucial factor driving that decision will be increased awareness of the perils of being locked into a specific public cloud service provider. In fact, Ionel noted that many IT organizations today underestimate how easy it is to become entangled by proprietary application programming interfaces (APIs) on a public cloud service such as Amazon Web Services (AWS).

    For the immediate future Ionel said Mirantis expects to see most instances of Kubernetes to be deployed on top of virtual infrastructure. Use of Kubernetes on bare-metal systems is confined largely to application development, he said. But as Kubernetes continues to mature, Ionel noted it’s only a matter of time before IT organizations will be deploying more instances of Kubernetes running on both virtual machines and bare-metal servers. That, of course, will further add to the complexity that needs to be navigated.

    Ionel said rivals underestimate just how healthy the current Mirantis business is as use of OpenStack continues to increase. AT&T, for example, has now deployed more than 10,000 nodes employing instances of OpenStack provided by Mirantis, he said.

    New CEOs don’t usually magically transform a company by their mere presence. But in the case of Mirantis, the opportunity for Ionel to turn potential in real growth is higher, for no other reason than he doesn’t have to first learn how the company operates.

    — Mike Vizard

  • The Cost of Rework when Developing for OpenStack Clouds

    The Cost of Rework when Developing for OpenStack Clouds

    According to the 2016 State of DevOps Report by Puppet and DORA, the mean time to recover when a service incident occurs ranges from less than one hour for high IT performers to less than one day for medium and low IT performers. Put that in a real-world scenario: your OpenStack application and the data associated with it that spans multiple virtual machines failed (for one reason or another). Now you need to rebuild something you’ve already spent time developing. Are you—and your boss—OK with that rework taking hours to days? Or do you think you’d be wishing you fell in the range of high IT performers, and you could quickly recreate what you lost in less than one hour?

    Now, take it a step further. What could you be doing with that time you now need to dedicate to rebuilding something? What will that rework take you away from? The next phase of your development? Lunch? Happy hour? Sleep? What price would you put on the personal cost to you?

    The 2016 State of DevOps Report authors wanted to calculate the cost of excess rework per year for organizations. They created a formula to calculate the number:

    Cost of excess rework = Technical staff size x average salary x benefits multiplier x percentage of technical staff time spent on excess rework

    Here’s what they found:

    • High performers have 11 percent excess rework
    • Medium performers have 22 percent excess rework
    • Low performers have 17 percent excess rework

    At first glance, those numbers seem odd. Why would the low performers have less excess rework than the medium performers? The report clarified that by explaining “low performers spend less time on rework … because they report spending a greater proportion of time on new work. We believe this greater amount of new work could be occurring at the expense of rework, thus racking up technical debt.”

    It’s clear all organizations have some amount of rework as a result of a failure of some kind. The question is, What is the cost of that rework? Let’s take a look at the results of the study.

    Cost of rework - 2016 State of DevOps Report by Puppet and DORA; OpenStack DevOps

    For the most part, the simple answer is that rework will likely cost your organization millions (unless it’s costing you billions). It’s just a matter of how many millions.

    We often get asked why it’s necessary for OpenStack environments to have a data protection strategy and a backup solution. The conventional (but wrong) thinking is that virtualization can take the place of data recovery. Frankly, the answer to why is contained within those numbers above. If you don’t have a backup and recovery solution for your OpenStack development efforts, are you willing to spend money and resources on reworking the lost data? And if you are, how many millions are you willing to spend on it? Let me remind you that you are trying to recover to a point in -time … persistent data included. If you say, “If you built your cloud appropriately, this shouldn’t be an issue ….” Madame or Sir, if your virtualized cloud has that kind of resiliency, then I would like to work for you.

  • The Maturing OpenStack Cloud: Just Do it

    The Maturing OpenStack Cloud: Just Do it

    We’ve been thinking about the maturing cloud a lot lately. In fact, we’re participating in a panel discussion on the topic at the upcoming OpenStack East in August in New York. As we’ve spoken with OpenStack users and vendors throughout the world we’re hearing a common theme about the maturation of OpenStack clouds—the results seldom look like what was originally planned. Disruptive technologies, changes in personnel, the evolution of business strategies … these are all unplanned events that can change what the mature cloud eventually will look like. The challenge for today’s DevOps teams is to how to maximize the opportunities for success, despite the likelihood of unanticipated changes. After all, as many DevOps folks know, between the design of an application or system and the completion of that project, they often are faced with a change in the initial business requirements of the project.

    Lao Tzu famously said, “The journey of a thousand miles begins with one step.” While that is true, we’d add that the journey will be much smoother if that one beginning step relies on careful consideration of the best shoes for the journey: shoes that are comfortable, durable and multi-purpose. Shoes that see you through any type of weather. The right shoes won’t necessarily get you to the right destination, but they certainly will make your journey easier and better ensure you complete your journey—even if you end up somewhere other than where you thought you would.

    So what do shoes have to do with the OpenStack cloud? We liken choosing the right shoes to making the right architectural decisions at the beginning of your OpenStack journey. One of the most important architectural decisions DevOps can make early in the development of the OpenStack cloud is to include a comprehensive data protection strategy, accompanied by the appropriate tools to facilitate that. There are three primary reasons to include data protection from the start:

    • It’s a “given” for VMWare and other enterprise applications for a reason. One might argue there’s no need for data protection, since everything lives in the cloud. But we all know files, applications and systems can fail for no apparent reason. It’s much easier to recover from a failure if you have a data protection strategy in place, rather than having to suddenly (and often quickly) re-create the lost resources.
    • It will make it easier to manage OpenStack and cloud resources. As your OpenStack cloud grows, you may need to move workloads to different availability zones or data centers. While you may have a general idea of your resources needs at the beginning of the DevOps process, chances are things will change along the way.
    • It makes for a smoother upgrade process. Chances are that you are not rolling out your OpenStack cloud with the exact OpenStack version you started with. For example, one of our customers started on Kilo and now is migrating to Mitaka for its rollout. Their migration is much easier because the customer knows everything is backed up, available to use and restored in its new, upgraded environment.

    Sure, the OpenStack and the cloud paradigm is enabling DevOps and business users to upend many “traditional” approaches to IT. But that doesn’t mean you should toss out every strategy that’s considered “traditional.” After all, if you were buying your shoes for your thousand-mile journey, would you only buy one pair? Or make sure you have a spare just in case?

  • It’s Time to Slay the Universal Installer Unicorn

    It’s Time to Slay the Universal Installer Unicorn

    While many people want a universal “easy button installer,” they also want it to work on their unique snowflake of infrastructures, tools, networks and operating systems. I call them snowflakes because their small differences expand combinatorially. That divergence turns the idea of a prescriptive reference architecture into a destructive myth that limits community and ecosystem growth.

    Because there is so much needful variation and change, it is better to give up on open source projects trying to own an installer and instead focus on making their required components more resilient and portable.

    Universal Installer Fallacy

    So what does an easy button install look like? Let me tell you about one that I built.

    Crowbar Mascot

    It was 2011, the dawn of the OpenStack Era, and our team at Dell was already battle-weary from trying to make repeatable installs around Azure, Eucalyptus, Joyent and Hadoop. The simple reality was there was no success pattern we could follow deploying any one of those platforms—and certainly none cross-platform. Even though all used basically the same compute and network infrastructure, each had custom deployment code and configuration approaches. We jumped on becoming an OpenStack founding partner as a way to try to break the failure pattern.

    What was failing? Each platform had deeply embedded environmental assumptions that were not repeatable or portable.

    For example, one of those platforms required thirty (30!) full racks of gear and tethering back to the master deployer because its management and topology was hardwired into its infrastructure. Others were not much better: Installation often was “ssh apt-get install platform,” then “scp pre-built configuration files.” Even worse, those steps were always proceeded with 30 pages of prescriptive manual system prep steps that were updated daily.

    Incorrectly, we believed that the solution was to create a better installer for OpenStack.

    The Crowbar project, which is still used by SUSE, created a fully integrated install sequence from PXE boot and discovery to testing the final OpenStack installation. We could build a cloud on a complete rack of gear from boxes in minutes. The open source project even used open tools such as Chef and hardware-agnostic options to increase its community appeal. As the first installer (it predated even DevStack), the project was widely used in early OpenStack evaluations.

    Despite that success, as a v1 technology, Crowbar’s major shortcoming was that it tightly coupled components and services together. That made the installation and management process very rigid and non-conforming to disparate operational models and environments.

    Our install scars showed us the real battle lines that prevented portability. Even minor infrastructure variations resulted in broken or site-specific configurations. A major part of the challenge is that variation is not neatly contained; instead, it is spread throughout the environment. We needed to create automation that could both cope with heterogeneity across the community and be change-tolerant after installation to enable upgrades.

    We came to accept that there is no single installer. Instead, scalable installers must assume that they will operate with other parts of the system in a coordinated way, because the diversity of options makes it impossible for them to control everything. In fact, we’ve seen that smaller, composable install steps are much easier to automate consistently. Even more importantly, smaller steps make it possible to manage systemwide upgrades in a controllable way.

    Asking for an “easy button” installer is the wrong question. Instead, let’s ask, “Can we create sharable components that can be automated in multiple ways?”

    There’s no universal installation script to create cloud rainbows; however, there are strategies we can use to make individual projects installable over a wide range of options. These approaches include composability, consistent configuration and use of standard tools and patterns for operation. These items help projects focus on their own concerns and allow operators to apply best practice techniques.

    Basically, the first step is for project developers to limit their scope and delegate operational concerns to operators.

    Even in a platform-as-a-service (PaaS) project that attempts to hide operational complexity from developers, such as Kubernetes, there remains someone who must operate that platform using foundational infrastructure and tooling. We make that job more complex when we get distracted trying to apply the new concepts to the old infrastructure. The addressing of an impedance mismatch pulls effort away from the central abstraction.

    Since we do need consistent installs from the community, projects do have a responsibility to help those efforts.

    How can they help? By ensuring that their component services are well-bounded with clear input configurations, operational requirements, upgrade patterns and output expectations.

    But really, that’s a future post. Please let me know what you think and where we should go from here.

  • Why Legacy Backup Solutions Aren’t Ideal for OpenStack

    Why Legacy Backup Solutions Aren’t Ideal for OpenStack

    Our team has recently returned from the OpenStack Summit in Austin. While there were many hot topics, we discovered people fell within two camps when it comes to backup and recovery: those who understand why a native OpenStack solution is required, and those who question why legacy backup and recovery won’t fit the bill.

    I sat down with Trilio Data’s co-founder, Murali Balcha, to detail why legacy backup and recovery solutions are not suited to protect OpenStack applications without considerable retooling. Even then, these solutions do not naturally fit into OpenStack operating model and will increase your total cost of ownership (TCO) considerably.

    First, let’s look at the OpenStack operating model. It includes:

    Horizontal Scale

    OpenStack does not come with the maximum capacity that it can grow into. The architecture is inherently scalable without any theoretical boundaries; it can be deployed in a single box or it can scale to thousands of nodes.

    Contrast this with existing backup solutions that always have some predefined capacity, whether it is number of applications it can back up or the amount of backup storage capacity that it can manage. So essentially you have a forever scalable architecture, tied to a backup solution with a limit on capacity.

    Multi-Tenancy

    Multi-tenancy is an integral part of OpenStack cloud. The tenancy is different than supporting multiple active directory users in a backup application. Active directory users are typically OS users, whereas cloud tenancy usually represents individual organizational units with in a bigger organization. So there is a mismatch on how existing backup solutions are created versus how OpenStack multi-tenancy works.

    One way to make existing solutions work with OpenStack is to deploy a backup application for each tenant and make that tenant responsible for managing its own instance of the backup application. This means each tenant has to manage the application and any storage that is provisioned to save backup images.

    Self-Service Portal

    Some backup applications provide an aspect of a self-service portal for individual users to manage their own backup policies. Backup applications use host agents on either virtual machines, or on servers to back up files and provide a portal to restore a backup copy in place through its agent infrastructure. This kind of self-service portal is, again, in contrast to what an OpenStack self-service portal is—it provides the ability to provision virtual resources.

    File-Level Backups

    Existing backup solutions are only good at doing file-level backups. Yes, they have evolved to do virtual machine (VM) backups for VMware, but vCenter is not a cloud platform, and the mechanism to do a VM backup on VMware platforms is totally different from doing VM backups in OpenStack. Anyone trying to retrofit existing backup solutions for OpenStack will only have their file-level backup feature to rely on.

    File-level backups only back up bits and pieces of your application. File-level backups are the legacy of backing up scale-up systems, where huge databases are confined to a beefed-up single host. But cloud applications are lot more distributed. Instead of provisioning one beefed-up server to host a large database, cloud applications are deployed as multiple VMs, with each VM performing discrete functionality. The data in these applications are also are distributed to multiple VMs. File-level backups will not ensure consistent backups. They are notoriously insufficient to restore an entire application environment and may seriously affect your recovery time.

    Infrastructure-Aware Backup Solutions

    File-level backups are not well-suited to address cloud application needs. Instead, a backup application that is aware of cloud infrastructure provides a perfect solution for your cloud applications. Since cloud applications are distributed, your backup should include not only the data but also the application context to successfully recover the application.

    An application context includes the VMs, flavors of the VMs, network settings and all the volumes attached to those VMs. Let’s not forget that all of the aforementioned will be tweaked and will evolve over time to suit that moment in time. So only backup solutions that can provide a single snapshot that includes all the VMs, storage volumes mapped to each VM, network settings and the meta data associated with each VM and its resources at that point in time are suited for OpenStack backup needs. Since such backup solutions capture the entire application environment, recovery with this backup solution is very deterministic and reliable, irrespective of the size and complexity of application.

    Solutions that are aware of the infrastructure also can back up applications into one availability zone/region and restore into a different zone/region. Beyond speed of recovery, this now empowers data protection (or backup) with resource management capabilities.

    DevOps

    DevOps is an integral part of OpenStack cloud deployment and management. Your choice of backup solution should play with your cloud DevOps scripts. For example, if you standardize on Ansible playbooks to manage your cloud deployments, the backup application should play into your DevOps strategy so you can reduce the TCO of your backup application.

    Other Use Cases

    In traditional IT, the data management functions such as backup and recovery, disaster recovery and application migration require different applications. However, your backup solution for OpenStack should be more than just a backup and restore of the files. A backup solution that is well-designed for OpenStack is a re-orchestration from a point-in-time and should be able to provide additional uses cases such as:

    1. File(s) restore
    2. VM/volume restore
    3. Intra/inter-cloud application migration
    4. Disaster recovery
    5. Instant restore of point in time for application validity checks, network scanner and other forensics
    6. Archival
    7. Environmental restore during cloud upgrades

    OpenStack offers an operating model that warrants a completely new thinking around backup solutions. Retrofitting existing solutions not only is inadequate in protecting your applications, it also increases your TCO. So do yourself a favor and look for solutions that are purpose-built for OpenStack. That will provide the best data protection possible, decrease your TCO and simplify recovery.

  • 5 Key Aspects of High Fidelity DevOps

    5 Key Aspects of High Fidelity DevOps

    As much as we talk about how we should have shared goals spanning Dev and Ops, it’s not nearly as easy as it sounds. To fuel a DevOps culture, we have to build robust tooling, also. That means investing up front in five key areas: abstraction, composability, automation, orchestration, and idempotency. Together, these concepts allow sharing work at every level of the pipeline. Unfortunately, it’s tempting to optimize work at one level and miss the true system bottlenecks.

    Creating production-like fidelity for developers is essential: We need it for scale, security and upgrades. It’s not just about sharing effort; it’s about empathy and collaboration.

    But even with growing acceptance of DevOps as a cultural movement, I believe deployment disparities are a big unsolved problem. When developers have vastly different working environments from operators, it creates a “fidelity gap” that makes it difficult for the teams to collaborate.

    Before we talk about the costs and solutions, let me first share a story from back when I was a bright-eyed OpenStack enthusiast:

    I was at the fourth OpenStack Summit in Boston. My team at Dell had created open deployment automation, Crowbar, that could turn raw servers and install a fully working OpenStack cluster in about 30 minutes. I don’t want to oversell it; there were plenty of rough edges and preconditions. However, the automation worked and OpenStack came up like a kudzu seedling. In fact, we’d actually brought a half-rack of servers to the summit for live production demos.

    On my way back up to the demo rack, I was riding an elevator with one of the founding developers of the project. He was positively glowing over a new project that he’d created called “Devstack” and wanted to show off the cool logo they’d designed. He gushed, “It’s awesome! It runs all of OpenStack in a single python environment on my laptop! You don’t even need Vagrant anymore—it’s a super fast and easy for developers to get OpenStack running because all the configuration is in Python.” I watched as he typed a command, text scrolled and welcomed me to the OpenStack API. “See, now I’m running OpenStack!”

    At the time, it seemed like a harmless toy, since a single-node cloud deployment is useless to users, testers and operators. I pointed out that we’d gotten our multinode automation working in virtual machines (VMs) now so it would be easy to use even without dedicated hardware. He asked what we’d written it in. “Mainly Chef with some Rails UI,” I responded, thinking we’d made some solid 2011 DevOps choices. He was less enthusiastic, because we were not using the developer-preferred Python. Even so, I encouraged him to come by the rack for a demo, but without any anticipation.

    We left the elevator on a friendly wave of OpenStack synergy. He sprinted into the developer lounge and I trudged back to the user and vendor showcase. Even without words to describe it, I saw that the project had started diverging between developers and operators. Developer collaboration drove a need for something fast to set up that ran on a single laptop. More importantly, Devstack stripped away all that messy multinode networking and DevOps tooling that made it hard to configure and run OpenStack. In what turned out to be a one-way journey, there was now a universal developer environment.

    Unfortunately, that developer environment configuration did not translate into production.

    In fact, OpenStack deployments are notoriously challenging and there is an overabundance of divergent approaches. Even with so many efforts, few have managed basic operational milestones such as upgrades and high-availability configurations. I believe a wide fidelity gap is a key, if sad, part of this story.

    We don’t have to live with fidelity gaps!

    In fact, DevOps exists to close those gaps by bringing developers and operators to a shared space. You are already well-versed in the need to treat development as a pipeline with automation to keep it repeatable.

    If we know the challenge, why do we allow these gaps? It’s because fidelity can have too high a cost in terms of complexity, system overhead and time. These costs multiply the faster we try to iterate. That creates a conflict between the organizational benefits of agility and fidelity; sadly, few teams have been willing to burden developers with fidelity or operators with change frequency.

    How Can We Make Fidelity Cost-Effective in Initial and Ongoing Costs?

    There are five components to consider: abstraction, composability, automation, orchestration and idempotency/repeatability.

    Platform abstraction

    Platform abstraction hides the differences between environments and tools that make developer and production environments different. For true fidelity, we use “platform” in a very broad way. A cloud API or server is a platform, but so is an operating system or container system. In practice, there are many possible and acceptable abstraction layers.

    Teams need to invest in ways that allow the same automation to work on multiple platforms in the same way. That requires modifying the automation to be resilient in different environments and accept configurations instead of making assumptions. These changes are good hygiene, anyway, and make your automation more robust and portable.

    The simplest way to add abstraction is externalize environmental configuration. Since it’s difficult for operational systems to detect the broader system configuration, we need to inject that information into your deployments. Unfortunately, that leads to the “massive pre-deploy inventory file” antipattern and our next component.

    Composability

    Composability goes beyond making automation modular. It means that we can flow information, à la functional programming, through the discrete parts of the install.

    In a good composable design, each unit has defined inputs, outputs, preconditions and behaviors. That allows us to chain them together to accomplish work. Our systems should be able to connect outputs from earlier modules to inputs from later ones. This eliminates the “pre-configuration file of doom” because we can build up system knowledge as the work is done. Since the functions are well-known, we can determine if we’ve completed all the needed setup.

    Substitution is even more important than having a chained configuration flow. Since modules are isolated actions and known parameters, we can create alternate modules based on user- or infrastructure-driven requirements. For example, choosing CentOS vs. Ubuntu changes package management; however, downstream applications only care that their packages are installed. We need to make it acceptable to detect and adjust modules based on situational awareness without breaking up our downstream components.

    This type of change tolerance is essential to fidelity.

    Automation

    You may assume this is obvious; however, we all have a tendency to overlook manual steps or setup in our daily work. Common statements such as, “It takes a day to build my dev environment,” or, “We always run this pre-config script the systems are up,” indicate that we are not as automated as we want to admit.

    Fidelity gaps open when teams have different processes.

    We don’t expect developers to use hundreds of physical servers; however, we can expect them to isolate components in ways that are similar to operations. That adds overhead to their work that requires automation. We don’t expect operators to reset and redeploy systems 10 times a day; however, we can expect them to use repeatable configurations that do not require manual intervention.

    Remember: It does not have to be the same automation in all cases! Composability allows us to have equivalent but different paths to the same state.

    Sequence/Orchestration

    There is a downside to composability. If you’ve replaced your fragile monolithic automation with robust composable modules, then you’re going to have to add some complexity to chain them together. It an unavoidable tradeoff because the composite system needs glue to hold together. That glue is orchestration.

    Truthfully, adding orchestration is not a downside. It is a necessity for scale. Any multisystem configuration process requires orchestration to be sustained. The nature of scale applications is that we have to coordinate activities horizontally across the system during deployment, scaling and upgrade. That allows us to create trust relationships between nodes, set up networks before trying to use them and coordinate servers and clients while we upgrade APIs. Wait loops and iterative convergence are difficult to troubleshoot and more difficult to predict.

    There is a concrete benefit when you combine composition and orchestration: Small work units create a system that is very transparent and parallelization in operation. Those are key values in scale ops.

    Idempotency / Repeatability

    The last component is one of the most elusive: idempotency. The objective is to allow multiple runs of modules in our automation system to leave the system in a consistent state. That allows us to repeat execution of a component without harming or undoing work that we’ve already done.

    The concept is not simply skipping work we think we completed! If we rerun an action, then the action should exit in the requested state every time. If the state is already good, then do nothing. If the state is not configured, then create it. If the state is not good, then fix it. Basically, we want to be confident that we can achieve our end goal every time but never make unneeded changes.

    This is not a simple task! The nature of configuration is to change systems, and we usually assume that we are going from unconfigured or misconfigured to correctly configured. For idempotent scripts, we have to guard against going from correctly configured to broken.

    This may seem like a lot of work for developers who usually start from clean systems, but it’s life-saving for operators when a timing error causes a unit to fail.

    Hey, You’re Adding a Lot of Work to my Deployments!

    Following these five principles does add some overhead; however, all of the changes are good hygiene anyway. They make your automation more robust and portable. More importantly, they reduce friction between your development, test and ops processes.

    Deployment fidelity is a real benefit that helps drive success. Hopefully, these five principles have made it a more concrete and obtainable goal.

  • One Month After Announcing Intentions to Bring OpenStack on Kubernetes, CoreOS Introduces “Stackanetes”

    Innovator in container-enabled infrastructure leads effort to simplify OpenStack deployments with Kubernetes container management to deliver GIFEE for enterprises 

    OpenStack Summit Austin – April 26, 2016 –  A month after announcing intentions to bring OpenStack as an application on Kubernetes, CoreOS today introduces “Stackanetes”, an initiative to deploy and manage OpenStack as an application on Kubernetes. “Stackanetes” containerizes OpenStack and includes upstream Kubernetes and upstream OpenStack to deliver dynamic management, self-healing deployments and painless upgrades. CoreOS, an innovator in the security, deployment and management of container-enabled infrastructure, will work with the OpenStack community to integrate “Stackanetes” into upstream OpenStack. Today a prototype is available for Kubernetes managed OpenStack on Tectonic, the universal enterprise solution for Kubernetes.

    “We’ve seen the power of Kubernetes firsthand in the OpenStack community,” said Mark Collier, Chief Operating Officer at OpenStack Foundation. “Our recent OpenStack User Survey showed that Kubernetes is a popular method of managing apps on OpenStack clouds. We are excited that CoreOS is helping to bring together the Kubernetes and OpenStack communities and contributing their extensive container expertise.”

    Today at the OpenStack Summit Austin keynote, Alex Polvi, CEO of CoreOS, is demonstrating the power of “Stackanetes” with Tectonic, following on a collaboration with Intel. With “Stackanetes” on Tectonic, enterprises get the benefits of consistent deployments of OpenStack together with the robust application lifecycle management of Kubernetes. Tectonic helps enterprises to achieve GIFEE (Google’s Infrastructure for Everyone Else), a hyperscale, application-focused style of managing infrastructure that focuses on distributed systems, security and availability.

    “Cloud native computing patterns, as embodied by Kubernetes, offer remarkable benefits for application management,” said Craig McLuckie, Cloud Native Computing Foundation Chair, and Google Group Product Manager. “Cloud native apps are more efficient, more scalable and easier to operate. By bringing a first class cloud native management framework to OpenStack, ‘Stackanetes’ brings this power to the Enterprise Hybrid Cloud and to all classes of applications.”

    Tectonic, CoreOS’ completely supported technology stack for deploying containers in production, is built on CoreOS Linux and the Kubernetes cluster management platform that packages an array of tools for deploying, monitoring and managing applications and infrastructure. With “Stackanetes” on Tectonic, enterprises benefit from:

    • Simplified lifecycle management of OpenStack services from deployments to upgrades
    • Single platform for consistently managing both IaaS and container workloads
    • Ability to easily scale, operate and ensure resilience of OpenStack IaaS within their data center environments

    “‘Stackanetes’ is our first big stride in bringing GIFEE to the OpenStack community,” said Alex Polvi, CEO of CoreOS. “With this next step of development for OpenStack on Kubernetes via Tectonic, enterprises can begin to evaluate and bring their OpenStack environments along their journey to GIFEE.”

    CoreOS is showcasing Tectonic at OpenStack Summit Austin, April 25-29, 2016. Contact sales@coreos.com to set up a meeting.

    Supporting resources

    About CoreOS, Inc.

    CoreOS, Inc. runs the world’s containers securely on CoreOS, Tectonic and Quay. CoreOS is the creator of Tectonic, the universal Kubernetes solution, that combines Google’s Kubernetes and the CoreOS stack to deploy, manage and secure containers anywhere. CoreOS’ Quay technology allows companies to securely store Linux containers in private hosted repositories or behind customer’s firewalls. In addition, CoreOS is the creator and maintainer of open source projects CoreOS Linux, etcd, fleet, flannel and rkt. The strategies and architectures that influence CoreOS allow companies like Google, Facebook and Twitter to run their services at scale with high resilience. Learn more at https://coreos.com/ or follow CoreOS on Twitter @coreoslinux.

  • Top 5 Reasons to Back Up Your OpenStack Environment

    Top 5 Reasons to Back Up Your OpenStack Environment

    I am a big fan of lists. If you recall the movie “High Fidelity,” John Cusack’s character Rob and his co-workers—armed with an encyclopedic knowledge of all things musical—compile “top five” lists for every conceivable occasion, openly mock the tastes of people, and, every so often, sell a few records. In the spirit of a lists, here are the top five reasons to back up your OpenStack environment. We thought that it would be helpful to many.

    If you’re currently working with OpenStack clouds, or are in the process of embracing it, you need to include backup and recovery for OpenStack on your list of to-dos from the start. You may ask, “Why? I have orchestrated/automated everything, I just need to spin resources up and down.” Cloud environments are fundamentally different from the virtualization we have become used to. Virtualization relies on infrastructure for resiliency. In the cloud, distributed applications are responsible for their own resiliency, and are independent of the underlying infrastructure. Therefore, cloud apps need backup and recovery options, lest you face a complete machine, data or file meltdown.

    We’ve compiled the top five reasons to backup your OpenStack environment. Take a read and it will become clear why you must include backup in your OpenStack plans.

    1. Compliance — Compliance may seem like an issue for only certain industries—finance and health care come to mind—but nearly every organization has to deal with compliance issues. For some, it’s compliance to external regulations, while for others it’s simply complying with internal policies and best practices. Backup for OpenStack is an essential component for compliance; it ensures the availability of the data at a specific point in time within your OpenStack applications. I was recently involved in a dialogue/string on LinkedIn watching experienced OpenStackers go back and forth debating “pet vs. cattle.” “I am getting tired of it,” one person said. “This is cloud. It’s about scaling up and out … With automation and orchestration there is no need for cattle.” This conversation went on for days. Theory is great. Practice is reality. What people failed to discuss is that compliance or the business units will drive many requirements (such as backup) either today or tomorrow. End of story.
    2. DevOps — Backup is often the forgotten tool for DevOps. Containers are great to use, but the ability to test with real data is an issue. The reason to use backup is quite simple: test and development. With a copy of a production environment, you now can test upgrades and new features in your agile development process. Furthermore, if you lose a machine or your data, or you end up with corrupted files while in the middle of testing or development, your life will be much easier if you have an appropriate backup solution in place. Restoring machines, data and files is a better option than re-creating them entirely. Cookbooks and recipes are great as well, but you still need to couple it with the appropriate “ingredients.” It is like playing with a fake kitchen as a child … do you want to make breakfast with plastic pancakes and toast? Nothing beats the real thing. Yes, more resources are required for one over the other, but when something goes wrong—it is unfortunate—people point fingers.
    3. Disaster recovery plans — While the terms “backup” and “disaster recovery” often are used interchangeably, they are actually not the same thing. You might have what appears to be a great recovery environment (ideally one that mirrors your production environment for high availability), but without a comprehensive backup solution, your recovery might not be the painless experience you expect it to be. Perhaps the solution for intelligent disaster recovery is to marry backup with a Swift environment so you can recover from any point in time, anywhere in your organization.
    4. Save time — Often recovery can be a frantic process, driven by a business need to have the machine, data or files recovered as soon as possible. Or, more likely, sooner than possible. If you are trying to re-create something under that type of environment, there’s a likelihood that mistakes could be made. This becomes increasingly true the more complex and mature your cloud becomes (think about the growing number of workloads and applications). A much easier approach—one that provides you with peace of mind—is to have a comprehensive backup solution ready and available for when you need it. There’s also another reason backup can save you time: When you have to re-create the lost information, you are taking your time away from something else—and that means you are taking a big hit to your productivity. Save yourself and your organization a big headache with backup.
    5. Security and forensics — You never know when you are going to be asked to provide data or files related to a security issue or a forensics investigation. The right backup solution not only makes it easier to assist with the activity, but think how good you’ll look by being able to deliver the information the forensics team needs quickly.

     Are you currently looking into backup solutions for OpenStack? Now that you know why you need backup for OpenStack, learn more about how to backup OpenStack.

  • Automic empowers cloud Continuous Delivery with OpenStack Integration

    SEATTLE, Wash. & VIENNA–(Business Wire)–Automic, the leader in Business Automation today announced integration with OpenStack, one of the leading open-source software platforms for cloud computing. The new OpenStack plug-in integrates with Automic Release Automation, enabling users to streamline deployment and provisioning of OpenStack computing resources alongside application components and new versions, resulting in the Continuous Delivery of applications to the cloud. The OpenStack action pack is available immediately from the Automic Marketplace.

    The Automic OpenStack action pack uniquely supports the efforts of DevOps engineers, developers, and system administrators to help them create, deploy, and run applications by automatically provisioning or de-provisioning OpenStack environments in the cloud.

    The Automic OpenStack action pack enables users to:

    • Automate the server compute pool in an OpenStack cloud environment. Activities include creating, starting, stopping, deleting and configuring compute resources. Some of the typical use cases include setting up and destroying environments on demand and per schedule (for test environments for example).
    • Dynamically scaling up and down an existing compute environment using automation.
    • Manage configuration changes in an existing environment.

    “We are delighted to add OpenStack to the list of integrations that we currently offer our customers on the Automic Marketplace” said John Purrier, Chief Technology Officer of Automic, and a founder of OpenStack. “As organizations drive adoption of both Cloud infrastructures and DevOps practices, Application Release Automation supports the need to orchestrate and automate both sides of the fence while providing a completeContinuous Delivery mechanism for DevOps teams. Adding OpenStack to our existing list of integrations is a natural progression of our offering, driven by the demands of our customers.”

    The DevOps movement is a natural extension of the increase in the enterprise open source and hybrid Cloud adoption. While a big chunk of the DevOps movement is spearheaded by development, operations are usually in the driver’s seat for Cloud adoption at enterprises. DevOps is the critical enabler of the Continuous Delivery pipeline, one that seamlessly connects developers and operations.

    A hybrid Cloud strategy is the predominant choice of most enterprise IT departments, while OpenStack is leading in the open source software space for creating private and public Clouds. With hundreds of the world’s leading organizations relying on OpenStack and a projected CAGR of 31%, OpenStack is core to many organizations’ hybrid Cloud strategy.

    Tweet this:

    #DevOps deployment in the cloud. @Automic announces integration with @OpenStack. Available now at https://marketplace.automic.com

    Additional information

    Connect with Automic on Twitter and LinkedIn

    Availability and pricing:

    The plugin is available from the Automic Marketplace. The OpenStack plug-in is free for Automic Release Automation Customers. Pricing is on demand for non-Automic customers.

    About Automic

    Automic, a leader in business automation, helps enterprises drive competitive advantage by automating their IT and business systems – from on-premise to the Cloud, Big Data and the Internet of Things. With offices worldwide, Automic powers over 2,600 customers including Bosch, Netflix, eBay, AMC Theatres, Carphone Warehouse, ExxonMobil, BT Global Services, Société Générale, NHS SBS, General Electric and Swisscom. More information can be found at www.automic.com.

    Automic
    Courtney Glymph
    Courtney.glymph@automic.com
    +447584058886

  • How to “hear” OpenStack silent failures earlier and remediate faster

    How to “hear” OpenStack silent failures earlier and remediate faster

    Troubleshooting “silent failures” in an OpenStack cloud environment has been a tough problem to solve for many production users. eBay’s chief engineer of cloud, Subbu Allamaraju, whose team has been operating PayPal on an OpenStack-based private cloud since March 2015, has publicly defined one of his ongoing challenges as: “Too much noise, too many alerts, and still working on how to detect troubles before customers find out.”

    For enterprises and service providers in various stages of rolling out OpenStack, tackling silent failures invariably starts with two questions:

    • Why and where do silent failures occur?
    • Can my Ops team receive push notifications of warnings earlier and proactively remediate them before silent failures materialize?

    Silent failures happen because OpenStack Ops teams often don’t know which service domains to tune into for early-stage warnings. Even if they do, the warnings get drowned out by noise. For instance, your metrics and logs for the compute domain show a successful VM creation. Yet, a tenant is still not able to use her requested VM instance – a silent failure – while the warnings actually show up in metrics and logs outside compute domain, such as DHCP agent failure and identity database query timeout.

    To catch a situation like this, OpenStack Ops teams need a real-time, data-driven approach that automatically detects early warnings in DHCP agent and identity service, then correlates them with VM creation, and finally push-notifies only the relevant domain experts to collaboratively remediate “tenant can’t use requested VM.” All noise has been removed and related warning signals have been clustered and contextualized together – automatically.

    And Operators shouldn’t have to rely on writing rules to model silent failures. Writing rules will be too time consuming and are unable to cover all failure scenarios. There are too many service domains – at least 13 of them (e.g. compute, identity, dashboard and storage) – plus their service daemons and virtual switch tunnels that stitch them all together.

    Using real-time, data driven management to resolve OpenStack silent failures has been a recent success for OpenStack. For example, a large OpenStack production shop was able to proactively detect OpenStack cell failures by receiving early notifications from outside the cell domain – CEPH and JBOD I/O failures.

    By becoming data-driven and ingesting all events and status messages across the entire OpenStack into real-time, machine learning algorithms, OpenStack Ops team automatically receive cleaned and contextualized alerts, then use modern social collaboration technologies to rapidly troubleshoot issues, capturing tribal knowledge for the future. The new mantra for these teams should be “clean, contextualize and collaborate,” the 3 pillars of real-time situation management.

    But real-time situation management doesn’t just stop here. It scales across the entire ecosystem that lives in and around OpenStack. Data sources include the ever-pervasive RabbitMQ message bus across all services, metrics and logs across the diverse tenant operating systems, and metrics and logs across all technology and vendors. In essence, monitoring the entire technology and vendor independent reference architecture can be rolled up and simplified as “situation management” vs. reacting to many seemingly unrelated “domain silo alerts.”

    Real-time situation management can also sit above multiple OpenStack instances for load sharing and DR purposes, and the interactions with public cloud. For instance, Amazon CloudWatch can be quickly incorporated as a data feed, giving OpenStack Ops teams a “manager of managers” view across OpenStack hybrid clouds.

    Real-time situation management essentially provides Ops team with a single pane of glass to see and resolve failures earlier, with amplified signals and suppressed noise. Doing so without relying on extensive rules offers much needed flexibility for Ops team to keep up with so many “unknown unknowns,” as the OpenStack community continues to evolve its entire reference architecture and ecosystem.

    About the Author/Feng Meng

    Feng Meng is a Senior Director, Product Marketing at Moogsoft. His expertise lies in IT service assurance, with 15-year technical marketing background in Application Performance Management (Bytemobile, acquired by Citrix), Network Performance Management (Cisco), Infrastructure Monitoring (VSS Monitoring), and Server Management (HP). Twitter: @fengmengmoog @moogsoft  Linkedin: https://www.linkedin.com/in/fengmeng1970