We hope you enjoyed the September 13 DemoFriday™ with Plexxi and Opscode using DevOps and SDN! If you missed the presentation featuring a concrete solution that truly automates the network, you now can watch it in our archives.
This DemoFriday™ focused on the intersection of DevOps and software-defined networking (SDN), showing how to help DevOps engineers influence network behavior using tools and data familiar to them. The presentation showcases Chef, Opscode’s automation platform that transforms infrastructure into code. Watch the full presentation, or check out the teaser video and other resources below.
Following are the questions provided by participants and answers, written out in detail after the presentation, from Plexxi Senior Product Manager Derick Winkworth and Opscode CTO Christopher Brown. Check out the responses to learn more about how to assign roles to infrastructure and use those roles to drive network behavior.
How do I start to model my infrastructure in Chef for use with something like Plexxi?
Opscode: We recommend starting with the basics outlined here at Learn Chef. Chef can be downloaded for free here, and by following the steps outlined on Learn Chef, you’ll be able to deploy your first server using Chef and get familiar with the platform. From there, you can review the Starter Use Cases detailed on the Learn Chef page to find what best fits your unique environment, then engage with the Chef Community and Opscode Support to move you quickly on your way to fully configuring environments – including Plexxi networking resources – with Chef.
You said that Chef is great for managing complexity. My environment isn’t that complex. Is Chef still useful, and why?
Opscode: Chef is an automation platform that transforms infrastructure into code. With Chef, your real asset is the code that brings those servers and the services they provide to life. An automated infrastructure can accelerate your time to market, help you manage scale and complexity, and safeguard your systems.
Automating with Chef means that you can set up your infrastructure and be ready to deploy new features in minutes rather than days. You can get devs resources in near real-time and adapt to the unexpected with a few lines of code. Even in small, simple environments, Chef’s automation capabilities can ensure you’re making the most of your IT resources.
Investing in Chef also enables you to reap benefits of configuration management now and set yourself up for success in the future as your environment grows more complex. In addition to handling infrastructure automation, Chef can also serve as the basis for more advanced use cases such as application deployment and continuous delivery.
I have a more “legacy” environment. Can I still use Chef? Can Chef help me get to the promised land of dynamic config and SDN? Also, what about Windows, Solaris and AIX?
Opscode: Chef has robust, native support for Windows, Unix, AIX, and Linux, ensuring integration with nearly every compute environment. The Opscode team can help you go from configuring your first server with Chef all the way to the continuous deployment of new applications. Chef works with next-gen leaders in networking like Plexxi to enable you to automate both the server and networking layers from a single automation platform, abstracting IT management to the software layer to save time and money and increase development velocity.
Do Devops (Chef) owners want to reach in and configure network elements? Can you give a customer use case?
Opscode: The real benefit is not having to directly interface with the actual networking elements themselves and instead using the Chef interface to do it all with code. By abstracting management to Chef, sysadmins and developers can manage networking resources without needing to be deeply familiar with networking language or management principles. This means resources are always provisioned reliably, quickly and repeatedly.
Plexxi: This question was intended for Opscode, but I would like to provide a Plexxi answer. We do not think it useful for Chef users to configure individual network elements within a network. It should be enough to say, “I want low latency for this kind of traffic,” or, “I want this kind of traffic to not share paths with other kind of traffic.” Essentially, the operator of the network should need only to express a high-level policy.
Orchestration and controller components should do the heavy lifting of determining where such traffic is being originated and who is consuming it, and then optimizing or configuring the network appropriately to match the high-level policy.
Can I use a network event to trigger changes in Chef?
Plexxi: Yes. Capacity thresholds, latency characteristics, buffer usage, etc. can all be measured with respect to attached systems and applications. When a threshold is passed, this can trigger changes within the Chef repository. Now that Chef has the ability to trigger a Chef-client run on a remote host, this means the infrastructure, as a whole, can respond quickly to different kinds of events.
Where can I get this integration and the DSE? I was told this is open source.
Plexxi: Plexxi is in the process of now of preparing the DSE for open-source distribution. Until then, interested parties can contact Plexxi (or any Plexxi employee) any number of ways through social media (@plexxxiInc) or traditional means.
Are you going to create cookbooks for standard network deployments?
Plexxi: Yes, although at this time we do not have a date we can share.
What happens if the network controller fails / reboots?
Plexxi: There are two “sides” to the controller: the side that interfaces with the network elements, and the side that interfaces with surrounding systems. If the controller fails, the network elements will continue to enforce the last known set of policies even in the case of link or node failures. When the controller recovers, it will simply pick up where the current state of the infrastructure is at and continue to operate as expected.
What happens if the Chef server fails?
Plexxi: With respect to the network, the controller will continue to enforce the last known set of policies associated with the Chef Server until the Chef Server recovers and the two synchronize again.
Does this mean that I can refer to Chef roles when troubleshooting the network?
In Plexxi, can the time interval to update affinity groups be configured? In this demo it happened in 10 to 15 seconds. Also, can affinity updates be delayed/queued for an operator to manually apply after approval?
Plexxi: The interval in the demo is very short in order to make the demo presentable. The interval can, and probably should be, configured much higher in a production environment. Yes, you could insert a manual approval into the workflow.
Is Plexxi using the hosted Chef Server or do you have a locally installed Chef Server?
Plexxi: Either one will work. The demo is using a locally installed Chef Server.
How does Plexxi subscribe to the MAC table service?
Plexxi: Individual data services all reside on an AMQP bus. The Plexxi configuration service simply subscribes to a “well-known” AMQP address which other services publish to, such as the MAC table service. More specifically, an interested data service would subscribe to the MAC-table-data service with a list of MACs that are interesting. The MAC table service would inform this data service when the state of one of the MACs changes relative to the MAC table.