Part I

An Introduction to Microsoft’s Cloud

  • Chapter 1: Welcome to the Cloud
  • Chapter 2: Getting Your Environment Ready for Office 365

Chapter 1

Welcome to the Cloud

What’s in this Chapter

  • Learning the various approaches for cloud computing
  • Learning about factors that impact moving to the cloud
  • Understanding the Microsoft Azure Platform
  • Understanding the Office 365 offering

This chapter helps you gain a better understanding of Microsoft’s two primary cloud technologies—Office 365 and Microsoft Azure. You also learn about various approaches towards cloud computing and how Microsoft aligns its strategy with these approaches. Toward the end, this chapter touches on the various challenges and risks that are associated with cloud computing in general.

An Overview of the Cloud

The word cloud, without any doubt, is one of the most ambiguous words out there in the information technology industry today. You ask ten people about how they define the cloud and you will get ten different replies—what constitutes the cloud is rather complex question. However, there is one common factor that most replies share: Cloud is anything that can be offered as a service for which you don’t need to bother about how it’s implemented and maintained. Also, it’s generally agreed that to utilize the cloud you must have Internet access, without which the concept of cloud does not exist. For the purpose of this book, cloud computing refers to a varied range of scalable services that are available to you on-demand. In order to utilize these services, you need an Internet connection, preferably one with higher bandwidth and low latency. Vendors like Microsoft, IBM, Oracle, and others provide various cloud-based services for which businesses pay as they consume the services.

The concept of service offerings in the Internet world is nothing new. Take, for example, well known e-mail providers (such as AOL, Yahoo, and Microsoft). They offer free services (like POP, IMAP, and so on) as well as other services (like e-mail forwarding and advance spam filters), and additional storage at extra cost. This means consumers are intrinsically comfortable these days with the dynamics behind this service model. What is missing, however, is a detailed view of various approaches that most commercial vendors follow when they offer their cloud services. Later in this chapter you learn more about these approaches.

Why Use the Cloud Now?

You may be wondering why the cloud has gained so much attention in recent years. Perhaps the biggest factor is that it offloads the cost of hardware and software ownership to vendors and allows you to use the cost savings to grow your business. Because information technology is mainly an enabler, cloud carries serious weight as a proposition for many businesses. If you find it difficult to keep up with the hardware and software updates, moving to the cloud makes perfect sense—you avoid upgrades and let someone else handle that work for you.

Another motivation makes the cloud more relevant now than ever before—the low barrier to entry. As more and more Internet-based businesses start up and grow at a greater pace, their growth demands a working model where businesses can pay and expand as they grow rather than making investments up front for capacity that they may not need. For medium and large businesses cloud services offer even more varied solutions. For example, businesses can use cloud services mainly for SDLC and QA purposes and still keep their production environment on-premises. Conversely, if high availability and fault tolerance is desired, cloud services provide an excellent way to mitigate risks in the case of a disaster. Figure 1-1 illustrates these concepts.

Understanding the Cloud Approach to Services

Today, there is a wide spectrum of services available in the cloud, including messaging solutions, collaborative solutions, identity management solutions, storage solutions, customer relationship management, and many more. Major vendors have also released cloud services based on their widely used on-premises software products. For example, Microsoft has released Office 365, which provides an online version of SharePoint Server, Exchange Server, and Lync Server. Microsoft also provides the Windows Azure platform, which makes the Windows Server operating system and other features available as services.

How Pixar Produced Toy Story 3 in 3D in the cloud
When Pixar produced Toy Story 3 in 3D, it faced a real computation challenge. Toy Story 3 is a three-hour movie with approximately 290,000 frames (for 3D) with every frame taking roughly eight hours to completely render. Even with some of the fastest servers in the market it was a real computational challenge for Pixar to process the movie’s visual effects within a reasonable time frame and to keep the cost minimal. This was where cloud computing perfectly fit Pixar’s needs and rescued the project. Pixar chose the Windows Azure Platform to run the rendering software in the cloud, which allows the user to easily increase and decrease the number of servers required for rendering. In fact, Pixar went a step further and offered its rending software as a service to smaller studios that would otherwise have been unable to afford the hardware and software required to render visual effects.

