Microservices Expo Authors: Elizabeth White, Mehdi Daoudi, Pat Romanski, Flint Brenton, Gordon Haff

Related Topics: @CloudExpo, Containers Expo Blog

@CloudExpo: Article

The Transformation Toward Universal Utility Computing Is Beginning

When the cloud transforms into universal utility computing

Nick Davis's Blog

Cloud computing promises to change much of how we as developers, designers, and architects currently design and build web applications. For one, concurrency is big issue that need to be addressed if the apps of the next decade are going to scale on this cloud infrastructure.

One of the most popular themes in the last couple years on the web is the much-heralded “cloud computing”. Of course, the cloud metaphor is taken from the representation of the Internet in architecture diagrams as a big fluffy cloud to which other, more discrete networks and systems are interconnected. From the Wikipedia page, Cloud computing, defined, is:

a style of computing in which IT-related capabilities are provided “as a service”, allowing users to access technology-enabled services from the Internet (”in the cloud”) without knowledge of, expertise with, or control over the technology infrastructure that supports them.

Google popularized dynamic web-based applications that behaved much like desktop apps, and essentially ushered in the era of what we fondly (sometimes snidely) call “Web 2.0″. In the short span of 3 or 4 years (I’m counting since 2005, when the web community at large became aware of Ajax and similar technology), dynamic web applications have become the de facto UI for end-user interactive software offerings — if it makes sense to use the ubiquitous browser as the frontend, then why not? Instead of forcing users to install, configure, and learn yet another new desktop app, give them an interface with which they’re already comfortable and familiar. As an added benefit, the browser interface is supported on nearly every operating system and platform used today (proprietary plugins and extensions notwithstanding).

Since then, the “cloud” has been touted as the next generation of the web, and as a concept encompasses a few key areas:

  • storage - collect user settings/preferences, documents and media
  • computing cycles - harness the power of a thousand-node grid of servers for complex problems or CPU-intensive workloads
  • network transparency - mask low-level details such as IP addresses and other info as much as possible

Who’s Who and Challenges

Large vendors with existing market plays involving huge server farms and data centers are eagerly jumping on the bandwagon — like IBM, Google, Amazon, Sun, etc. Software vendors are touting their existing and upcoming apps as “cloud” initiatives. The previously mentioned firms, as well as Salesforce, Zimbra (now owned by Yahoo), Zoho, and a multitude of other startups are all rushing to lay claim to a piece of land in the Cloud Gold Rush. Even Microsoft, notoriously late to the web party, instead relying on its stalwart cash cows of Windows and Office, has made its own bid in the cloud wars with Mesh and announcements of a web version of Office.

Cloud computing promises to change much of how we as developers, designers, and architects currently design and build web applications. For one, concurrency is big issue that need to be addressed if the apps of the next decade are going to scale on this cloud infrastructure. Languages, platforms, and tools need to provide solutions for creating apps that scale efficiently on multiple cores, processors, and even systems. Architects will have to design solutions that are massively scalable and take advantage of the properties of the cloud. UI specialists and designers will work with browser-based frontends, as well as newer mobile phone interfaces and Internet-enabled devices (such as Nokia’s Maemo Internet tablet).

Beyond the Cloud

I envision a future beyond the current cloud computing craze, perhaps in 5 - 10 years, where computing is a utility service just like power and telephone service are today. Several companies, including Amazon and Sun, are already offering some utility-style services, and many distributed computing projects tackling specific problems run on volunteer end-user systems today, but I’m thinking of something much broader. Instead of vendor-specific mini-clouds or utility services, we should aim for what I’ll term universal utility computing (UUC), built on open protocols and standards.

Essentially, the idea is to ensure every node in the cloud is an active member. By “active”, I mean the resources of every device are available for use by others. Computing cycles can be used (when idle, or up to a certain configurable threshold percentage of total CPU), storage, etc. It’s similar in nature to a grid and distributed computing, but utilizing a general, Internet-wide approach.

So how would such a system work? For starters, a UUC protocol would be required, and agent software written for various operating systems. The protocol would specify the sequence of communication between nodes, allowing true peer-to-peer messaging. The agent would ideally sit in the kernel space, interacting with the built-in scheduler, hardware abstraction layer, and storage subsystem.

Once a device has been “UUC-enabled”, it could begin to participate in the utility cloud. Every system in the cloud would share its resources for utility computing. Applications would then have the ability to harness as much computing power as required. Nodes that didn’t participate in the utility cloud couldn’t take advantage of utility resources.

Imagine all mobile phones on Earth utilizing a small portion of their resources in protein folding computations, or all servers processing climate forecasting data, or molecular level interactions for medical applications. Internet-enabled gaming consoles, tablets, laptops, desktops, and a plethora of devices that may be idle 90% of the time can now be used for computation. Imagine if the machines available to the average botnet hacker could be used for helpful purposes instead of spam.

Naturally, there are several challenges that must be overcome. Security and privacy, as today, would have to be addressed, employing encryption and other techniques to ensure confidentiality and integrity. Outside of individual nodes, there must be built-in mechanisms for preventing DDOS-style attacks, as well as preventing malicious users from exhausting the available utility-dedicated resources on one or several devices. There must also be a system used to prioritize workloads sent to the cloud, and a way to adjust the priority of a task. Checks and balances could be automatic, ensuring that a particular workload doesn’t use more than pre-determined slice of the available resources for a system.

Universal utility computing could be the next phase of computing, one where the Internet is a true peer-to-peer system, and all nodes participate and share resources. Instead of having expensive data centers with custom hardware and software solutions, billions of devices with idle processors can be harnessed to help solve a variety of problems affecting the enterprise, health care, the scientific community, and others.

