140 likes | 258 Views
Building a distributed cloud infrastructure from the bottom: the SAIL approach to cloud networking. Victor Souza SAIL WPD Leader. Cloud computing Current situation. Clouds are today centered around datacenters Few (massive) datacenters in strategic locations
E N D
Building a distributed cloud infrastructure from the bottom: the SAIL approach to cloud networking Victor Souza SAIL WPD Leader
Cloud computingCurrent situation • Clouds are today centered around datacenters • Few (massive) datacenters in strategic locations • Price of electricity, connectivity, space (land) • Availability of skilled workforce • Avoid natural disaster areas • Regulations • Tax breaks • Delay to reach datacenters may compromise end-user experience • Enterprises will demand performance, reliability, and security
Cloud computingCurrent situation "But when a company like DreamWorks uses cloud services, it can make a big difference how far they are from the cloud. If the cloud is more than about 500 miles away from the artists, there can be problems. Data slows down, and so does the work." [1] Can we do better than that?
Distributed Cloud: Technology Migration Cloud servers in network and at network edges Distributed Cloud native apps Distributed Cloud PaaS Cloud native apps Cloud native apps Cloud native apps DC based clouds Legacy appsin cloud (IaaS) DC Cloud PaaS ApplicationEvolution CDNs Drivers: improved user experience & system performance (through lower latency), new ways to trade off connectivity, processing and storage, greener computing Legacy apps on dedicated servers DC based clouds CDNs Drivers: economies of scale, pay-per-use / scale-with-demand, greener computing, consolidation Apache CDNs ‘00’s Mid ’90’s ’10’s
Cloud networking • Distribute computing and storage resources into the network • Sometimes the data centers are too far away • Maximize end-user experience throughlowerlatency, less congestion, etc. • Reduce the stress over the networkprovidingnetworksavings
What does the distributed cloud mean? • Managing VMs in a datacenter is different from managing VMs in a distributedcloud • Howtodeployapplications in topologicallyadvantageouspoints? • Howtoprovide a unifiedviewofdeployedvirtualresources? • How to provide automated configuration of network? • Howtoallowdeveloperstotakeadvantageofthe distributedcloudwithouthavingtoknowmuchabout the topologyofthatcloud?
Architecture • CloNe started from the bottom • Resources Infrastructure Services Distributed Infrastructure Services Distributed Infrastructure Services Datacenter Distributed cloud Datacenter
Architecture • Interfaces provide a way to control and manage resources • Specialized sub-systems (e.g., hypervisor) • Infrastructure services (e.g., OCCI) • Client Interface (aggregated service, high level description of application goals) DistributedInfrastructure Services Datacenter Distributed cloud Datacenter
Architecture implementation • Candidate 1: centralized scheme which knows the topology/status of all providers could make optimal decisions but is unlikely; • Candidate 2: distributed schemes where each provider network is treated as a black box with internal decision making with • Candidate 2a: still one instance negotiates with all providers for a request (hierarchical or broker) • Candidate 2b: fully distributed negotiation between providers for a given request (peering) Distributed Infrastructure Services Distributed cloud Datacenter Datacenter
Client interface • The interface to the distributed cloud should take as input the requirements of the application • E.g., minimize delay to the user, minimize network utilization. • The customer of the cloud could specify the requirements of its application as an annotated graph • The cloud should ensure those requirements are always met during execution of the application VM A VM B VM C Max 100 msdelay Customer is not aware of the topology of the physical infrastructure
Interface to the distributed cloud • Type of information that could be requested: • A node in Japan connected at 1Gbps • A node near existing node X • A node Y miliseconds away from node Z • A node within European jurisdiction • Resource manager will search for candidate optimization solutions to that problem (graph embedding problem)
Conclusion • The distributed cloud improves user experience and system performance, relying less on the underlying network • The distributed cloud shifts the complexity of distributing applications onto the platform • Applications get simpler, cloud platform gets more complex