Notice how the Windows operating system (which the Azure Platform offers) and Microsoft Office server and client products (which Office 365 offers) are fundamentally different. An operating system provides a core set of functionality (hence the term platform) and what actually sits on top of it can be practically anything—from an e-commerce website to complex video processing software. However, products such as Microsoft Exchange, which is a messaging solution, provide a well-defined set of features that target specific needs. This leads to an important observation: The number of ways and degrees to which a service is consumed and utilized can vary broadly. To address this in the world of cloud computing there are three different approaches to cloud-based services:

  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)

Infrastructure as a Service (IaaS)

With Infrastructure as a Service (IaaS), you can basically outsource typical elements of infrastructure like virtualization, storage, networking, load balancers and so on, to a vendor of choice. The vendor offering IaaS bills you for the infrastructure services usage as per its service level agreement (SLA). One of the biggest benefits of IaaS is that it provides granular control, in which you can choose the core components for your infrastructure. With the launch of the VM Role on Azure, Microsoft has entered into the IaaS space along with vendors such as Amazon EC2, GoGrid, and OpSource, which already are key players in the IaaS market. For more information on the Azure VM Role, visit www.windowsazure.com/en-us/home/tour/compute.

Platform as a Service (PaaS)

Platform as a Service (PasS) provides a core platform from which custom applications can deploy. With PaaS, you don’t have to work with infrastructure level elements and low level configuration of networking, security, and load balancers; all this is done for you by the vendor. The vendor provides you with a fully functional operating system with major platform software. For example, the Microsoft Azure platform provides support for the latest version of the .NET framework. This type of service offering means you can focus on deploying your custom applications on the platform and can easily configure your applications to scale up or down as demands change.

One of the key advantages of PaaS is that you don’t have to worry about performing operating system or application platform updates (for example, service packs) and hardware upgrades. The vendor regularly patches your operating system, whatever platform features are being offered (such as the core .NET platform or SQL database engine) and updates hardware on demand to meet your needs. Microsoft offers the Azure platform as a PaaS because it supports various types of Worker Roles and different types of applications. For example, you can run web applications with the Web Role, as well as host middle tier applications, such as Workflow, in the Worker Role. Similarly, SQL Azure provides Microsoft’s core relational database engine as a platform service. For more information about the Windows Azure Platform, visit www.windowsazure.com/en-us/home/tour/overview.

Software as a Service (SaaS)

With Software as a Service (SaaS), the vendor manages everything from infrastructure, including load balancers and firewalls, to platforms, such as operating systems and virtual runtime environments like .NET and Java, all the way up to a complete line of business applications and services, such as e-mail or a Customer Relationship Management product. SaaS provides you with fully provisioned and finished services with a well-defined feature set, which you can potentially later customize to a certain degree. Vendors usually provide browser-based interfaces so users can easily access and customize these services. APIs are also usually made available for developers. Microsoft Office 365 also offers these types of services, which currently include SharePoint Online, Exchange Online, Lync Online, and Office Professional Plus. Most of these online services have subset of the features of their on-premises counterparts. For more detailed information on various services and plans for Office 365 visit www.microsoft.com/en-us/office365/online-services.aspx.

Deciding to Move into the Cloud

The cloud is neither a panacea nor a silver bullet that magically solves your business’ IT problems. So how easy it is to move to and/or embrace the cloud? The answer is “it depends.” It’s clear that the cloud has major benefits but every organization should look at other factors to determine if the cloud is the way to go. The advantages of cost savings and on-demand scalability are obvious temptations to move to the cloud, but an organization should also consider the disadvantages of the cloud, such as poor network connectivity issues and lack of global Information Protection laws.