[This post appeared originally here and is reprinted by kind permission of the author, who retains full copyright.]

More Stories By Nick Davis

Nick Davis is an information security professional (CISSP) and software architect with several years of academic and professional experience. He earned an M.S. and B.S. in Computer Science from the University of Tulsa. Previously, hr was Founding Software Developer for Vidoop, an Internet security and identity company that provides some useful solutions for managing one’s identity on the web. While at Vidoop he was co-inventor of the company’s flagship patent-pending authentication technology, the ImageShield.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@MicroservicesExpo Stories
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an optimal end user experience over hybrid-cloud and multi-cloud environments, no matter what the current state of the infrastructure is. To employ a delivery automation strategy that reflects your business rules, making r...
"We started a Master of Science in business analytics - that's the hot topic. We serve the business community around San Francisco so we educate the working professionals and this is where they all want to be," explained Judy Lee, Associate Professor and Department Chair at Golden Gate University, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
For over a decade, Application Programming Interface or APIs have been used to exchange data between multiple platforms. From social media to news and media sites, most websites depend on APIs to provide a dynamic and real-time digital experience. APIs have made its way into almost every device and service available today and it continues to spur innovations in every field of technology. There are multiple programming languages used to build and run applications in the online world. And just li...
There is a huge demand for responsive, real-time mobile and web experiences, but current architectural patterns do not easily accommodate applications that respond to events in real time. Common solutions using message queues or HTTP long-polling quickly lead to resiliency, scalability and development velocity challenges. In his session at 21st Cloud Expo, Ryland Degnan, a Senior Software Engineer on the Netflix Edge Platform team, will discuss how by leveraging a reactive stream-based protocol,...
The general concepts of DevOps have played a central role advancing the modern software delivery industry. With the library of DevOps best practices, tips and guides expanding quickly, it can be difficult to track down the best and most accurate resources and information. In order to help the software development community, and to further our own learning, we reached out to leading industry analysts and asked them about an increasingly popular tenet of a DevOps transformation: collaboration.
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 ...
Cloud Governance means many things to many people. Heck, just the word cloud means different things depending on who you are talking to. While definitions can vary, controlling access to cloud resources is invariably a central piece of any governance program. Enterprise cloud computing has transformed IT. Cloud computing decreases time-to-market, improves agility by allowing businesses to adapt quickly to changing market demands, and, ultimately, drives down costs.
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
How is DevOps going within your organization? If you need some help measuring just how well it is going, we have prepared a list of some key DevOps metrics to track. These metrics can help you understand how your team is doing over time. The word DevOps means different things to different people. Some say it a culture and every vendor in the industry claims that their tools help with DevOps. Depending on how you define DevOps, some of these metrics may matter more or less to you and your team.
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in order to enable customers to go all the way from planning to development to testing down to release into the operations," explained Aruna Ravichandran, Vice President of Global Marketing and Strategy at CA Technologies, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"We are an integrator of carrier ethernet and bandwidth to get people to connect to the cloud, to the SaaS providers, and the IaaS providers all on ethernet," explained Paul Mako, CEO & CTO of Massive Networks, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Grape Up leverages Cloud Native technologies and helps companies build software using microservices, and work the DevOps agile way. We've been doing digital innovation for the last 12 years," explained Daniel Heckman, of Grape Up in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"NetApp's vision is how we help organizations manage data - delivering the right data in the right place, in the right time, to the people who need it, and doing it agnostic to what the platform is," explained Josh Atwell, Developer Advocate for NetApp, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"Outscale was founded in 2010, is based in France, is a strategic partner to Dassault Systémes and has done quite a bit of work with divisions of Dassault," explained Jackie Funk, Digital Marketing exec at Outscale, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
"I focus on what we are calling CAST Highlight, which is our SaaS application portfolio analysis tool. It is an extremely lightweight tool that can integrate with pretty much any build process right now," explained Andrew Siegmund, Application Migration Specialist for CAST, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Let's do a visualization exercise. Imagine it's December 31, 2018, and you're ringing in the New Year with your friends and family. You think back on everything that you accomplished in the last year: your company's revenue is through the roof thanks to the success of your product, and you were promoted to Lead Developer. 2019 is poised to be an even bigger year for your company because you have the tools and insight to scale as quickly as demand requires. You're a happy human, and it's not just...
The enterprise data storage marketplace is poised to become a battlefield. No longer the quiet backwater of cloud computing services, the focus of this global transition is now going from compute to storage. An overview of recent storage market history is needed to understand why this transition is important. Before 2007 and the birth of the cloud computing market we are witnessing today, the on-premise model hosted in large local data centers dominated enterprise storage. Key marketplace play...
Cavirin Systems has just announced C2, a SaaS offering designed to bring continuous security assessment and remediation to hybrid environments, containers, and data centers. Cavirin C2 is deployed within Amazon Web Services (AWS) and features a flexible licensing model for easy scalability and clear pay-as-you-go pricing. Although native to AWS, it also supports assessment and remediation of virtual or container instances within Microsoft Azure, Google Cloud Platform (GCP), or on-premise. By dr...
With continuous delivery (CD) almost always in the spotlight, continuous integration (CI) is often left out in the cold. Indeed, it's been in use for so long and so widely, we often take the model for granted. So what is CI and how can you make the most of it? This blog is intended to answer those questions. Before we step into examining CI, we need to look back. Software developers often work in small teams and modularity, and need to integrate their changes with the rest of the project code b...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex ...