Anzeige

Hosting SharePoint 2016 farm in azure

13. Feb 2016
Anzeige

Más contenido relacionado

Presentaciones para ti(20)

Anzeige

Similar a Hosting SharePoint 2016 farm in azure(20)

Anzeige

Hosting SharePoint 2016 farm in azure

  1. Hosting a SharePoint 2016 Farm in Azure for
  2. Who Am I? By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Hi! I am Isha Kapoor, a SharePoint MVP and founder and author of www.LearningSharePoint.com. I am currently working as a SharePoint SME for a financial company in Toronto. You can always connect with me on LinkedIn or on Twitter: @LearningSP @Learningsp https://ca.linkedin.com/in/ishakapoor
  3. Agenda By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com  Introduction to Azure Infrastructure Services - Introduction to Azure Iaas, Azure Deployment Models, Azure IaaS Resource Arrangement.  Cloud Service Vs Azure Virtual Network - Where to Deploy Virtual Machines. SharePoint 2016 Deployment -  SharePoint 2016 Beta 2 Architecture,  Create a Virtual Network, IP Addresses of a Virtual Machine,  Create a Virtual Machine, Install Active Directory Services and Domain Controller, Create a SQL Server Virtual Machine, Install SharePoint 2016 Beta 2. Using Office Applications in Azure - Options to use Office 365 Subscriptions and RemoteApps. Using Azure Diagnostics - Enable Diagnostics in Preview Portal, Azure Log Collector Extension.
  4. Azure Hosting models Youmanage Storage Servers O/S Middleware Virtualization Data Applications Runtime Youscale,make resilient&manage Storage Servers O/S Middleware Virtualization Applications Runtime Data Storage Servers O/S Middleware Virtualization Data Applications Runtime Youscale,makeresilientandmanage Managedbyvendor Managedbyvendor On Premises Infrastructure (as a Service) Azure is Microsoft’s cloud. Azure Provides three major Cloud Options - SaaS, PaaS and IaaS Platform (as a Service) By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  5. Benefits of Hosting SharePoint in Iaas Cloud? • Rapidly setup DevTest environments for POC demonstrations. • Scale to meet peak demands. • Select Pay-as-You-go for efficiency and reduced cost. • Excellent for Hosting Apps and Creating & Managing Dev Machines. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  6. Azure Deployment Models By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Resource Manager Model (New) Classic Model (Classic) The Resource Manager deployment model provides you with a container known as “Resource Group”, that can hold resources for your application such as a virtual machine, storage account, a virtual network etc. Classic Model is the original model where resources such as a Virtual Machine, Storage account etc. are configured manually (not as a part of group). These type of resources added manually includes (classic) in their name now. You can deploy, update or delete all of the resources for your solution in a single, coordinated operation. You can access resources as individual entities and can perform operations on them individually from within the Azure Portal or REST API or using PowerShell. With Resource Manager, you can create re-useable templates (in JSON format) that can define the infrastructure for your app, how to configure that infrastructure, and how to publish your app code to that infrastructure. There is an option to download and re-upload Cloud Services and Virtual Network configuration files to make the Cloud Service or VNet re-usable. you can create a Virtual Network to define your infrastructure. Resources in Resource Manager can be created and managed through Azure PowerShell, Azure CLI (for Mac, Linux, and Windows), and the Azure portal, or REST API. Resources in Azure Classic Model can also be created and managed through Azure PowerShell, Azure CLI (for Mac, Linux, and Windows), and the Azure portal, or REST API. Azure operates in two deployment models - Classic (Azure Model) and Resource Manager Model. Complete List of differences - https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-azurerm-versus-azuresm/
  7. Azure Deployment Models By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Resource Manager Model (New) Classic Model (Classic) SRP - Storage resource provider, CRP - Compute resource provider and NRP - Network resource provider. Diagram Reference - http://blogs.technet.com/b/solutions_advisory_board/archive/2015/07/30/resources-for-ramping-up-on-azure-resource-manager.aspx
  8. Azure Deployment Models By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Resource Manager Model (example)
  9. Why use Classic Model? It gives you the flexibility in how you want to Configure your resources. You know better when you do everything on you own. When you know better, you do better. Reason By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  10. Azure IaaS Resource Arrangement Regions: • East US (Virginia) • West US (California) • US North Central (Chicago) • US South Central (Texas) • Europe North (Dublin) • Europe West (Amsterdam) • Asia Pacific East (Hong Kong) • Asia Pacific Southeast (Singapore) • Japan East (Saitama) • Japan West (Osaka) • Brasil South (São Paulo) By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Azure Infrastructure (IaaS) arranges Virtual Machines in various Microsoft-managed datacenters. The arrangement however, can be in multiple forms. Below are some basic arrangements that azure offers.
  11. Azure IaaS Resource Arrangement Fault Domain’s - A fault domain is a grouping of hardware (rack of resources like servers, power etc) in which web, worker and Virtual Machines are arranged. Update Domain (UD) - An update Domain on the other hand is an arrangement within the Racks so as to provide the Web or worker role instances with high availability by ensuring that only one of Instances of the roles will be down for update at one time. Role instances are allocated to an upgrade domain when the service is deployed. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  12. Azure IaaS Resource Arrangement Availability Set (High-Availability farm) - Now when you configure Virtual Machines to be a part of a Availability set, Microsoft will re-arrange the VMs in such a way that it belongs to a different Rack (in Failure domain (FD)) so as to avoid Downtime while patching. Combined with Load balancers, availability sets can provide up to 99.9% SLA for Virtual Machines. Of Course you should have multiple VM instances added to a Availability Set. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  13. Azure Virtual Machines – Where to Deploy? By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Cloud Services - Virtual machines created with the classic deployment model are always placed in a cloud service. A Cloud Service acts as a container and provides a unique public DNS name, a public IP address (VIP), to access Virtual machine over the Internet. Typically, a Virtual Machine resides in a role which resides in a cloud service. Virtual Networks - An Azure Virtual Network is similar to Virtual networks on Vmware or like your on-premises. A Virtual Network can contain multiple Cloud Services and Virtual Machines. Virtual Network provides you with more options in terms of connecting over secure connections to other Azure Virtual Networks and to your on-premises networks. Question now is where to add your Virtual Machine Cloud Service or Virtual Network? You always add a Virtual Machine in a Cloud Service. (only in classic model) You then add a Cloud Services in a Virtual Network.
  14. Options to Host a SharePoint Farm in Azure By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Two options to host your SharePoint 2016 Farm -  Stand-alone Cloud Service (Provision an SharePoint 2016 IT Preview Image from gallery) Virtual Machines in different Cloud Services can only communicate through VIP. CloudService1.cloudapp.net CloudService2.cloudapp.net  Virtual Network (Provision all the Virtual Machines separately and install AD,SQL and SharePoint Beta 2) Virtual Machines in different Cloud Services but as a part of same Virtual Network can communicate through Internal IPs.
  15. SharePoint 2016 Beta 2 Architecture Software Requirements Operating System  Windows Server 2016 Technical Preview 3  Windows Server 2012 R2 Database  SQL Server 2014 SP1 SharePoint SharePoint 2016 Beta 2 Download link. Features  Active Directory Services  Domain Controller By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Note about SharePoint 2016 Upgrade : There is no upgrade path for SharePoint 2016 Preview to SharePoint 2016 Beta 2. A new Installation will be required for SharePoint 2016 Beta 2.
  16. Create a Virtual Network Create a Virtual Network 1. In your Azure Portal, select New at the bottom and then select Network Services -> Virtual Network -> Custom Create. 2. Give your Virtual Network a name. 3. Give your Virtual Network a name. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  17. Create a Virtual Network By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com 3. Add additional subnets if you want or leave it as it is. For this example we will use the default Subnets.
  18. Create a Virtual Network By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com 4. Verify the Virtual Network in Azure Portal.
  19. Create a Virtual Machine (VM1) By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com 1. In Azure Portal, select New at the bottom and then navigate to Compute -> Virtual Machine -> From Gallery. 2. Select Windows Server 2016 Technical Preview 3 under Windows (on left).
  20. Create a Virtual Machine (VM1) 3. Give your VM a name and create a username & password for accessing the Virtual Machine. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  21. Create a Virtual Machine (VM1) 4. Next enter a Cloud Service DNS name and select the Virtual Network (created in Step# 1). Select the existing Subnet and add the value for new availability set. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  22. Create a Virtual Machine (VM1) 5. Install the VM Agent. This might take a while. You can verify the status in Azure Portal under Virtual Machines. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  23. Create a Virtual Machine (VM1) Verify that the Virtual Machine has been provisioned and it is listed in the By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  24. IP Addresses of a Virtual Machine Virtual Machine IP Addresses - Typically, Azure Dynamically assigns IPs to Virtual Machines when they are Created or de- allocated & allocated. A Virtual Machine can have three types of IP addresses - • DIP (Dynamic or Internal IP address) • VIP (Cloud Service IP address generally accessed by VIP:[PortNumber]) • PIP (PublicInstance level IP address) By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com DIP (Dynamic or Internal IP ) VIP (Cloud Service IP) PIP (PublicInstance level IP) This is the Internal IP address that is assigned to a Virtual Machine when it gets created. For a Virtual Network, DIP is selected from the Subnet-IP range that is pre-specified. Each Cloud Service when created gets a Public IP address (VIP). This VIP along with the PortNumber of the Virtual Machine it containes, is used to access a Virtual Machine publically. VIP:[PortNumber] Instace level Public IP address is assigned or Reserved for a VM so it can be accessed Publically using that PIP IP address. Set-AzurePublicIP command is used for the purpose of reserving the IP. Used When : Virtual Machines in same Cloud Service or Virtual Network need to communicate. Used When : Virtual Machines in Cloud Service need to be accessed from outside. Used When : Passive FTP or outbound traffic where a VM’s Public address will be its identity to the external machines. Reference : More about DIP,VIP,PIP for Virtual Machines.
  25. Set a Static IP for Virtual Machine When a Virtual Machine is a part of a Virtual Network, a DIP or Internal IP address is selected from the Subnet-IP range that was specified when a Virtual network was created. There is no control over which IP address from the Subnet-IP range will be assigned to the Virtual Machines, but there is an option to Set Static IP, selected from within the subnet range. Now, to have a Domain Controller provisioned in your Virtual Machine, it would need a static IP. There is a option to do just that using Azure PowerShell. In Azure PowerShell, you can use Test-AzureStaticVNetIP cmdlet to verify if the static IP is available first. Use, Test-AzureStaticVNetIP -VNetName SP2016 -IPAddress 10.0.0.10 Next, use the cmdlet Set-AzureStaticVNetIP to set a static IP for a Virtual Machine. Get-AzureVM -ServiceName SP2016VM -Name SP2016VM | Set-AzureStaticVNetIP -IPAddress 10.0.0.10 | Update-AzureVM By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  26. Set a Static IP for Virtual Machine Verify the Static IP in Azure Portal -> Virtual Machine’s Dashboard. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  27. Install the Active Directory Services Next, connect to the Virtual Machine VM1 to install the Active Directory Services. Login to the server and in Server Manager, select Add Roles and Features. Follow the Wizard as per below to install Active Directory Services. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  28. Install the Active Directory Services By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  29. Install the Active Directory Services By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Finally, Install the Active Directory Services.
  30. Promote to Domain Controller By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Once the Active Directory is installed, let’s promote our VM1 server to Domain Controller. Select Promote this server to Domain Controller in Server Manager. See below.
  31. Promote to Domain Controller By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  32. Promote to Domain Controller By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  33. Promote to Domain Controller By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Finally, install Domain Controller Services.
  34. Configure your VNet with DNS Server By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Once the Domain Controller Services are installed, we need to configure the Virtual Network to register our DNS Server with IP and Domain. Navigate to the Virtual Network and then under Configure add the entry.
  35. Provision a SQL Server Virtual Machine By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Add a SQL server Virtual Machine from the Gallery. Look at the steps below. It is similar to adding Virtual Machine 1. 1. In your Azure Subscription, Create a new Virtual Machine from gallery. 2. Select SQL Server 2014 Standard SP1. 3. Next give your VM a name and select the Configuration. 4. Select other Configurations like Region/Virtual Network (which Must be your Virtual Network name). 5. Lastly, Install the Virtual Machine Agent. 6. Once the SQL server setup is completed, verify that it is a part of Virtual Network. 7. Navigate to Virtual Network and under Dashboard verify that the new SQL server is listed. Once you have the SQL server as a part of the Virtual Network, connect to the VM to change the domain settings. In the Server Manager, click on the Workgroup -> In System Properties, select Change. then, Restart the server.
  36. Provision a SharePoint 2016 Beta 2 Virtual Machine By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Like, SQL Server VM, next add a new Windows Server 2012 Server for installing SharePoint 2016 Beta 2 Virtual Machine. Select Virtual Machine Windows Server 2012 R2 from the Gallery. Look at the steps below. 1. In your Azure Subscription, Create a new Virtual Machine from gallery. 2. Select Windows Server 2012 R2. 3. Next give your VM a name and select the Configuration. 4. Select other Configurations like Region/Virtual Network (which Must be your Virtual Network name) 5. Lastly, Install the Virtual Machine Agent. 6. Once the Windows Server is setup, verify that it is a part of Virtual Network. 7. Navigate to Virtual Network and under Dashboard verify that the new Windows server is listed. Don’t forget to Change the Domain In Server Manager, click on the Workgroup -> In System Properties, select Change. then, restart the server.
  37. Install SharePoint 2016 Beta 2 Download SharePoint 2016 Beta 2 in your SharePoint Virtual Machine and then run the Prerequisites – Preparation tool. You can now Create Service accounts (sp16_setup) in AD (VM1) and then Login with the Service Ids to install SharePoint. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  38. Install SharePoint 2016 Beta 2 Enter the Key (Copy from the Download Page) By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  39. Install SharePoint 2016 Beta 2 Install and Run the Configuration Wizard. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  40. Install SharePoint 2016 Beta 2 In the Configuration Wizard, Create a new Farm. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  41. Install SharePoint 2016 Beta 2 Select a passphrase and Create a Single-Server Farm. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  42. Install SharePoint 2016 Beta 2 Specify the authentication and Confirm the settings By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  43. Install SharePoint 2016 Beta 2 Let the Configuration wizard run until you see the below screen. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  44. Using Office Applications in Azure For developing Office based apps, or for generally accessing office applications like Word, excel in Azure Virtual Machines, you can use the following Options : • Office Online Server - In SharePoint 2016, Excel Services has been deprecated. It is now recommended that you use the Office Online Server (the on-premises version of OWA) to host Excel services and its related BI components. • Using your Office 365 subscription - If you have an existing plan for example, Office 365 E3 plan, you can use your Office 365 Licenses from your plan and assign them to users in your Azure VM’s Active Directory (the Service or Dev accounts). “AD Connect” utility can be used to Integrate On-prem Active Directory (VM1) with Office 365 Active Directory. Global admins can then assign license to users from Virtual Machine's Active Directory. • Using Office 365 ProPlus Licenses - You can sign-up for and use your existing Office 365 ProPlus Subscription to setup a “RemoteApp” that will allow your user’s to download and interact with the published content on any machine (your Local Machine, Virtual Machine. Phone etc.) Like you create Remote desktop App etc. Azure provides you with a built-in Office 365 ProPlus Azure gallery image that will allow you to connect your own Office 365 ProPlus Subscription and publish Office applications like Word, Excel or PowerPoint Online for your SharePoint 2016 Azure VM (or any other machine). By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  45. Enable Diagnostics Log in Preview Portal In order to collect Logs from your Virtual Machines, you need the following : • Azure VM agent installed (you do that when you create a Virtual Machine). • Enable Diagnostics for Virtual Machines. To enable Diagnostics, you can configure extensions available for Virtual Machines so as to get the desired set of Logs. Typically, user’s prefer to download the Logs in Azure Storage. Options to enable Diagnostics : • Using System Center to monitor your Azure VMs • Using Diagnostic Extensions – Microsoft Azure Diagnostic Extension’s job is to periodically gather up all the diagnostic data (based on a configuration you choose) buffer the data on the local instance, and then send the data off to an Azure storage account for safe keeping. Once the data is in Azure storage, it can easily be downloaded or queried to help you understand more about the application. The Diagnostic extensions for a VM can be modified and configured, not only by a REST API, but also with some Microsoft- provided PowerShell Cmdlets By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  46. Enable Diagnostics Log in Preview Portal You can also navigate to Diagnostic in the new Azure Portal to enable Diagnostics for a Virtual Machine. By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  47. Azure Log Collector Extension Log Collector extension - With “AzureLogCollector” extension of a Virtual Machine, you can now gather Logs from Virtual Machines without requiring to remote login into the Virtual Machines. Admins can use Scripts (below) that would upload Logs from your VM into the specified Azure Storage account. The Script basically enables the AzureVMExtension named “AzureLogCollector” to collect the Logs from VM. The official AzureLogCollector Extension To remote login into the Virtual Machine. Read more.. Script Download Link $ServiceName = “Sp2016VM” $VMName = “Sp2016VM” $mode = “GA” #For Collecting SharePoint ULS Logs, first navigate to the ULS Logs folder and then Share it. Add the Network Location in the Location property of the object. $a1 = New-Object PSObject $a1 | Add-Member -MemberType NoteProperty -Name “Name” -Value “ULSLogs” $a1 | Add-Member -MemberType NoteProperty -Name “SearchPattern” -Value “*” $a1 | Add-Member -MemberType NoteProperty -Name “Location” -Value “Sp2016vmlogs” $a1 | Add-Member -MemberType NoteProperty -Name “Recursive” -Value “true” $AdditionalDataList+= $a1 $StorageAccountName = ‘atlazurestorage’ $StorageAccountKey = ‘storagekey‘ Finally, navigate to the path where you saved the downloaded the script file and then run the following .SetAzureVMLogCollector.ps1 -Service $ServiceName -VMName $VMName –Mode $mode -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey - AdditionDataLocationList $AdditionalDataList By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com
  48. Thank You for Coming By : Isha Kapoor (SharePoint MVP ) Twitter : @Learningsp, www.LearningSharePoint.com Questions? @Learningsp https://ca.linkedin.com/in/ishakapoor

Hinweis der Redaktion

  1. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  2. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  3. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  4. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  5. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  6. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  7. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  8. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  9. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  10. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  11. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  12. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  13. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  14. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  15. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  16. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  17. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  18. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  19. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  20. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  21. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  22. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  23. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  24. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  25. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  26. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  27. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  28. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  29. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  30. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  31. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  32. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  33. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  34. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  35. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  36. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  37. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  38. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  39. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  40. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  41. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  42. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  43. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  44. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  45. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  46. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  47. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
  48. Connecting data sources and creating solutions is only part of the story, though. What’s required for an app development solution to be truly effective is for users to have the ability to easily deploy and share their useful solutions across all the places, teams, and devices that will find value in them. Seen from another perspective, that all users are able to browse and discover new ideas and solutions, easily install and use them across their devices, and even modify them to make an exact fit for themselves. And all this with the security and oversight your business demands.
Anzeige