Although it’s impossible to cover every aspect that goes into the process of deciding whether to move to the cloud, the following list points out some key items you need to consider:

  • Are network connectivity issues tolerable? This involves such problems as poor bandwidth and low latency.
  • Will moving to the cloud impact your company’s organizational IP (information protection) policies? Not every country/region follows the same practices and policies; the information stored in the cloud (stored at the vendors’ data center) may be subject to government audits or other policies. In addition, if the cloud provider hosts your data in datacenters outside of your country, you may run afoul of legislation.
  • What if the service becomes unavailable? How will this impact overall business productivity?
  • How will you handle information leaks? You need an action plan in case critical information is intentionally/accidentally leaked from the cloud. Leaked information can, for instance, include e-mail addresses and your company’s financial forecast.
  • How will moving to the cloud impact your processes, policies, and procedures? The vendor’s Service Level Agreement must always fully align with your organization’s operational needs and legal policies.

Windows Azure Platform

Microsoft first revealed the Windows Azure Platform to the attendees of the Microsoft Developers Conference (PDC) in 2008. At the same conference, Microsoft released a Community Technology Preview (CTP) version of Windows Azure, meant only for testing and early feedback purposes. At that time, all Windows Azure services were offered free of charge.

At the 2009 PDC, Microsoft announced that it was transitioning Azure from the CTP stage to a major release for businesses. Initially, it released a pricing model, SLA details, and a mandatory signup process for new Windows Azure Platform customers, but it waived the fees for the month of January, 2010. Starting in February 2010, Microsoft released a version of the Windows Azure Platform that charged customers for their usage per its agreement. Since then, Microsoft has occasionally added to and updated various sets of the Azure Platform components as well as the pricing. These updates primarily keep up with technological changes occurring in the world of cloud computing.

This book covers the Windows Azure Platform in detail. Specific chapters are dedicated to individual components of the platform. The following is a list of those chapters with a brief description of what is covered.

  • Chapter 9, Identity in Azure: Describes how the identity system works in Azure. Walkthroughs are provided on how to develop, test, and deploy a service project using WIF as well as how to build a local custom STS.
  • Chapter 10, Leveraging Blob Storage: Provides an understanding of Azure BLOB storage. It also demonstrates how to programmatically access BLOBs using the REST API, setting permissions on BLOBs, copying and downloading BLOBs, and optimizing BLOB storage.
  • Chapter 11, SQL Azure: Discusses SQL Azure service and how it works. This chapter provides a walkthrough on how to create and work with the SQL Azure service, as well as on how to manage users and logins. This chapter also has sections on SQL Azure troubleshooting, which covers firewalls, sessions, transactions, latency, and so on.
  • Chapter 12, Azure Datamarket Overview: Provides an overview of the Azure Datamarket and how to sign up for it and register to get an account key. A walkthrough demonstrates various programming techniques that you can use to work with and access Datamarket data.
  • Chapter 13: AppFabric: Service Bus: In this chapter, you dive into the concept of a Service Bus. The chapter describes the Service Bus architecture fundamentals and includes hands-on exercises that cover various programming techniques, including programming relays and queues.
  • Chapter 14, AppFabric: Access Control Services: Provides an understanding of the Access Control Services architecture and how to work with it using various APIs. The walkthrough shows how to create a service namespace, work with service tokens, modify client applications to use Access Control Services, and work with SAML and ADFS 2.0.
  • Chapter 15, AppFabric: Connect: Discusses the concept behind Connect and its core fundamentals. It also dives into programming WF and WCF with Connect, including how map to your legacy Line of Business (LOB) systems.
  • Chapter 16, Azure Diagnostics: Covers the key aspects of debugging Azure projects, including the challenges of local versus cloud debugging, using Intellitrace, Azure Diagnostics, and common gotchas that you might encounter together with how to avoid them.
  • Chapter 17, When to Use Azure Versus Office 365: Discusses important aspects of decision-making related topics that you need to know about when deciding when to use Azure and when to use Office 365.

Figure 1-2 illustrates the major components of Windows Azure Platform. The rest of this section briefly covers some of the key components. If you are already familiar with them, you can skip to the next section, “Office 365.”

Web Role

Windows Azure Web Role essentially provides features and functionality to host front end web applications in the cloud. This role comes with a dedicated IIS (Internet Information Services) web server which allows you to deploy web-based applications on this role. As with other roles, you can easily scale up and down the resources using the configuration file. Microsoft Azure SDK comes with tools that integrate with Microsoft Visual Studio, which let developers build, test, and deploy web-based applications on Web Role. For more information on the Web Role please visit https://www.windowsazure.com/en-us/home/features/compute.

Worker Role

Although Web Role is ideal for hosting web-based applications, it does not provide features to execute long running tasks like business workflows or complex calculations that require lengthy processing. To decouple back-end operations from the front end, the Worker Role was introduced. The core function of the Worker Role is to process tasks that are considered too costly for the Web Role. Commonly, Web Role delegates processing to a Worker Role and focuses only on front end–related activities, like hosting web sites that provide a user interface. Azure allows you to scale up and down both Worker Roles and Web Roles independently. This means you can increase or decrease the number of roles based on your specific needs rather than consuming resources that you don’t need. To see more, visit https://www.windowsazure.com/en-us/home/features/compute.

VM Role

Recently added to the Windows Azure platform, the VM Role enables you to run a virtual hard disk (VHD) image of Windows Server on the Windows Azure Platform. You can create a VHD file on premises and then upload it to the Windows Azure Platform. The VM Role is unique in a sense that it allows you to perform a great number of customizations at the operating system level. It also provides you with the flexibility to migrate existing applications to the cloud. Administrators can remotely log in into the VHD and perform administrative tasks as needed. However, unlike Web and Worker Roles, operating system patches are not automatically applied to the VM Role; it’s your responsibility to keep the operating system updated with the desired patches. In a nutshell, the VM Role brings you the ability to perform customizations at the operating system level, which is absent from the other roles. For more information on the VM Role please visit www.windowsazure.com/en-us/home/features/virtual-machines.

AppFabric

Windows AppFabric acts as a cloud middleware service stack that has services like caching, access control, identity management, and more. These services help developers to develop, deploy, and manage robust Azure applications in the cloud. Because developers can decouple the application development pieces into logical components, the application development itself is rather simplified. For example, rather than worry about providing access control features, developers can rely on the Access Control Service for that.

Access Control

Windows Azure decouples management of identities and access control from the rest of the application development process. This offloads the plumbing that developers usually need to integrate their applications and replaces it with a variety of prebuilt identity providers. Access control is also provided as a feature of Windows Azure and it takes care of integrating your application with commonly used identity providers like Active Directory, Windows Live ID, Google, Yahoo, and Facebook. Access control also enables developers to create authorization rules to manage permissions using claims. For more information on access control visit https://www.windowsazure.com/en-us/home/features/access-control.

Content Delivery Network (CDN)

Users consuming Microsoft Azure data from various geographical locations other than where Microsoft data centers are located may end up paying considerable high latency costs as they download data. To overcome this challenge, Microsoft provides a Content Delivery Network (CDN), which caches data in various geographic locations across the globe. This helps reduce the number of hops that a user request goes through before the data is finally delivered to a user. For more information on CDN please read https://www.windowsazure.com/en-us/home/features/cdn.

Caching

Microsoft Azure Caching service provides a distributed in-memory cache for Azure applications. This gives developers an alternative to the disk based caching, which is slower in nature and does not scale very well. Developers can utilize the caching service to store data based on an individual user session or to store and share data across the applications. As with other Azure services, this service comes with 99.9 percent SLA, with a pricing model based on the Caching service usage. For more information on Microsoft Azure Caching visit https://www.windowsazure.com/en-us/home/features/caching.

Storage

Windows Azure Storage provides storage services as part of the Windows Azure Platform. These services include Blob storage, Tables, and Queues. Blob (Binary Large Object) storage specifically stores unstructured digital assets like audio, video, and images. Tables provide containers for more structured data; however, they do not allow you to create relationships between the data (this is often referred as NoSQL storage), but this allows it to scale to extremely high volumes. For traditional relational database features, you should use SQL Azure (described in the next section) and not Azure Table storage. Queues allow you to perform messaging between applications in a consistent and reliable fashion. Essentially with queues you can easily decouple the communication and dependencies between application components, where one component places messages in a queue and another component pulls them later when it is ready to process the data.

