Cloud Software       


IBM Blockchain

Cloud is an ecosystem of services that enables rapid prototyping, scalability, resiliency, and iterative evolution of software applications. Thanks to cloud computing, developers do not need to worry about infrastructure or how their software is organized and managed. Instead, they can focus on developing their core ideas. 
 
For example, a fundamental principle in software evolution is modularity. Cloud computing takes modularity to the next level, allowing one organization to offer its capabilities as cloud services accessible via APIs. To increase the speed of innovation, a developer can compose many different APIs. API-driven composability allows organizations to immediately take advantage of other organizations' innovations, thus speeding up the evolution of their services.
 
While cloud is the preferred platform for software innovation, challenges remain. For one, cloud needs to efficiently support innovation in computation-heavy emerging areas such as artificial intelligence. Two, it needs to allow developers to safely integrate capabilities across multiple organizations. Finally, it needs to guarantee privacy, integrity, and regulatory compliance for applications and data. These challenges require innovation in systems, programming models and algorithms.

Our research seeks to develop technologies that will enable cloud to become the most efficient and most secure platform for modern workloads, including data analysis, machine learning and deep learning. We study system architectures and distributed platforms for these workloads, container technologies for application portability and security, programming models, software architecture paradigms, networking and storage, all with an eye to enabling resiliency, agility, and holistic security.
 
Projects that IBM researchers are working on include:
 
Container Cloud Operating System. Containers, consisting of the entire run-time environment, serve as the primary means of workload virtualization and isolation, and will run directly on the host operating system. We use efficient packaging formats, such as Docker, to enable unprecedented workload portability across a hybrid cloud. Moreover, lightweight container design leads to high resource utilization and much improved DevOps functionality. And container transparency allows a cloud provider to gain insight into applications security, compliance, and performance, enabling new kinds of user-facing application-centric services. Check out the initial results of our experiments in IBM Containers in Bluemix. Specifically, try our Vulnerability Advisor for images and live containers.
 
Cloud native DevOps and Microservices are primarily motivated by the quest for agility, which we define as innovation with speed and insight. Microservice architecture embraces a collection of software design principles that call for decoupling of unrelated business functions into separate API endpoints. But API-driven composability comes with the risk of one service affecting the quality of another service, or may lead to exposure of sensitive data to unauthorized parties. Technologies and methodologies must be developed to achieve development agility with less of this kind of risk. They include dynamic discovery and binding of endpoints, built-in fault tolerance, state separation, elasticity, canary updates, resilience testing, access trail, security analytics and enforcement -- all in support of agility, quality and robustness. We develop these capabilities by leveraging our open source implementation of Microservice architecture, Amalgam8.
 
Programming models and serverless computing.  "Serverless programming" is an emerging programming model for the cloud. In serverless models, the programmer simply registers event handlers and events. The cloud provides a platform that dispatches handles and scales instantaneously, while charging for resources at a millisecond granularity. We pioneered the OpenWhisk serverless computing platform, now available as an open-source incubator project from Apache and deployed in the IBM Bluemix Cloud. OpenWhisk provides the industry's most advanced programming model for composition of serverless functions, combining concepts from publish-subscribe, functional programming, and event-based programming. Our Research team is developing the next generation of serverless programming, including integration of stateful and streaming programs; system implementation technologies; and tools and methodologies for accelerating serverless application development.
 
API Economy. Software as a Service offerings live at the highest level of the cloud. Sound API strategy helps these offerings build a user ecosystem. Our Research team is investigating all aspects of the API economy. On the provider side we are working to  transform our offerings, building frameworks to manage subscriptions, manage APIs, and create unified developer experiences. We are also rethinking the design of APIs based on new API models and approaches for composition. On the consumption side, we are combining discovery, data mining, and software engineering techniques to find, learn about and use APIs. Our service API Harmony available in Bluemix  has been mining APIs in the internet, capturing their attributes and extracting lessons learned from large code repositories. We are also interested in gaining greater insights into API usage at runtime, helping applications manage their costs and understanding their API usage. We continue to evolve our thinking about marketplaces and how to project the APIs in these environments, with a focus on new subscription, security, and API management techniques.
 
Deep-learning and machine-learning platform
Neural network-based AI models have become the gold standard for deriving insights from real-world data. However, building and training such models is expensive, time-consuming, and fraught with complexities. Our mission is to enable multi-node, GPU-accelerated training and fast experimentation in the IBM Cloud. We innovate at the intersection of AI, programming models, DevOps tools, cloud middleware and infrastructure. We focus on making the initiation, monitoring, visualization of jobs and management of models easy, hence hiding the configuration and management complexity from the user.
 
Cloud Security
In the near future, cloud will emerge as the most secure platform to run sensitive workloads. Economies of scale, standardization, and consolidated expertise will transform the area of security, just as they changed infrastructure management. In the cloud a single vendor has full-stack control. As a result, all layers of the cloud can be co-designed with security as a goal. Our innovations include new hardware and operating system capabilities to leverage hardware security features. They also consist of new container-focused runtimes, which simplify the software stack, making it easier to manage, easier to verify, and less prone to vulnerabilities. We use ubiquitous instrumentation and analytics to identify and prioritize areas of security and we offer such services to customers. 

We also do research in these related disciplines:
 
Storage. Our research includes exploratory storage systems; archive systems; autonomic storage management; scale-out file systems; solid state information systems, and storage for clouds and analytics. We are exploring how novel devices can dramatically lower the price of storage and improve performance. Our research has established the foundation for IBM Cloud. We continue to work with customers to understand the breadth and depth of challenges that the software industry requires.
 
Systems design: Our research explores novel systems architectures, processors, and accelerators, which aim to enable high-performance and secure execution of cognitive applications in the cloud. 
 

Image credit: IBM developerWorks

 

Last updated on May 16, 2017