Welcome!

Artificial Intelligence Authors: Elizabeth White, Yeshim Deniz, Zakia Bouachraoui, Liz McMillan, William Schmarzo

Related Topics: Artificial Intelligence, IBM Cloud, @CloudExpo

Artificial Intelligence: Article

Declarative Programming in the Cloud

Letting the cloud platform do the heavy lifting

Earlier today I read an interview with fellow IBMer Andrew Spyker that touched on the use of declarative programming models in the new WebSphere XML Feature Pack. I think most of you are probably comfortable with what a declarative programming model is, especially in comparison to imperative programming models, but I really like Andrew's explanation in the interview:

... declarative programming asks the user what they want to do. This is as opposed to imperative programming (ex: Java code working with the DOM or JAXB APIs) which asks the user how they want to do what they want to do.

Andrew goes on to make the point that not only is code written in the declarative style easier to adapt and maintain over time, it also lends itself to better optimizations. The reason for this is pretty obvious based on his definition above. Code written in the imperative style explicitly tells the computer how to do what the user wants to do.

While some optimizations to this code can be, and often times are, inserted by a compiler, it doesn't lend itself to the same optimizations that code written in a declarative style does. When coders simply tell a system what they want to do, as is the case in the declarative style, the system can decide the most efficient way to carry out that action.

While not the focus of the interview, Andrew does mention that declarative programming models may be particularly useful in the realm of cloud computing. I believe that line of thought has quite a bit of merit. As far as application environments go, most of the cloud computing movement to date has been centered on driving efficiencies through the use of virtualizing complete application stacks. This provides us with the necessary encapsulation to be able to very easily and quickly bring complete stacks online, all the while allowing us to run more of those stacks, with the same set of compute resources, when demand dictates.

There is no doubt that this type of virtualization is a good thing and when leveraged correctly can bring significant improvement with respect to the responsiveness of our applications. However, we can't stop by putting a box around our application stacks. If we truly want to get the most out of the dynamic environments offered by cloud computing platforms, we have to look inside that stack as well to drive efficiencies into the code that makes up our applications.

What's the best way to do that? Well, the fact is that right now the community of developers who are well prepared to write code that harnesses the power of massive, highly scalable cloud platforms isn't exactly bursting at the seams. To address that many initiatives are being launched that seek to make these type of programming skills part of core computer science curriculums in colleges and universities across the world. While I do not at all dispute the fact that those initiatives are necessary and valuable, I also can't help but wonder if that's the best and only way.

What if we focused more on the use of declarative programming models as the style of choice when writing applications deployed on cloud environments? In this way developers write applications that tell the cloud platform what they want to do and it's up to that platform to decide exactly how to do it. This approach means that developers do not need deep knowledge on how to best harness the often times massive and complex underlying infrastructure of a cloud platform to meet their needs. Instead the cloud platform makes decisions, being presumably much more equipped to do so, about how to most efficiently take the action the user is requesting.

To me this approach is a win-win for developers and cloud platform providers. Obviously developers can get back to focusing on the business logic they are trying to provide, and cloud platform providers have more control over exactly how its resources are leveraged which can only help in terms of meeting user demands and SLAs. I acknowledge that declarative programming techniques will also be a new set of skills for some developers, but to me this seems more easily achieved than learning how to best use complex cloud environments within application code. I say we put the burden for leveraging massive compute resources squarely on the shoulders of the cloud platforms.

More Stories By Dustin Amrhein

Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at http://dustinamrhein.ulitzer.com. You can follow him on Twitter at http://twitter.com/damrhein.

IoT & Smart Cities Stories
Intel is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley. It is the world's second largest and second highest valued semiconductor chip maker based on revenue after being overtaken by Samsung, and is the inventor of the x86 series of microprocessors, the processors found in most personal computers (PCs). Intel supplies processors for computer system manufacturers such as Apple, Lenovo, HP, and Dell. Intel also manufactu...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Darktrace is the world's leading AI company for cyber security. Created by mathematicians from the University of Cambridge, Darktrace's Enterprise Immune System is the first non-consumer application of machine learning to work at scale, across all network types, from physical, virtualized, and cloud, through to IoT and industrial control systems. Installed as a self-configuring cyber defense platform, Darktrace continuously learns what is ‘normal' for all devices and users, updating its understa...
AI and machine learning disruption for Enterprises started happening in the areas such as IT operations management (ITOPs) and Cloud management and SaaS apps. In 2019 CIOs will see disruptive solutions for Cloud & Devops, AI/ML driven IT Ops and Cloud Ops. Customers want AI-driven multi-cloud operations for monitoring, detection, prevention of disruptions. Disruptions cause revenue loss, unhappy users, impacts brand reputation etc.
Apptio fuels digital business transformation. Technology leaders use Apptio's machine learning to analyze and plan their technology spend so they can invest in products that increase the speed of business and deliver innovation. With Apptio, they translate raw costs, utilization, and billing data into business-centric views that help their organization optimize spending, plan strategically, and drive digital strategy that funds growth of the business. Technology leaders can gather instant recomm...
OpsRamp is an enterprise IT operation platform provided by US-based OpsRamp, Inc. It provides SaaS services through support for increasingly complex cloud and hybrid computing environments from system operation to service management. The OpsRamp platform is a SaaS-based, multi-tenant solution that enables enterprise IT organizations and cloud service providers like JBS the flexibility and control they need to manage and monitor today's hybrid, multi-cloud infrastructure, applications, and wor...
The Master of Science in Artificial Intelligence (MSAI) provides a comprehensive framework of theory and practice in the emerging field of AI. The program delivers the foundational knowledge needed to explore both key contextual areas and complex technical applications of AI systems. Curriculum incorporates elements of data science, robotics, and machine learning-enabling you to pursue a holistic and interdisciplinary course of study while preparing for a position in AI research, operations, ...
After years of investments and acquisitions, CloudBlue was created with the goal of building the world's only hyperscale digital platform with an increasingly infinite ecosystem and proven go-to-market services. The result? An unmatched platform that helps customers streamline cloud operations, save time and money, and revolutionize their businesses overnight. Today, the platform operates in more than 45 countries and powers more than 200 of the world's largest cloud marketplaces, managing mo...
I spend a lot of time helping organizations to “think like a data scientist.” My book “Big Data MBA: Driving Business Strategies with Data Science” has several chapters devoted to helping business leaders to embrace the power of data scientist thinking. My Big Data MBA class at the University of San Francisco School of Management focuses on teaching tomorrow’s business executives the power of analytics and data science to optimize key business processes, uncover new monetization opportunities an...
Trend Micro Incorporated, a global leader in cybersecurity solutions, helps to make the world safe for exchanging digital information. Our innovative solutions for consumers, businesses, and governments provide layered security for data centers, cloud workloads, networks, and endpoints. All our products work together to seamlessly share threat intelligence and provide a connected threat defense with centralized visibility and investigation, enabling better, faster protection. With more than 6,00...