Azure storage is exposed via HTTP, REST, and OData endpoints, making it easily consumable by various platforms and devices. The storage products provide various levels of permissions support though, meaning these multiple endpoints don’t translate into poor security. This design choice by the Windows Azure team provides greater flexibility in the way you access the Azure storage. For example, your on-premise applications can use the Azure storage for storing data on the cloud and thus remove the need of on-premises storage. On the other hand, cross platform applications can easily consume data by using REST style queries to access the Azure Storage. For more information on Azure Storage visit www.windowsazure.com/en-us/home/features/storage.

SQL Azure

SQL Azure provides cloud based relational database service based on Microsoft SQL Server technologies. You can utilize SQL Azure relational database features both from on-premises and online solutions. As with other Azure Platform services, you receive high availability, fault tolerance, and scalability as part of Windows Azure SLA. From a developer’s perspective, you can use existing development and management tools to work with SQL Azure, which means that you’ll have a small learning curve. For more information on SQL Azure visit www.windowsazure.com/en-us/home/features/sql-azure.

Windows Azure Appliance

Microsoft Azure Appliance enables large enterprises, service providers, and government institutions to deploy Windows Azure and SQL Azure in their own datacenters using a Microsoft recommended infrastructure, which is provided through various Microsoft partners including Dell, Fujitsu, eBay, and HP. Windows Azure Appliance helps organizations to meet their unique security, availability, scalability and information protection policy needs while letting them enjoy the benefits of private, and public cloud computing. You can learn more about Azure Appliance by visiting www.windowsazure.com/en-us/community/partners/windows-azure-appliance.

Windows Azure Marketplace

Microsoft Azure is a powerful IaaS and PaaS cloud platform but there are times when businesses require off the shelf and ready to be consumed SaaS applications that are built and tested specifically for the Windows Azure Platform. Similarly, there are times when you need data from certain knowledge domains (for example, financial, governmental, and so on) without going through the hassle of arranging it yourself. To meet these requirements, Microsoft launched Windows Azure Marketplace, an online marketplace where you can purchase or sell software as a service (SaaS) applications and datasets. Figure 1-3 shows an applications listing page from Microsoft Azure Marketplace. Note that by using the filters on the left side of this screen, you can filter applications based on price, category, and publisher. Figure 1-4 shows the datasets page for Azure Marketplace; it has the same filters as Figure 1-3.

Registration on Microsoft Azure Marketplace is free of charge and rather simple. Go to https://datamarket.azure.com/account/info and follow the instructions. For more details on Microsoft Azure Marketplace please visit https://datamarket.azure.com/about.

Developer Story

From the first day it launched Windows Azure, Microsoft has provided excellent developer support in the form of the Azure SDK, which allows developers to use Visual Studio to develop, test, and deploy Windows Azure–based applications. From a developer’s standpoint, this essentially means using already familiar tools with a focus on leveraging Azure services. Figure 1-5 displays a snapshot of the Visual Studio 2010 template for Windows Azure projects that developers can use to develop Azure-based cloud solutions.

Microsoft understands that developers around the globe have capitalized on a variety of software platforms, frameworks, and tools. Limiting Azure development to only Microsoft-based frameworks and tools is rather restrictive for developer. As a result, Azure supports various runtimes and frameworks. Table 1-1 shows a current list of these that Windows Azure supports.

Table 1-1: Windows Azure SDK’s

Platform URL
.NET dowsazure.com/en-us/develop/net
Java www.windowsazure.com/en-us/develop/java
PHP http://www.windowsazure.com/en-us/develop/php
Node.js www.windowsazure.com/en-us/develop/nodejs
Miscellaneous www.windowsazure.com/en-us/develop/other

Office 365

Office 365 is a SaaS offering from Microsoft that offers online versions of SharePoint 2010, Exchange 2010, and Lync 2010—all hosted and maintained by Microsoft at their data centers. Office 365 also includes Microsoft Office Professional Plus, a desktop application, and Office Web Apps, a browser-based online version of Word 2010, Excel 2010, and PowerPoint 2010.

