collaboration services - служб связи и совместной работы
Vocabulary
Cloud computing –Облачные вычисления -
cloud providers - облачные провайдеры
recover data - восстановить данные
Host websites and blogs - Веб-сайты и блоги
Analyze data for patterns - Анализ данных для шаблонов
computing power – вычислительная мощность
Bandwidth - полосы пропускания
“racking and stacking” - «стеллажей и штабелирования»
Deliver software on demand - предоставлять ПО по требованию
Datacenter - центр обработки данных
the round-the-clock electricity for power and cooling - круглосуточное питание и охлаждение
cloud computing services – услуги облачных вычислений
Workload –рабочая нагрузка
other time-consuming IT management chores - другие трудоемкие задачи по управлению ИТ
Stack - стек
What is a Data Centre?
A data centre is a network of computing and storage resources enabling the delivery of shared software applications and data. In the world of enterprise IT, the data centre supports business applications. These range from simple email and file sharing, through to customer relationship management (CRM) and enterprise resource planning (ERP) to Big Data, communications and collaboration services.
Big Data
Big Data is larger, more complex data sets, especially from new data sources. These data sets are so voluminous that traditional data processing software just can’t manage them. But these massive volumes of data can be used to address business problems you wouldn’t have been able to tackle before.
How a data centre works
The core components of a data centre are as follows:
Network infrastructure that connects servers (including virtualised servers), data centre services, storage, and external connectivity to end-user locations
Storage infrastructure that provides storage arrays to store the ‘fuel’ of the data centre – data
Computing resources – the servers that provide processing, memory, local storage, and network connectivity for the ‘engines’ of the data centre – applications
Data centre services are typically deployed to protect the performance and integrity of the core data centre components. This layer can include:
Network security – such as firewall and intrusion protection, to safeguard the ‘fuel’ and ‘engines’ of the data centre
Application delivery – providing application resiliency and availability, via automatic failover, and load balancing to maintain application performance
All of these elements reside in one place, where physical racks and cabling are used to organise and interconnect them.
The facility itself provides power distribution and subsystems including electrical switching, uninterruptable power supplies (UPS) and backup generators, as well as adequate ventilation, environmental controls, and fire suppression. It also provides physical security, including access control.
Infrastructure evolution – from mainframes to cloud applications
Computing infrastructure has experienced three macro ‘waves of evolution’ over the last 65 years:
The first wave saw the shift from proprietary mainframes to x86-based servers, based on premises and managed by internal IT teams.
A second wave saw widespread virtualisation of the infrastructure that supported applications. This allowed for improved use of resources and mobility of workloads across pools of physical infrastructure.
The third wave finds us in the present, where we are seeing the move to cloud, hybrid cloud and cloud-native. The latter describes applications born in the cloud.
Distributed network of applications
This evolution has given rise to distributed computing. This is where data and applications are distributed among disparate systems, connected and integrated by network services and interoperability standards to function as a single environment. It has meant the term ‘data centre’ is now used to refer to the department that has responsibility for these systems irrespective of where they are located.
Organisations can choose to build and maintain their own hybrid cloud data centres, lease space within co-location facilities (colos), consume shared compute and storage services, or use public cloud-based services. The net effect is that applications today no longer reside in just one place. They operate in multiple public and private clouds, managed offerings, and traditional environments. In this ‘multicloud’ era, the data centre has become vast and complex, geared to drive the ultimate user experience.
What is cloud computing?
Cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics and more—over the Internet (“the cloud”). Companies offering these computing services are called cloud providers and typically charge for cloud computing services based on usage, similar to how you are billed for water or electricity at home.
Still foggy on how cloud computing works and what it is for?
Uses of cloud computing
You are probably using cloud computing right now, even if you don’t realise it. If you use an online service to send email, edit documents, watch movies or TV, listen to music, play games or store pictures and other files, it is likely that cloud computing is making it all possible behind the scenes. The first cloud computing services are barely a decade old, but already a variety of organisations—from tiny startups to global corporations, government agencies to non-profits—are embracing the technology for all sorts of reasons. Here are a few of the things you can do with the cloud:
Create new apps and services
Store, back up and recover data
Host websites and blogs
Stream audio and video
Deliver software on demand
Analyse data for patterns and make predictions
Top benefits of cloud computing
Cloud computing is a big shift from the traditional way businesses think about IT resources. What is it about cloud computing? Why is cloud computing so popular? Here are 6 common reasons organisations are turning to cloud computing services:
1. Cost
Cloud computing eliminates the capital expense of buying hardware and software and setting up and running on-site datacenters—the racks of servers, the round-the-clock electricity for power and cooling, the IT experts for managing the infrastructure. It adds up fast.
2. Speed
2. Speed
Most cloud computing services are provided self service and on demand, so even vast amounts of computing resources can be provisioned in minutes, typically with just a few mouse clicks, giving businesses a lot of flexibility and taking the pressure off capacity planning.
3.Global scale
The benefits of cloud computing services include the ability to scale elastically. In cloud speak, that means delivering the right amount of IT resources—for example, more or less computing power, storage, bandwidth—right when its needed and from the right geographic location.
4. Productivity
4. Productivity
On-site datacenters typically require a lot of “racking and stacking”—hardware set up, software patching and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so IT teams can spend time on achieving more important business goals.
5. Performance
The biggest cloud computing services run on a worldwide network of secure datacenters, which are regularly upgraded to the latest generation of fast and efficient computing hardware. This offers several benefits over a single corporate datacenter, including reduced network latency for applications and greater economies of scale.
Types of cloud services: IaaS, PaaS, SaaS
Most cloud computing services fall into three broad categories: infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (Saas). These are sometimes called the cloud computing stack, because they build on top of one another. Knowing what they are and how they are different makes it easier to accomplish your business goals.
Infrastructure-as-a-service (IaaS)
The most basic category of cloud computing services. With IaaS, you rent IT infrastructure—servers and virtual machines (VMs), storage, networks, operating systems—from a cloud provider on a pay-as-you-go basis. To learn more, see What is IaaS?
Platform as a service (PaaS)
Platform as a service (PaaS)
Platform-as-a-service (PaaS) refers to cloud computing services that supply an on-demand environment for developing, testing, delivering and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network and databases needed for development. To learn more, see What is PaaS?
Software as a service (SaaS)
Software-as-a-service (SaaS) is a method for delivering software applications over the Internet, on demand and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their phone, tablet or PC. To learn more, see What is SaaS?
Infrastructure as a service (IaaS)
Infrastructure as a service (IaaS) is an instant computing infrastructure, provisioned and managed over the Internet. Quickly scale up and down with demand and pay only for what you use.
IaaS helps you avoid the expense and complexity of buying and managing your own physical servers and other datacenter infrastructure. Each resource is offered as a separate service component and you only need to rent a particular one for as long as you need it. The cloud computing service provider manages the infrastructure, while you purchase, install, configure and manage your own software—operating systems, middleware and applications.
Test and development. Teams can quickly set up and dismantle test and development environments, bringing new applications to market faster. IaaS makes it quick and economical to scale up dev-test environments up and down.
Website hosting. Running websites using IaaS can be less expensive than traditional web hosting.
Storage, backup and recovery. Organisations avoid the capital outlay for storage and complexity of storage management, which typically requires a skilled staff to manage data and meet legal and compliance requirements. IaaS is useful for handling unpredictable demand and steadily growing storage needs. It can also simplify planning and management of backup and recovery systems.
Web apps. IaaS provides all the infrastructure to support web apps, including storage, web and application servers and networking resources. Organisations can quickly deploy web apps on IaaS and easily scale infrastructure up and down when demand for the apps is unpredictable.
High-performance computing. High-performance computing (HPC) on supercomputers, computer grids or computer clusters helps solve complex problems involving millions of variables or calculations. Examples include earthquake and protein folding simulations, climate and weather predictions, financial modeling and evaluating product designs.
Big data analysis. Big data is a popular term for massive data sets that contain potentially valuable patterns, trends and associations. Mining data sets to locate or tease out these hidden patterns requires a huge amount of processing power, which IaaS economically provides.
Advantages of IaaS
Eliminates capital expense and reduces ongoing cost. IaaS sidesteps the upfront expense of setting up and managing an on-site datacenter, making it an economical option for start-ups and businesses testing new ideas.
Improves business continuity and disaster recovery. Achieving high availability, business continuity and disaster recovery is expensive, since it requires a significant amount of technology and staff. But with the right service level agreement (SLA) in place, IaaS can reduce this cost and access applications and data as usual during a disaster or outage.
Innovate rapidly. As soon as you have decided to launch a new product or initiative, the necessary computing infrastructure can be ready in minutes or hours, rather than the days or weeks—and sometimes months—it could take to set up internally.
Advantages of IaaS
Respond quicker to shifting business conditions. IaaS enables you to quickly scale up resources to accommodate spikes in demand for your application— during the holidays, for example—then scale resources back down again when activity decreases to save money.
Focus on your core business. IaaS frees up your team to focus on your organisation’s core business rather than on IT infrastructure.
Increase stability, reliability and supportability. With IaaS there is no need to maintain and upgrade software and hardware or troubleshoot equipment problems. With the appropriate agreement in place, the service provider assures that your infrastructure is reliable and meets SLAs.
Better security. With the appropriate service agreement, a cloud service provider can provide security for your applications and data that may be better than what you can attain in-house.
Gets new apps to users faster. Because you don’t need to first set up the infrastructure before you can develop and deliver apps, you can get them to users faster with IaaS.
Platform as a service (PaaS)
Platform as a service (PaaS) is a complete development and deployment environment in the cloud, with resources that enable you to deliver everything from simple cloud-based apps to sophisticated, cloud-enabled enterprise applications. You purchase the resources you need from a cloud service provider on a pay-as-you-go basis and access them over a secure Internet connection.
Like IaaS, PaaS includes infrastructure—servers, storage and networking—but also middleware, development tools, business intelligence (BI) services, database management systems and more. PaaS is designed to support the complete web application lifecycle: building, testing, deploying, managing and updating.
PaaS allows you to avoid the expense and complexity of buying and managing software licenses, the underlying application infrastructure and middleware or the development tools and other resources. You manage the applications and services you develop and the cloud service provider typically manages everything else.
Common PaaS scenarios
Organisations typically use PaaS for these scenarios:
Development framework. PaaS provides a framework that developers can build upon to develop or customise cloud-based applications. Similar to the way you create an Excel macro, PaaS lets developers create applications using built-in software components. Cloud features such as scalability, high-availability and multi-tenant capability are included, reducing the amount of coding that developers must do.
Analytics or business intelligence. Tools provided as a service with PaaS allow organisations to analyse and mine their data, finding insights and patterns and predicting outcomes to improve forecasting, product design decisions, investment returns and other business decisions.
Additional services. PaaS providers may offer other services that enhance applications, such as workflow, directory, security and scheduling.
Advantages of PaaS
By delivering infrastructure as a service, PaaS offers the same advantages as IaaS. But its additional features—middleware, development tools and other business tools—give you more advantages:
Cut coding time. PaaS development tools can cut the time it takes to code new apps with pre-coded application components built into the platform, such as workflow, directory services, security features, search and so on.
Add development capabilities without adding staff. Platform as a Service components can give your development team new capabilities without your needing to add staff having the required skills.
Develop for multiple platforms—including mobile—more easily. Some service providers give you development options for multiple platforms, such as computers, mobile devices and browsers making cross-platform apps quicker and easier to develop.
Use sophisticated tools affordably. A pay-as-you-go model makes it possible for individuals or organisations to use sophisticated development software and business intelligence and analytics tools that they could not afford to purchase outright.
Support geographically distributed development teams. Because the development environment is accessed over the Internet, development teams can work together on projects even when team members are in remote locations.
Efficiently manage the application lifecycle. PaaS provides all of the capabilities that you need to support the complete web application lifecycle: building, testing, deploying, managing and updating within the same integrated environment.
Software as a service (SaaS)
Software as a service (SaaS) allows users to connect to and use cloud-based apps over the Internet. Common examples are email, calendaring and office tools (such as Microsoft Office 365).
SaaS provides a complete software solution which you purchase on a pay-as-you-go basis from a cloud service provider. You rent the use of an app for your organisation and your users connect to it over the Internet, usually with a web browser. All of the underlying infrastructure, middleware, app software and app data are located in the service provider’s data center. The service provider manages the hardware and software and with the appropriate service agreement, will ensure the availability and the security of the app and your data as well. SaaS allows your organisation to get quickly up and running with an app at minimal upfront cost.
If you have used a web-based email service such as Outlook, Hotmail or Yahoo! Mail, then you have already used a form of SaaS. With these services, you log into your account over the Internet, often from a web browser. The email software is located on the service provider’s network and your messages are stored there as well. You can access your email and stored messages from a web browser on any computer or Internet-connected device.
The previous examples are free services for personal use. For organisational use, you can rent productivity apps, such as email, collaboration and calendaring; and sophisticated business applications such as customer relationship management (CRM), enterprise resource planning (ERP) and document management. You pay for the use of these apps by subscription or according to the level of use.
Advantages of SaaS
Gain access to sophisticated applications. To provide SaaS apps to users, you don’t need to purchase, install, update or maintain any hardware, middleware or software. SaaS makes even sophisticated enterprise applications, such as ERP and CRM, affordable for organisations that lack the resources to buy, deploy and manage the required infrastructure and software themselves.
Pay only for what you use. You also save money because the SaaS service automatically scales up and down according to the level of usage.
Use free client software. Users can run most SaaS apps directly from their web browser without needing to download and install any software, although some apps require plugins. This means that you don’t need to purchase and install special software for your users.
Mobilise your workforce easily. SaaS makes it easy to “mobilise” your workforce because users can access SaaS apps and data from any Internet-connected computer or mobile device. You don’t need to worry about developing apps to run on different types of computers and devices because the service provider has already done so. In addition, you don’t need to bring special expertise onboard to manage the security issues inherent in mobile computing. A carefully chosen service provider will ensure the security of your data, regardless of the type of device consuming it.
Access app data from anywhere. With data stored in the cloud, users can access their information from any Internet-connected computer or mobile device. And when app data is stored in the cloud, no data is lost if a user’s computer or device fails.
Types of cloud deployments
Types of cloud deployments: public, private, hybrid
Not all clouds are the same. There are three different ways to deploy cloud computing resources: public cloud, private cloud and hybrid cloud.
Public cloud
Public clouds are owned and operated by a third-party cloud service provider, which deliver their computing resources like servers and storage over the Internet. Microsoft Azure is an example of a public cloud. With a public cloud, all hardware, software and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser.
Private cloud
Private cloud
A private cloud refers to cloud computing resources used exclusively by a single business or organisation. A private cloud can be physically located on the company’s on-site datacenter. Some companies also pay third-party service providers to host their private cloud. A private cloud is one in which the services and infrastructure are maintained on a private network.
Hybrid cloud
Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, hybrid cloud gives businesses greater flexibility and more deployment options.
Cloud computing services all work a little differently, depending on the provider. But many provide a friendly, browser-based dashboard that makes it easier for IT professionals and developers to order resources and manage their accounts. Some cloud computing services are also designed to work with REST APIs and a command-line interface (CLI), giving developers multiple options.
Microsoft and cloud computing
Microsoft is a leading global provider of cloud computing services for businesses of all sizes. To learn more about our cloud platform, Microsoft Azure and how it compares to other cloud providers,
Azure is productive for developers
Get your apps to market faster. Azure integrated tools, from mobile DevOps to serverless computing support your productivity. Build the way you want to, using the tools and open source technologies you already know. Azure supports a range of operating systems, programming languages, frameworks, databases and devices.
Continuously innovate and deliver high-quality apps.
Provide cross-device experiences with support for all major mobile platforms.
Run any stack, Linux-based or Windows-based and use advanced capabilities such as Kubernetes cluster in Azure Container Service.
Azure is the only consistent hybrid cloud
Build and deploy wherever you want with Azure, the only consistent hybrid cloud on the market. Connect data and apps in the cloud and on-premises—for maximum portability and value from your existing investments. Azure offers hybrid consistency in application development, management and security, identity management and across the data platform.
Extend Azure on-premises and build innovative, hybrid apps with Azure Stack.
Connect on-premises data and apps to overcome complexity and optimise your existing assets.
Distribute and analyse data seamlessly across cloud and on-premises.
Workload Management
Internet applications => dynamic workloads
How much capacity to allocate to an application?
Incorrect workload estimate: over- or under-provision capacity
Major issue for internet facing applications
Workload surges / flash crowds cause overloads
Long-term incremental growth (workload doubles every few months for many newly popular apps)
Traditional approach: IT admins estimate peak workloads and provision sufficient servers
Flash-crowd => react manually by adding capacity
– Time scale of hours: lost revenue, bad publicity for application
Dynamic Provisioning
Dynamic Provisioning
Track workload and dynamically provision capacity
Monitor -> Predict -> Provision
Predictive versus reactive provisioning
Predictive: predict future workload and provision
Reactive: react whenever capacity falls short of demand
Traditional data centers: bring up a new server
Borrow from Free pool or reclaim under-used server
Virtualized data center: exploit virtualization to speed up application startup time
How is this done?
.
Energy Management in DataCenters
Energy Management in DataCenters
Energy: major component of operational cost of data centers
Large data centers have energy bills of several million $.
Where does it come from?
Power for servers and cooling
Data centers also have a large carbon footprint
How to reduce energy usage?
Need energy-proportional systems
Energy proportionality: energy use proportional to load
But: current hardware not energy proportional
.
Energy Management
Energy Management
Many approaches possible
Within a server:
Shut-down certain components (cores, disks) when idling or at low loads
Use DVFS for CPU
Most effective: shutdown servers you don’t need
Consolidate workload onto a smaller # of servers
Turn others off
Thermal management: move workload to cooling or move cooling to where workloads are
Cloud computing is the new trend of computing where readily available computing resources are exposed as a service. These computing resources are generally offered as pay-as-you-go plans and hence have become attractive to cost conscious customers. Apart from the cost, cloud computing also supports the growing concerns of carbon emissions and environmental impact since the cloud advocates better management of resources. We see a growing trend of off-loading the previously in-house service systems to the cloud, based primarily on the cost and the maintenance burden. Such a move allows businesses to focus on their core competencies and not burden themselves with back office operations.
3.Main terms and concepts of mobile technologies. Mobile services. Standards of mobile technologies.
Mobile computing is a relatively new field. While the challenges arising from mobility and the limitations of the portable devices are relatively well understood, there is no consensus yet as to what should be done to address these challenges. A comprehensive solution has to address many different aspects, such as the issue of dynamically changing bandwidth, the power, computational, and other limitations of the portable devices, or the varying availability of services in different environments. A Mobile service is pro- grammable application logic accessible using standard Internet protocols.
Mobile services combine the best aspects of component based development and the web. Like components, Mobile services represent black-box functionality that can be reused without knowing about how the service is implemented. Unlike current component technologies, Mobile services are not accessed via object-model-specific protocol.
Service-Oriented Architecture (SOA) is a new software development paradigm introduced by recent research surrounding mobile services. SOA features [1, 2]
Uniform data marshaling protocol (via Simple Object Access Protocol: SOAP and eXtensible Markup Language: XML),
Standard communication infrastructure (via Mobile service Definition Language: WSDL and HyperText Transfer Protocol: HTTP), and
Service query facility (via Universal Description, Discovery, and Integration: UDDI).
This architecture includes a service area tier to offer necessary roles and functionality for the consolidation of multiple services into a single composite service based on component. The component consists of security facade component and backside component. It also provides a tier for service operations management that can be used to monitor the correctness and overall functionality of aggregated/orchestrated services. Finally, we explained how component architecture model of mobile service-security can be used to implement the security mobile service. The mobile applications support a much wider range of activities than desktop applications and leverage information about the user’s environment to provide novel capabilities.
From a technology perspective, mobility shifts the global computing infrastructure from static, homogenous, powerful desktop computers to highly dynamic, heterogeneous, resource-constrained handheld and wearable computers. This new computing context demands entirely new software architectural paradigms that address the challenges of mobile software development, are specialized for the nature of mobile devices and wireless networks, and take advantage of the opportunities afforded by mobile systems. Mobile software is computing functionality designed to migrate across hardware devices at runtime and execute on mobile hardware platforms. The principles of software architecture are intrinsic to the development environments and run- time platforms that support mobile software models and processes. We motivated the architecture by classifying likely mobile applications and identified common properties. The architecture intends to be more general than previous work with respect to adaptability, flexibility, and user mobility.