Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

Wednesday, July 10, 2019

My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composition and Workflow Placement

I successfully defended my Ph.D. thesis at IST (Tecnico) - ULisboa, Lisbon, Portugal on the 1st of July 2019. I passed with a distinction. My presentation slides and the abstract are given below.


Composing complex workflows efficiently from diverse services on the Internet requires communication and coordination across heterogeneous execution environments, ranging from data centers and clouds to the edge managed by different infrastructure providers. Through complete virtualization of network and its services, network softwarization provides efficient management of network architecture. This dissertation exploits the flexibility and management benefits of the network softwarization to solve the problems of service composition and workflow placement at Internet scale. We present two main contributions: first, a set of extensions to network softwarization to simplify and enhance application development and deployment, and second, a scalable architecture to compose service chains in wide area networks. Finally, we evaluate these contributions in the context of big data applications. We thus intend to mitigate the challenges concerning resource management and interoperability of heterogeneous infrastructures, to efficiently compose and schedule various service workflows at Internet scale, while sharing the network and the computing resources among several users.

Network Softwarization revolutionizes the network landscape in various stages, from building, incrementally deploying, and maintaining the environment. Software-Defined Networking (SDN) and Network Functions Virtualization (NFV) are two core tenets of network softwarization. SDN offers a logically centralized control plane by abstracting away the control of the network devices in the data plane. NFV virtualizes dedicated hardware middleboxes and deploys them on top of servers and data centers as network functions. Despite its growing application, network softwarization has not been fully exploited for effectively composing service workflows of multiple users sharing third-party network infrastructures and services. To this end, we propose our contributions to extend network softwarization for network-aware service composition and workflow placement in heterogeneous infrastructures.

First, we separate network from infrastructure by exploiting network softwarization to move out of data centers toward the edge seamlessly, and from simulations to actual deployments, with little or no additional development effort. We extend SDN in cloud and data center environments to unify various phases of development, by uniformly managing the executions of the network applications from an extended SDN controller, regardless of the execution environment and phase. We thus deploy the workloads seamlessly across the phases, from simulations and emulations to physical deployment environments. We further extend this work to support multiple Service Level Agreements (SLAs) across diverse network flows in data centers, by selectively enforcing redundancy on the network flows. Thus, we aim for Quality of Service (QoS) and efficient resource provisioning, while adhering to user policies. Finally, we design a cloud-assisted overlay network, as a latency-aware virtual connectivity provider. Consequently, we propose cost-efficient data transfers and workflow executions at Internet scale.

Second, we propose a scalable architecture to compose service chains in wide area networks efficiently. We exploit SDN and Message-Oriented Middleware (MOM) for a logically centralized composition and execution of service workflows. We thus propose a Software-Defined Service Composition (SDSC) framework for web service compositions, Network Service Chains (NSCs), and a network-aware execution of data services. We further present Software-Defined Systems (SDS) consisting of virtual network allocation strategies for multi-tenant service executions in large-scale networks comprised of multiple domains.

Finally, we investigate how our proposed SDS can operate efficiently for real-world application scenarios of heterogeneous infrastructures. While traditionally web services are built following standards and best practices such as Web Services Description Language (WSDL), network services and data services offered by different service providers often fall short in providing common Application Programming Interfaces (APIs), thus resulting in vendor lock-in. We look into facilitating interoperability across service implementations and deployments, to enable seamless workflow executions and service migrations. We propose big data applications and smart environments such as Cyber-Physical Systems (CPS) and the Internet of Things (IoT) as our two application scenarios. We thus build CPS and big data applications as composable service chains, offering them an interoperable execution.

Our research contributions highlight that network softwarization can be used to build and deploy network applications with minimal repetitive effort, from initial design and development stages to production. Evaluations on the proposed SDS demonstrate performance and economic benefits to service composition and workflow placement at various scales, from data centers to the Internet. By managing and leveraging redundancy in the network flows and network paths, our SDS prototypes ensure that SLAs are met in the critical network flows of multi-tenant systems. Furthermore, our SDS framework reduces Internet latency by up to 30%, yet in an economic approach. Finally, we elaborate the broader applicability of our proposed SDS by extending it to CPS and big data applications.

Monday, August 8, 2011

WSO2 StratosLive ~ An Enterprise Ready Java PaaS

Fig 1. stratoslive.wso2.com landing page.
What is StratosLive?
StratosLive is a Platform as a Service, which is the public deployment of the WSO2's Cloud Middleware Platform Stratos-1.5.1.