Microsoft launched Office 365 private beta (to the limited audience) in November 2010 and finally released it to the public on June 28, 2011. Office 365 is the next version of Business Productivity Online Services (BPOS), which provided online versions of Exchange 2007 and SharePoint 2007.

This book covers all major services that Office 365 has to offer. The following list gives which chapters cover Office 365, including what they discuss.

  • Chapter 3, Office 365 Identity Services: This chapter drills into the Office 365 identity architecture and management. You will learn about authenticated mechanisms, working with DirSync, and planning and configuring identity federation.
  • Chapter 4, SharePoint Online Overview: Provides an overview and discussion of the key components of SharePoint Online. You will learn about SharePoint Online development options, authentication and authorization, SharePoint Web Services, declarative workflows, InfoPath Forms, BCS, and ways to debug your SharePoint solutions.
  • Chapter 5, Integrating Azure and Office 365: This discusses various approaches to integrate Azure and Office 365. It also covers how to share the identity between the two platforms, model of communication, and connecting from on-premises to Azure to Office 365.
  • Chapter 6, Exchange Online Development: In this chapter you learn about building applications for Exchange Online using Exchange Web Services (EWS). Sample applications include building an Email application, Tasks application, and Contacts application. You also learn about administration of Exchange Online through PowerShell.
  • Chapter 7, Lync Online Development: Provides details on Lync architecture, programming Conversations in Lync, and using Lync Silverlight Controls and WPF Controls to develop custom applications.
  • Chapter 17, “When to Use Azure Versus Office 365”: Discusses important aspects of the decision-making related topics that you need to know when deciding when to use Azure and when to use Office 365.

Figure 1-6 gives a quick overview of what is covered under the umbrella of Office 365.

SharePoint Online

SharePoint Online is one of the key services that Office 365 offers. With its origins in SharePoint 2010 Enterprise Edition, SharePoint Online brings the benefits of SharePoint for small, medium, and large organizations without them needing to invest in infrastructure and maintain SharePoint 2010 on-premises. SharePoint Online comes in two flavors: SharePoint Online and SharePoint Online - D (where D represents dedicated). Microsoft hosts both flavors of SharePoint Online on its data centers, but the dedicated version allows organizations to have SharePoint Online hosted on physical hardware exclusively dedicated to them. For non-dedicated packages, SharePoint Online takes a multi-tenancy route and organizations have to share the SharePoint instance with other tenants. For more information on the SharePoint Online service visit www.microsoft.com/download/en/details.aspx?id=13602.

Developers can easily build and deploy their custom solutions based on the standard SharePoint Solutions Framework (WSP). Microsoft only allows deployment of Sandbox solutions on SharePoint Online (the dedicated version does support full-trust solutions but it requires approval from Microsoft before deployment). One of the benefits that developers have is to leverage their existing knowledge of SharePoint 2010 development and start building the solutions for SharePoint Online immediately without any major learning curve. For more information on developing SharePoint Online solutions visit http://msdn.microsoft.com/en-us/sharepoint/gg153540.

Exchange Online

Office 365 offers Exchange Online as a service based on Microsoft Exchange Server 2010 hosted on Microsoft data centers. With Exchange Online, organizations can offload (either fully or partially) their messaging needs to the cloud, eliminating the need to invest in the IT infrastructure. Exchange Online provides typical Exchange features such as e-mail, archiving, retention, the calendar, contacts, distribution groups, and so on. With an SLA of 99.9 percent, Microsoft takes care of managing, upgrading, and performing the security and service patches. For more information on the Exchange Online service visit www.microsoft.com/download/en/details.aspx?id=13602.

Microsoft provides developers with a powerful managed API to program against Exchange Online. Under the hood, this API uses web services calls to Exchange Online, which means developers can easily develop robust and highly decoupled applications. For more information on the Exchange Managed API visit http://msdn.microsoft.com/en-us/exchange/aa731543.

note.eps
Many organizations leverage Exchange Online and SharePoint Online together to enhance their productivity. A good walkthrough titled “Office 365 – Enhance Productivity through SharePoint Online & Exchange Online” is provided on the MSDN MVP blog at http://tiny.cc/n61oj.

Lync Online

