Welcome!

Microservices Expo Authors: Elizabeth White, Liz McMillan, Gordon Haff, Pat Romanski, Ken Schwaber

Related Topics: SDN Journal, Microservices Expo, Containers Expo Blog, @CloudExpo, @BigDataExpo, @DevOpsSummit

SDN Journal: Blog Feed Post

When Programmability Extends Beyond the Platform

A programmable platform should be more than just lipstick on a CLI

The term programmability is, like every other term associated with hype-driven trends, used to describe a wide range of capabilities. In general, when applied to "the network", programmability implies one of two things: an API through which a network element can be configured and managed and/or a scripting mechanism that enables direct interaction with the data path.

These two aspects of programmability provide integration between data center elements (control plane) as well as enabling extensibility through the creation of new services on the platform (data plane). But they don't speak to a third capability - the invocation of external services as a reaction to some data center event.

For example, a data center "event" might be the depletion of capacity in the face of high demand. Elasticity (the automatic scaling up and down of a service or application) demands action be taken. That action, ideally, is automated. The overall system should understand when capacity limits are about to be breached (both in the upward and downward direction) and be able to take the appropriate action - provision additional capacity or decommission capacity.

Most "network" elements are not capable of taking this action directly. Load balancing platforms for the most part are the first service to recognize a need to change capacity, but are rarely able to take action other than sharing that information with an external system. For most load balancing platforms that's because they lack the programmability necessary to do so. They may be programmatic at the control plane and even on the data plane, but they are not imbued with the ability to execute logic on an event-driven basis.

Platforms that are so imbued (and they do exist) are able to do so.

Let me illustrate...

The vCloud API Programming Guide has a robust set of interfaces through which a vAPP (which in VMware jargon describes a complete "application") can be managed. You can, through this API, power on (provision, launch, etc...) and shutdown (decommission, power off, etc...) a given vAPP. A programmable platform can leverage those APIs to enable rapid elasticity.

HERE COMES the (COMPUTER) SCIENCE
Interestingly, a scalable application consists of at least two things: a load balancing service and a pool of application resources. How far you can take that to implement actual elasticity depends entirely on the availability of APIs through which you can manage application instances (virtual machines) and the programmability of the platform upon which the load balancing service is deployed.

Assuming you have what you need, your environment looks something like this:

capacity-limits-reached

Health monitoring enables the service platform to know when there's a problem, that's critical for high-availability. The platform also understands the capacity limits of each virtual instance. Now, let's say demand is suddenly spiking (the source is irrelevant). Given the strategic location of the service platform, it is the first system in the data center able to recognize that capacity limits are about to be breached.

The question is, what does the service platform do about that?

Well, in most systems it's just going to share that information with an external orchestration/management platform. In most cases, in fact, it's going to share it passively; that is, the information won't reach the management platform until the management platform asks for it. It's a polling system, not a proactive push from the service platform.

That means that it's possible that capacity will be reached and users will start experiencing delays or even time-outs before the management platform even knows there's a problem.

In order to realize elasticity that actually ensures high-availability and responsiveness of applications, we need something more proactive. The service platform must participate either by pushing a capacity reached notification to the management platform or, if it's able to, simply instructing the management platform to provision the additional resources necessary to ensure capacity is expanded before limits are breached.

capacity-limits-expanded

This requires that the service platform is not only programmable at the control and data path planes, but also at the configuration layer. It must be able to not only recognize a breach of thresholds but then act on that breach. In this case, acting means initiating a process that will result in the provisioning of additional resources required to ensure continued availability and performance. As demand wanes, another threshold can trigger a reverse process in which an instance is decommissioned*.

Now, you can certainly design your data center in myriad ways to deal with elasticity and availability. If you've got the right service platform - one that's programmable in more than just the traditional two-pronged approach - then you've got another option available to you. An option that's more proactive and leverages what is an existing strategic point of control in your network architecture.

* Provisioning is easier and less complex than decommissioning, as the latter requires careful attention to existing connections and essentially means the load balancing service must manage the process of stopping new connections while maintaining existing ones until users complete their session (quiescence).

Read the original blog entry...

More Stories By Lori MacVittie

Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire product suite. Her role includes authorship of technical materials and participation in a number of community-based forums and industry standards organizations, among other efforts. MacVittie has extensive programming experience as an application architect, as well as network and systems development and administration expertise. Prior to joining F5, MacVittie was an award-winning Senior Technology Editor at Network Computing Magazine, where she conducted product research and evaluation focused on integration with application and network architectures, and authored articles on a variety of topics aimed at IT professionals. Her most recent area of focus included SOA-related products and architectures. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University.

@MicroservicesExpo Stories
In his session at @DevOpsSummit at 19th Cloud Expo, Robert Doyle, lead architect at eCube Systems, will examine the issues and need for an agile infrastructure and show the advantages of capturing developer knowledge in an exportable file for migration into production. He will introduce the use of NXTmonitor, a next-generation DevOps tool that captures application environments, dependencies and start/stop procedures in a portable configuration file with an easy-to-use GUI. In addition to captur...
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and Containers together help companies to achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of D...
In 2014, Amazon announced a new form of compute called Lambda. We didn't know it at the time, but this represented a fundamental shift in what we expect from cloud computing. Now, all of the major cloud computing vendors want to take part in this disruptive technology. In his session at 20th Cloud Expo, John Jelinek IV, a web developer at Linux Academy, will discuss why major players like AWS, Microsoft Azure, IBM Bluemix, and Google Cloud Platform are all trying to sidestep VMs and containers...
We call it DevOps but much of the time there’s a lot more discussion about the needs and concerns of developers than there is about other groups. There’s a focus on improved and less isolated developer workflows. There are many discussions around collaboration, continuous integration and delivery, issue tracking, source code control, code review, IDEs, and xPaaS – and all the tools that enable those things. Changes in developer practices may come up – such as developers taking ownership of code ...
DevOps and microservices are permeating software engineering teams broadly, whether these teams are in pure software shops but happen to run a business, such Uber and Airbnb, or in companies that rely heavily on software to run more traditional business, such as financial firms or high-end manufacturers. Microservices and DevOps have created software development and therefore business speed and agility benefits, but they have also created problems; specifically, they have created software securi...
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it," stated Sebastian Scheele, co-founder of Loodse, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
I’m told that it has been 21 years since Scrum became public when Jeff Sutherland and I presented it at an Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) workshop in Austin, TX, in October of 1995. Time sure does fly. Things mature. I’m still in the same building and at the same company where I first formulated Scrum.[1] Initially nobody knew of Scrum, yet it is now an open source body of knowledge translated into more than 30 languages[2] People use Scrum worldwide for ...
"We're bringing out a new application monitoring system to the DevOps space. It manages large enterprise applications that are distributed throughout a node in many enterprises and we manage them as one collective," explained Kevin Barnes, President of eCube Systems, in this SYS-CON.tv interview at DevOps at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
True Story. Over the past few years, Fannie Mae transformed the way in which they delivered software. Deploys increased from 1,200/month to 15,000/month. At the same time, productivity increased by 28% while reducing costs by 30%. But, how did they do it? During the All Day DevOps conference, over 13,500 practitioners from around the world to learn from their peers in the industry. Barry Snyder, Senior Manager of DevOps at Fannie Mae, was one of 57 practitioners who shared his real world journe...
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and containers together help companies achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of Dev...
@DevOpsSummit at Cloud taking place June 6-8, 2017, at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long developm...
Updating DevOps to the latest production data slows down your development cycle. Probably it is due to slow, inefficient conventional storage and associated copy data management practices. In his session at @DevOpsSummit at 20th Cloud Expo, Dhiraj Sehgal, in Product and Solution at Tintri, will talk about DevOps and cloud-focused storage to update hundreds of child VMs (different flavors) with updates from a master VM in minutes, saving hours or even days in each development cycle. He will also...
As the race for the presidency heats up, IT leaders would do well to recall the famous catchphrase from Bill Clinton’s successful 1992 campaign against George H. W. Bush: “It’s the economy, stupid.” That catchphrase is important, because IT economics are important. Especially when it comes to cloud. Application performance management (APM) for the cloud may turn out to be as much about those economics as it is about customer experience.
When you focus on a journey from up-close, you look at your own technical and cultural history and how you changed it for the benefit of the customer. This was our starting point: too many integration issues, 13 SWP days and very long cycles. It was evident that in this fast-paced industry we could no longer afford this reality. We needed something that would take us beyond reducing the development lifecycles, CI and Agile methodologies. We made a fundamental difference, even changed our culture...
“RackN is a software company and we take how a hybrid infrastructure scenario, which consists of clouds, virtualization, traditional data center technologies - how to make them all work together seamlessly from an operational perspective,” stated Dan Choquette, Founder of RackN, in this SYS-CON.tv interview at @DevOpsSummit at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
@DevOpsSummit taking place June 6-8, 2017 at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @DevOpsSummit at Cloud Expo New York Call for Papers is now open.
SYS-CON Events announced today that Dataloop.IO, an innovator in cloud IT-monitoring whose products help organizations save time and money, has been named “Bronze Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Dataloop.IO is an emerging software company on the cutting edge of major IT-infrastructure trends including cloud computing and microservices. The company, founded in the UK but now based in San Fran...
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...