Microsoft Launches Slack Competitor with Microsoft Teams

Microsoft has launched a competitor to Slack and other persistent chat applications that allows collaborators to chat back and forth in real time through a web user experience and mobile apps. 

image

Teams can be activated within your existing Office 365 tenant.   With Teams, now Microsoft has yet another method for collaboration including:

  • Yammer
  • Outlook Conversations
  • Teams
  • Team Sites
  • Skype
  • Delve Boards
  • Good ol Fashioned Email

All of these services essentially do the same thing – facilitate discussion amongst teams working together.  Some are more real time, some are more document centric, but they all focus on enabling collaboration amongst teams. 

Read More

SQL Server Analysis Services Finally Coming to the Cloud!

Microsoft has announced a new cloud service in preview – SQL Server Analysis Services.  This has been a glaring gap in the cloud stack for years and while you could deploy databases through Azure SQL and/or Azure Data Warehouse, you could not deploy SSAS cubes.  If you wanted to deploy cubes to the cloud, the only approach supported was to spin up a SQL Server as IAAS and pay the full on premise licenses to run it.

The new SSAS service supports data sources from both cloud and on premise including SQL Server, Oracle, SharePoint and HD Insight.

Data sources

The new SQL Server Analysis Services only supports tabular models – multi-dimensional cubes are not supported currently.  Pricing also has not been provided yet.

Read More

Microsoft Improves Azure App Service Support for Linux and MySQL

Image result for lamp mysql

Microsoft has supported running PHP, Java and Node.JS within the Azure App Service (which is what used to be called Azure Web Sites) for years.  However, it was always based on Windows and IIS.  This blog, for example, runs on the Azure App Service using WordPress.  The WordPress application code runs within an IIS web site that runs the PHP handler. 

Microsoft is now introducing native Linux support for Node.js and PHP stacks.  This means that instead of running within a Windows/IIS instance, your web site will now running natively in Linux.  This should improve compatibility and allow for folks used to managing Apache the ability to now do so instead of IIS.

Microsoft is also slowly improving its support for MySQL.  Today, the only PAAS solution for MySQL is ClearDB and from my experience its quite expensive and restrictive in its pricing structure.  This blog started running MySQL using ClearDB and it was cheaper and easier to scale it running a native Linux VM. 

Microsoft will now support running MySQL as part of its native Linux Azure App Service.  However, it is only in preview and is pretty limited – it doesn’t support scaling across multiple instances and it runs in the same app instance as your web site (as opposed to setting up a separate dedicated MySQL instance).  Microsoft is only recommending it for dev/test scenarios and not for production just yet.

Read More

Microsoft Introduces Location Based Conditional Access for Office 365

Office 365 has always had a concept of access controls based on users and groups.  Microsoft has now taken the concept much further to restrict access not just based on identity but also device profile and location.

Using a set of policies in Office 365 that control access to SharePoint and OneDrive documents, Administrators will be able to restrict access to documents based on IP address or network location.  For example, this would allow administrators to restrict sensitive documents from access outside of the corporate network.

Enhanced conditional access controls encryption controls and site classification in SharePoint and OneDrive 2

Read More

Microsoft Driving to Cross Platform .NET Standard 2.0

Microsoft has had evolving variations of the .NET framework over the years targeting specific platforms.  Even within Windows, there were multiple .NET framework platforms depending on whether you were targeting ASP.NET, Windows Desktop, or Windows Phone. 

3173.Pic1

When Microsoft bought Xamarin, they also inherited MONO, the UNIX implementation of the .NET framework. 

Microsoft is now going to standardize the .NET framework across these variations in a new framework called .NET Standard.

dotnet-tomorrow

This will provide a core set of libraries, APIs, etc. across platforms and workloads. 

netstandard-apis

Using this approach, Microsoft is targeting library developers who want to create libraries that will work equally well across devices and operating systems through a common standard.

Read More

Office 365 Site Collection Limit Expands to 25 Terabytes!

Microsoft has announced the increase of the site collection size limit from 1 TB to 25 TB for Office 365.

Image result for site collection

A Site Collection in SharePoint is an important logical boundary in that it provides a separated zone for sites and content.  The Site Collection in SharePoint controls a number of settings, taxonomy features, permissions and navigation concepts. 

In previous versions of SharePoint, the Site Collection size was limited by the size of the content database.  Content databases were stored in SQL Server and the recommended limit for SharePoint 2007 and 2010 was 100 GB in order to facilitate easy backup and restore of the database.  In SharePoint 2013, the recommended limit was increased to 200 GB with no hard limits on the database size.  In SharePoint 2016, the content database can be 1 TB or greater, with the limitation being your backup/restore solution’s ability to manage the size of the database.

With smaller Site Collection boundaries, organizations were sometimes forced to carve up their collaboration sites into multiple site collections in order to fit within the recommended size limits.  This created some odd governance issues as organizations split up site collections by department, function, etc. without understanding the complexity of doing so.  In many organizations where conduct migrations from previous versions, we found hundreds of site collections. 

With Office 365, Microsoft is now raising the bar again so that a single site collection can store up to 25 TB.  This should simplify collaboration site deployment in particular so that all site collections can be managed within a single site collection if desired.  Given files are also increasing in size (for example, with large video files or engineering files that can take up hundreds of megabytes) the additional room will be welcome to some organizations.

Read More

Auditing Arrives in Preview to Power BI

Microsoft today announced the addition of new auditing capabilities within Power BI.  The new features are only available in preview to United States customers for now.

For regulated organizations, being able to audit and analyze who has viewed dashboards or reports is an important requirement.  The new auditing features record every user view, export or change to data within Power BI.  The auditing data is available to export or can be viewed within the Office 365 Security and Compliance Portal.

Image result for office 365 security and compliance portal

Read More

As Cloud Architectures Grow Up, Migration and Portability Will Be Key Issues

We have been working on a major upgrade project for an application that was written more than ten years ago.  Written in the era of the “latest” technologies from Microsoft such as InfoPath 2003, JScript, SharePoint 2003, ASP.NET, Windows Workflow Foundation, etc. we have been working to upgrade this entire application because all of these components are now end of life from a support perspective.

Image result for azure application architecture

We are now in the 2003 era for cloud – Microsoft, Amazon, Google, etc. are introducing new services and technologies at a blistering pace with the promise of making line of business applications easier to develop, manage and maintain.  As an industry, we have been sold on the same messages for years:

  • Why build something custom when you can use “out of the box” and configure?
  • Why have developers when you can have power-users who can self-service their own maintenance?
  • Why design your own architectures for scalability, security, etc. when you can rent our already industrial strength solution?
  • Why own your own code, platforms, etc. when we’ll allow you to rent ours at a fractional cost?
  • Why have a simple, monolithic application when you can try dozens of new services optimized to be best of breed?

As we fast forward five to ten years from now, there is a lesson from our experiences maintaining, upgrading and re-platforming applications from years ago. 

Migration matters.  Upgradeability matters.  Vendor lock-in matters. 

When upgrading this particular application, the custom code we developed upgraded without any problem.  Take the 10 year old code, put it into Visual Studio 2015 and build it and it builds.  Hosting the code in a basic web container like IIS also works without a problem.  However, when we start upgrading higher level platform components like InfoPath, SharePoint or Windows Workflow Foundation, Microsoft has “evolved” (e.g. broken backward compatibility) their platforms over the past 10 years and the “configuration” based application components break.  We’re now in the process of fixing these components and re-writing them in some cases to adopt the latest Microsoft standards.

Microsoft is no better or worse than any other vendor – we see similar lessons with Oracle, SAP, IBM, etc.  We will see the same issue with cloud vendors like Amazon, Google, Salesforce.com.  It is in the vendor’s interest to ensure that your application is tied to their architecture components.

Migrating to the cloud is easy.  Upgrading to a new cloud, migrating off the cloud or picking a new cloud vendor could be very hard indeed.

Lets imagine our organization has a line of business application that processes orders coming from the web site to our CRM system and then into our financial system.  We also want analytics so we also invest in some big data services and business intelligence tools.  In the Microsoft world, we might use ASP.NET, Azure Search, Flow, Power Apps, Dynamics CRM, HD Insight, Power BI, etc.  In the Amazon world, we might use Amazon Web Services, RedShift, Hadoop, etc. and maybe we use SalesForce as our CRM system and DOMO as our business intelligence solution.

Regardless of the platforms you pick, each introduction of a new component creates a dependency on the application that increases your migration risk, the complexity to make changes and locks you into the vendor providing you the service.  As the cloud architects advocate for micro-services architectures that split your applications into potentially dozens of services the supply chain of code for your application will become increasing complex.  While there are benefits to such architectures, tracking the dependencies and ensuring all these services work together now and into the future will become a significant challenge in the cloud era.

Avoiding future nightmares by learning from the past.

In reviewing upgrades to legacy applications, we can learn lessons that apply equally well to cloud.  Our team does many of these projects where we review, analyze and re-platform applications that were built decades ago.   Here are is what we have found:

  • Vendor lock-in is a huge challenge and creates a massive migration risk.  If you decide you don’t want to do business with Microsoft anymore because ABC is a cheaper alternative, do you have a plan to move all your data, your customizations, all the configurations, etc. to a new platform?  Microsoft, SalesForce, Amazon, etc. are all betting that in five years from now it will be more difficult to migrate than to pay the increased fees that they will inevitably charge.
  • Pure code solutions tend to upgrade easier than “configuration” based solutions.  My C++, Java or C# application can be ten years old but I can still compile it, run it and in most cases upgrade it to the latest frameworks.  These programming languages are super mature and backward compatibility is very high.  Be careful with high level “power-user” solutions that promise an easier but technically less robust solution.
  • Transparency and portability of code and data is an important principle.  For example, if I adopt Azure SQL as my database, I can still access my data reasonably easily.  I can also export it, move it around, take it back on premise, and see it as a set of well understood tables.  Can I say the same thing if my data is in SalesForce?   
  • As the number of platform components increase, the challenges with dependency management increase as well.  While your architecture could leverage dozens of cloud services to optimize the operation and hosting costs of your application, what is the cost of the increased complexity when you try to upgrade?
  • Understanding the maturity and commitment to maintain backward compatibility and support your customization model is a key requirement.  With the cloud accelerating the product development life cycle dramatically from 3 years to every 15-30 days, cloud vendors are going to threaten your architecture every 15- 30 days if they don’t maintain backward compatibility or provide an upgrade path.  What happens in 3 years if Microsoft decides that they don’t want to support Flow or Power Apps anymore? 
  • While there are some performances and scalability advantages to introducing micro-services, leveraging distributed architectures, harnessing specialized cloud services, etc. their introduction also increases complexity and dependencies.  Most organizations are not Facebook and could build a reasonably focused and robust application using a simple web server and a database only.  While this may sound old-fashioned and harder to maintain than a more sophisticated architecture and operational model, it means upgrading and maintaining the application will be easier.

Past technology revolutions show the way forward – those who invested in new fangled technology solutions a decade ago made some bad bets and bought into technologies that over-promised and under-delivered.  Applications that are simple, leverage non-proprietary and mature technologies and that are easy to migrate over time provide longevity.  Cloud services will follow the same path, except perhaps faster and with more complexity. 

Do you have an architecture that be easily maintained, upgraded and re-platformed five to ten years from now?  As you migrate to the cloud, is their a plan to avoid the same lock-in, migration and portability challenges we experienced on premise?

Read More

Azure SQL Now Supports JSON Storage and Query

Microsoft has just released into General Availability support for storage and retrieval of JSON data.  JSON is a convenient data format used by web sites, JavaScript, REST APIs, etc.  Using the new JSON functions, you can run a query against an Azure SQL database and return a JSON object or you can store JSON entities as values within Azure SQL tables.

The ability to store and retrieve JSON also means you can combine traditional relational data with no-SQL JSON data and use SQL to query both at the same time and to link relational data records and semi-structured JSON data together through queries.

Read More

SharePoint Framework Developer Preview Just Released

In May 2016, Microsoft unveiled a new SharePoint Framework for creating responsive, modular presentation components as a replacement for web parts, app parts, etc.  The framework will be initially released to a new portal experience in Office 365 – I would expect it to be released for SharePoint 2016 on premise as well at some point in the future.

The SharePoint framework-an open and connected platform 3

The new framework is preview only and is available on GitHub here.

Read More