As the successor of WSO2 Stratos - 1.0.0 public cloud set up, WSO2 StratosLive has been released with much new and more improved features, including Billing, throttling, service aware dynamic load balancing, more improved autoscaling, logging, and much more improved user experience, targeting the architects, SaaS developers, enterprises, researchers, and for any one who needs an enterprise SOA middleware platform as a service.



Starting with StratosLive
Fig 2. Sign in page
 You can register a tenant at StratosLive, which includes a free demo, SMB (Small Medium Business), Professional, and Enterprise usage plans based on the needs of your enterprise. Pricing information can be found here. You have to pick a usage plan during the tenant registration. However, you can simply upgrade or downgrade your account based on your requirements later.

You might register a tenant, or login using your Google Apps Account. Let's see how to register a tenant  in StratosLive. 




Registering a tenant
Fig 3. Registering a tenant.
Now let's register a tenant for your organization in StratosLive (Fig 3).  First you have to pick a domain name for your tenant. An admin account will be created along with the tenant creation. Your username will be in the form of admin-name@domain-name. So that should be the username to be used to log in to your account. Pls note, it should not be confused with your email address.






Domain Validation
Fig 4. Domain Validation
If you are the owner or the admin of the domain, you should consider validating the domain during the registration time (Fig 4), such that you can be sure that your tenant will always be associated to your domain, preventing others from claiming your domain. However domain validation is optional, and can be done later, once you have registered and signed in.








Email Validation
Fig 5. Successfully Registered

After giving the information required, you can click 'Submit' to proceed with registering. Once you have successfully registered (Fig 5), a confirmation mail will be sent to the email address provided by you during the registration, within a minute or two.

Click the link provided in the mail. That will confirm your email address and validate your account (Fig 6).  Pls note, unlike the domain validation, email validation is mandatory to log in and use your tenant account in StratosLive. So pls make sure to find the mail and validate your account, soon. If you did not receive the mail, check whether that ended up in the spam folder. If it is not even there, you might consider contacting WSO2 Support or the StratosLive forum.


Logging in


Fig 6. Successfully Validated
Once validated, you can get back to the log in page (Fig 1 / Fig 2) and log in using your username (adminName@domainName) and password.


After logging in, you will be able to see the list of WSO2 Stratos Services, basically the entire Carbon middleware platform as services, from the dashboard of WSO2 Stratos Manager (Fig 7).







StratosLive Manager and Services
Fig 7. StratosLive manager home.
Now you have more to explore. You can always use the services, as you usually do with the Carbon based products, without feeling any change, with the luxury of having it for you free or with the pay-as-you-go model in the clouds, paying only for what you use. You will be able to access your services from anywhere and everywhere, without bothering to take your computer and services with you.

So still reading? Try it yourself! Sign-up an account NOW!



WSO2 Summer School 2011
As usual, this year too, WSO2 had the Summer School, a series of webinar sessions, tailor-made to fit the enterprise architects, CTOs, developers of the cutting edge technologies using SOA middleware, cloud computing, and more. 
The Session on WSO2 PaaS

Summer School 2011 session on "Platform-as-a-Service, The WSO2 way" is a useful resource to learn more about StratosLive and PaaS. Listen to the Summer School webinar here. You may download the presentation slides from here.



Wednesday, April 7, 2010

xOA and SOA++

Have you ever come across acronyms such as WOA, ROA, ..? Since the success story of SOA (Service Oriented Architecture), many researchers and young enthusiasts have been trying to find more xOA (-Oriented Architectures) that can take SOA a step further (or claim to do so, at least in theory). Here I try to list some of those xOAs. Most of them (WOA, XOA, UOA ..) promise to take SOA to a level higher, or try to pose as an alternative or competitor to SOA.

Just go through these links and have some fun.

AOA (Agent Oriented Architecture)
BOA (Business Oriented Architecture)
COA (Collaboration Oriented Architecture)
DOA (Delegation Oriented Architecture)
EOA (Ecosystem Oriented Architecture)
FOA (Federation Oriented Architecture)
GOA (Goal Oriented Architecture)
HOA (Human Oriented Architecture)
IOA (Information Oriented Architecture)
MOA (Model Oriented Architecure)
POA (Process Oriented Architecture)
ROA (Resource Oriented Architecture)
SOA (Service Oriented Architecture)
UOA (User Oriented Architecture)
VOA (Virtualization Oriented Architecture)
WOA (Web Oriented Architecture)
XOA (Experience Oriented Architecture)

Pls note that there may be some alternative definitions for some of these acronyms as well.