Lync Online brings unified communication features to Office 365. Lync Online is based on Lync 2010 Server, which Microsoft hosts at its data centers. Unlike Exchange Online and SharePoint Online, in order to fully leverage Lync Online you must install the Lync Client on your machine. The Lync Client essentially performs all the communication to Lync Online so its presence is mandatory on the client. For more information on Lync Online service visit www.microsoft.com/download/en/details.aspx?id=13602.

Developers can reuse and extend Lync 2010 Silverlight controls to develop custom communication solutions. For more information on Lync 2010 development visit http://msdn.microsoft.com/en-us/hh181578.

Office Professional Plus and Office Web Apps

Microsoft offers Microsoft Office Professional Plus as part of Office 365 (currently available with Plan E3 and E4). This version of Office is the same as Office Professional Plus 2010 Retail, which is one of the most common productivity suites in the market today. When you register for Office 365’s monthly plan, you can install and use Office Professional Plus on five devices. The following is a list of products that are available as part of Office Professional Plus.

  • Microsoft Word 2010
  • Microsoft Excel 2010
  • Microsoft PowerPoint 2010
  • Microsoft Outlook 2010
  • Microsoft InfoPath 2010
  • Microsoft SharePoint Workspace 2010
  • Microsoft Access 2010
  • Microsoft OneNote 2010

With Office 365, you can also leverage Office Web Apps, which provides a web-based subset of the features and functionality of Office Professional Plus. With Office Web Apps, you can save your files on SharePoint Online and then read and work with them online without the need of any client side application (e.g., Word) to be installed on your machine. Office Web Apps contain online versions of the following desktop applications. For more information on Office Web Apps visit http://office.microsoft.com/en-us/web-apps.

  • Microsoft Word 2010
  • Microsoft Excel 2010
  • Microsoft PowerPoint 2010
  • Microsoft OneNote 2010

Developer Story

Office 365 offers a range of services, based on existing Microsoft products, that give developers a rather diverse landscape. At the time of this writing, there is no single SDK that developers can download and start developing for Office 365. However this fact should not deter developers from building applications and solutions for Office 365 because Microsoft provides excellent APIs and SDKs for each of the Office 365 services. Table 1-2 lists the available SDKs for each service offering along with the download URL.

Table 1-2: Office 365 Services Development SDK’s

Title URL
SharePoint 2010 SDK http://msdn.microsoft.com/en-us/library/ee557253.aspx
Lync 2010 SDK http://www.microsoft.com/download/en/details.aspx?id=18898
Exchange Web Services Managed API http://www.microsoft.com/download/en/details.aspx?id=13480

For example, developers with a background in SharePoint 2010 on-premises development can easily start SharePoint Online development using the SharePoint Server 2010 SDK. The same is true for Exchange Online and Lync Online. In a nutshell, as a developer, you can reuse the current skills, tools, and APIs with which you’re already familiar to build Office 365 applications. This means you can:

  • Utilize a broad range of collaboration, messaging, and communication services to develop business solutions for Office 365.
  • Leverage Office 365 Martketplace to publish your applications to a wide range of audiences.
  • Reuse your existing development skills to develop high productivity applications with Office 365.
  • Build highly federated solutions and integrate LOB (Line of Business) applications using SharePoint BCS (Business Connectivity Services).
  • Develop custom communication solutions leveraging Lync Client APIs.
  • Build custom applications using Exchange Online and using messaging features like e-mail, calendar, and tasks items.
  • Create add-ins to connect with cloud services using Office Development with VSTO (Visual Studio Tool for Office) for Word 2010, Excel 2010, and PowerPoint 2010.

Summary

This chapter introduces two major Microsoft cloud technologies—Microsoft Azure and Office 365. The chapter explains basic types of cloud services that exist in the market today. You also learn about building blocks of Microsoft Azure and Office 365 services. Later sections briefly cover key components of both of these cloud services.

This chapter also set the roadmap for all the chapters in this book by providing a brief description of what each chapter will cover. Lastly, you learn about the developer story for Microsoft Azure and Office 365 and what kind of tooling and SDK support is provided by Microsoft.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset