|By Lori MacVittie||
|January 28, 2014 09:15 AM EST||
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:
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.
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).
Before becoming a developer, I was in the high school band. I played several brass instruments - including French horn and cornet - as well as keyboards in the jazz stage band. A musician and a nerd, what can I say? I even dabbled in writing music for the band. Okay, mostly I wrote arrangements of pop music, so the band could keep the crowd entertained during Friday night football games. What struck me then was that, to write parts for all the instruments - brass, woodwind, percussion, even k...
Jul. 24, 2016 12:30 AM EDT Reads: 1,936
This digest provides an overview of good resources that are well worth reading. We’ll be updating this page as new content becomes available, so I suggest you bookmark it. Also, expect more digests to come on different topics that make all of our IT-hearts go boom!
Jul. 24, 2016 12:00 AM EDT Reads: 3,374
DevOps at Cloud Expo – being held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real results. Am...
Jul. 23, 2016 11:30 PM EDT Reads: 2,092
SYS-CON Events announced today that Isomorphic Software will exhibit at DevOps Summit at 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Isomorphic Software provides the SmartClient HTML5/AJAX platform, the most advanced technology for building rich, cutting-edge enterprise web applications for desktop and mobile. SmartClient combines the productivity and performance of traditional desktop software with the simp...
Jul. 23, 2016 11:30 PM EDT Reads: 793
When people aren’t talking about VMs and containers, they’re talking about serverless architecture. Serverless is about no maintenance. It means you are not worried about low-level infrastructural and operational details. An event-driven serverless platform is a great use case for IoT. In his session at @ThingsExpo, Animesh Singh, an STSM and Lead for IBM Cloud Platform and Infrastructure, will detail how to build a distributed serverless, polyglot, microservices framework using open source tec...
Jul. 23, 2016 11:00 PM EDT Reads: 2,216
The 19th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Digital Transformation, 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 opportuni...
Jul. 23, 2016 10:15 PM EDT Reads: 2,408
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 19th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo Silicon Valley Call for Papers is now open.
Jul. 23, 2016 08:00 PM EDT Reads: 2,411
Jul. 23, 2016 06:15 PM EDT Reads: 3,539
"We provide DevOps solutions. We also partner with some key players in the DevOps space and we use the technology that we partner with to engineer custom solutions for different organizations," stated Himanshu Chhetri, CTO of Addteq, 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.
Jul. 23, 2016 05:30 PM EDT Reads: 1,538
In his session at @DevOpsSummit at 19th Cloud Expo, Yoseph Reuveni, Director of Software Engineering at Jet.com, will discuss Jet.com's journey into containerizing Microsoft-based technologies like C# and F# into Docker. He will talk about lessons learned and challenges faced, the Mono framework tryout and how they deployed everything into Azure cloud. Yoseph Reuveni is a technology leader with unique experience developing and running high throughput (over 1M tps) distributed systems with extre...
Jul. 23, 2016 05:30 PM EDT Reads: 1,989
There's a lot of things we do to improve the performance of web and mobile applications. We use caching. We use compression. We offload security (SSL and TLS) to a proxy with greater compute capacity. We apply image optimization and minification to content. We do all that because performance is king. Failure to perform can be, for many businesses, equivalent to an outage with increased abandonment rates and angry customers taking to the Internet to express their extreme displeasure.
Jul. 23, 2016 02:45 PM EDT Reads: 1,345
SYS-CON Events announced today that LeaseWeb USA, a cloud Infrastructure-as-a-Service (IaaS) provider, will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. LeaseWeb is one of the world's largest hosting brands. The company helps customers define, develop and deploy IT infrastructure tailored to their exact business needs, by combining various kinds cloud solutions.
Jul. 23, 2016 09:15 AM EDT Reads: 1,035
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, ...
Jul. 23, 2016 08:30 AM EDT Reads: 746
SYS-CON Events announced today that Venafi, the Immune System for the Internet™ and the leading provider of Next Generation Trust Protection, will exhibit at @DevOpsSummit at 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Venafi is the Immune System for the Internet™ that protects the foundation of all cybersecurity – cryptographic keys and digital certificates – so they can’t be misused by bad guys in attacks...
Jul. 23, 2016 07:45 AM EDT Reads: 1,060
Ovum, a leading technology analyst firm, has published an in-depth report, Ovum Decision Matrix: Selecting a DevOps Release Management Solution, 2016–17. The report focuses on the automation aspects of DevOps, Release Management and compares solutions from the leading vendors.
Jul. 23, 2016 06:00 AM EDT Reads: 1,582
SYS-CON Events has announced today that Roger Strukhoff has been named conference chair of Cloud Expo and @ThingsExpo 2016 Silicon Valley. The 19th Cloud Expo and 6th @ThingsExpo will take place on November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. "The Internet of Things brings trillions of dollars of opportunity to developers and enterprise IT, no matter how you measure it," stated Roger Strukhoff. "More importantly, it leverages the power of devices and the Interne...
Jul. 23, 2016 04:30 AM EDT Reads: 1,962
This is a no-hype, pragmatic post about why I think you should consider architecting your next project the way SOA and/or microservices suggest. No matter if it’s a greenfield approach or if you’re in dire need of refactoring. Please note: considering still keeps open the option of not taking that approach. After reading this, you will have a better idea about whether building multiple small components instead of a single, large component makes sense for your project. This post assumes that you...
Jul. 23, 2016 03:15 AM EDT Reads: 3,829
Sharding has become a popular means of achieving scalability in application architectures in which read/write data separation is not only possible, but desirable to achieve new heights of concurrency. The premise is that by splitting up read and write duties, it is possible to get better overall performance at the cost of a slight delay in consistency. That is, it takes a bit of time to replicate changes initiated by a "write" to the read-only master database. It's eventually consistent, and it'...
Jul. 23, 2016 12:45 AM EDT Reads: 2,031
The Internet of Things will challenge the status quo of how IT and development organizations operate. Or will it? Certainly the fog layer of IoT requires special insights about data ontology, security and transactional integrity. But the developmental challenges are the same: People, Process and Platform and how we integrate our thinking to solve complicated problems. In his session at 19th Cloud Expo, Craig Sproule, CEO of Metavine, will demonstrate how to move beyond today's coding paradigm ...
Jul. 22, 2016 08:45 PM EDT Reads: 2,095
Keeping pace with advancements in software delivery processes and tooling is taxing even for the most proficient organizations. Point tools, platforms, open source and the increasing adoption of private and public cloud services requires strong engineering rigor – all in the face of developer demands to use the tools of choice. As Agile has settled in as a mainstream practice, now DevOps has emerged as the next wave to improve software delivery speed and output. To make DevOps work, organization...
Jul. 22, 2016 04:45 AM EDT Reads: 2,073