Blog

Register now for our new ShareCafés!

 

 ShareCafé sessies 2 Header ENG

 

Just as last year, Orbit One will once again be offering its familiar ShareCafés concept in 2015.

By popular demand, this time we’ll be focusing on innovation.
We will be looking at this from the perspective of three popular tools: Office 365, Dynamics CRM and SharePoint, and getting together with you to see how these tools can contribute to keeping your organisation future-proof and cost-efficient.

 

The concept itself has remained unchanged:

 

  • An inspirational session by an Orbit One expert
  • An informal networking moment, with a little finger food to quiet your hunger pangs

This year, we’ll be enhancing the concept with an added twist:

Invite a colleague to join you and be eligible to win a free follow-up session in which our expert will tailor his ShareCafé to the challenges facing your organisation.

 

An important detail - and please don’t allow yourself to be daunted - is that the tone of voice of this edition’s ShareCafés will be a little more technical than before, but we will be placing this within the larger context of day-to-day business operations.

 

 

02/04 Office 365: Efficient collaboration, while keeping costs and complexity to a minimum. What’s the best approach? (Dutch only)

The aim of this ShareCafé is, above all, to lower the threshold for you as a manager, IT administrator, or current or prospective user.

Office 365 is the ideal solution for more efficient, faster and better-structured collaboration. Although the location of data - whether in the cloud or on a local server - makes no difference to the end user, this does have a significant impact on costs, efficiency and convenience from a management point of view.
We will provide you a step-by-step plan, discuss the possibilities offered by the hybrid cloud and show you how to get the most out of Office 365.

After all, Orbit One also migrated to the cloud and supervises similar projects on practically a daily basis! Who can better take away your apprehension than those who have gone before?

 

 

07/05 Dynamics CRM Social: Integration for more information. Being better informed boosts sales. (Dutch only)

A central CRM database: should this task be restricted to the sales department, or shared by the entire organisation?

We will be showing you how to make data obtained for and from marketing campaigns available to the entire organisation with a view to doing away with individual contact management.

Discover how you can transform your website into a tool for boosting sales!

In conclusion, we will also be taking a peek into the future:

what opportunities can use to respond to what is being said about us on the internet?

 

4/06 SharePoint: A box full of documents or an ultra-convenient tool for efficient collaboration? (Dutch only)

We will be focusing on SharePoint during this edition of the ShareCafé. Collaborating with parties from different locations is not difficult at all when you can rely on the possibilities offered by this tool. No more version management and documents on a local server!
In this session, we will be using practical cases (our own and our clients) to show you how to efficiently collaborate with others in your organisation and external parties through technical configuration and the right training programmes. Discover how you can easily present this alternative method of collaboration to your team, your clients, your project groups ... and many others!

News News

Op 05/03/2015 door Hannah

Does Umbraco really love Windows Azure?

We've been working on a big project involving Umbraco and Azure these past 6 months. On the Umbraco.org website is written that Umbraco works flawlessly on Azure - "Umbraco Loves Microsoft Azure" they say. Is this the really the case? Let's check!

Requirements

When designing solutions for Azure, first thing that needs to be taken into account is the scalability of the application. In short it means that the state should not be stored per machine but globally. What are the items that need to be stored centrally for an Umbraco website?
 
The following:

  • Session state (required)
  • Output cache (not required)
  • Media folder (sometimes optional, but highly recommended to speed the image loading with the CDN)
  • Lucene indexes (required)
  • Umbraco.config (required)


So what are the Umbraco hosting options? Basically the same as every other ASP .NET project. Those are:

  • VM's on Azure
  • Cloud services/Web roles
  • Azure Websites (WAWS)

 
Let's go more deeply into those 3 options.
 

VM's on azure

Those are just VM's hosted on Azure. Since load balancing is officially supported by Umbraco you can use Umbraco in Load Balanced Environments doc to setup correctly the site with support of the load balancing. The advantage of this approach is obvious - the scaling works. But there are many disadvantages like:

  • It's classic setup so why do we need Azure for that
  • You have to care about the VM's by yourself (install updates, etc)
  • You have to designate a special machine only for the content editors from which the backend will be available

Keeping the above in mind it was obvious that this was not the solution we were looking for.
 

Cloud services/Web roles

Cloud services are basically VM's with limitations. Those should be a perfect solutions that places itself between the VM's on Azure and WAWS.
 
It's a solid choice unless scaling is planned. Then the things start to be complicated since the configuration of load balancing for Umbraco doesn't apply here because there is no central load balancer. Meaning that after a while there will be a difference in the content the sites will be serving (Umbraco xml cache and examine indexes will be out of sync – the reason for that is of course that the files are replicated per machine, not like in WAWS that the files are on shared folder). We haven't found any technique that would allow us to work efficiently with scaling enabled for this configuration.
 
The Cloud services have however a big advantage – the machine configuration options. In theory all of our solutions build on top of Umbraco could run with using 1 machine (configuration range from 1core/768MB of ram to 16 cores, 112 GB RAM, 40 Gbit/s InfiniBand). Having the assumption, that scaling is not needed, Umbraco could be perfectly used with Cloud Services using single machine. But that was not what we were looking for.

Websites (WAWS)

The third option that we can use for hosting of Umbraco (and in fact all websites) is the Azure Website (aka WAWS). It's a classic hosting with online admin panel and no access to the Remote Desktop, deployment with FTP (but not only). It has less configuration options than the Cloud services (top machine with 4 cores/7GB RAM witch scaling up to 10 machines). Azure Websites, after reading the documentation and articles, was a perfect choice for us. It could scale. It's easily configurable and all the required Umbraco providers (for storing blob and media in the Blob storage) were available. Perfect solution for us. That was the theory…

 

Challenges


So let's discuss all the challenges of Umbraco application on Azure Websites that are required to make it scalable.
 

Session state and Output cache

Azure provides caching servers that can be used for storing session state and output cache. After a research we chose Redis. The only thing that is needed then is a session and output cache provider. Both of them (session and output cache) are on NuGet (Microsoft.Web.RedisOutputCacheProvider, Microsoft.Web.RedisSessionStateProvider) so the installation was very simple. But please be careful if in addition to output cache with custom provider, the Client Dependency Framework is used. Those 2 doesn't work together. Error message:
 
When using a custom output cache provider like 'RedisOutputCache', only the following expiration policies and cache features are supported:  file dependencies, absolute expirations, static validation callbacks and static substitution callbacks.
 
So at the end we have resigned from the output cache being kept in the global server to InProc storage. It's a little bit faster but the cache is per machine which can be a waste of RAM once the website will be scaled - a little waste but acceptable.
 
Session state and Output cache settings are of course not Umbraco specific - those needs to be done for every ASP .NET application hosted on Azure with scaling in mind.
 

Media folder

Umbraco stores all the media by default in the Media folder in the file system. This would not be a problem for the Azure website because the files, in this solution, are stored on a shared drive. But in order to serve the static files faster they should be stored on separate server to boost the website loading times. Also what's important - since the files of the Azure Website are on a shared folder - there could be a latency issue while retrieving the static files to the server itself.
 
Azure has a perfect tool for that - blob storage. It's a simple server that serves static files with an API to save files on it. The implementation of a provider for Umbraco that uses the blob storage is already done and available both on GitHub and NuGet (UmbracoAzureBlobStorage).
 
At the time we started using Umbraco with Azure this library had a critical bug with folder numbering causing the removal of all uploaded media (in the worst case) when the recycle bin was emptied (more details here). The library was already updated so the NuGet version was save but we lost a lot of time trying to figure this out and applying a fix for our production server (many files were already uploaded so we had to apply a workaround to not remove these folders). So because of this, we were forced to write some modifications and we lost a lot of time tracking the issue.
 
But, at the end the solution is stable and the current version of the UmbracoAzureBlobStorage library can be recommended.
 

Umbraco.config

This one is easy - since WAWS uses a shared file system, this file needs to be accessed by all the servers. The only thing that needs to be set is the app setting in web.config umbracoContentXMLUseLocalTemp="false". This would make sure the same file is used for every instance. Additionally in umbracoSettings.config the node XmlContentCheckForDiskChanges can be set to true so the xml cache would refresh on every instance once changed on another. The only concern that I have are possible locks that can occur once multiple instances would like to access the file. I hope I’ll have more results after a while once we enable scaling.
 

Examine

Umbraco uses Examine (Lucene search engine wrapper for Umbraco) for indexing the site content. Implementation of a solution that is scalable is crucial. In the past we had a lots of problems with the load balancer and locks on Lucene indexes. After small research we found that there is an implementation of Examine that allows you to store the indexes, as media folder, in the blob (more info here). We were using it when developing but after a while, once the index started growing, the solution had become terribly slow. We found out afterwards that the implementation is only a POC and it shouldn't be used on production (and we also experienced that after some complains of the customer that the site went down few times - learned the hard way).
 
There are some ways to make the Lucene index work for Azure Website but none of it is perfect (becomes out of sync, need to rebuild completely when the application starts - e.g. https://github.com/Shandem/UmbracoExamine.TempStorage without the syncStorage option).
 
In our situation we have decided to stick with the Azure Website and leave the index in the App_Data directory. We didn't have much latency issue (but that's also possible since the files are on shared folder) so the performance was quite ok. We couldn't use the UmbracoExamine.TempStorage because we had custom indexes and that's sadly not supported out of the box. Custom implementation is needed – we will probably do it in near future.
 
Since our website can be perfectly be handled with 1 large instance of WAWS and with the second one enabled only in rare cases, we decided to stick now with this approach being aware that there could be locks on the index in certain cases. But in the future we will definitely want to change this.
 

Conclusion

Can Umbraco run on Azure? Yes. Can it scale without problems? Nope.  So did it meet the requirements we initially had and that were somehow promised with the statement "Umbraco loves Microsoft Azure"? Sadly no.
 
But since we still think Umbraco is the best CMS available for .NET platform, we will continue using it. And apparently the future is bright!
 
The newest version of Umbraco (7.2.2) would allow us to work correctly with the indexes on Azure Website (details can be found here). The disadvantage is that again the custom indexes are not supported - this would require from us to develop our own solution. But in this moment we haven't tested this solution in real live so we couldn't confirm that it solves the problem.
 
The Umbraco 7.3.0 would have some mysterious improvements for load balancing - maybe this version would fix our issues. Fingers crossed.
 
It's only sad that the real support for Azure (with scaling enabled) is coming so late… You can do better Umbraco!

Technology Technology

Op 26/02/2015 door Mariusz

“Education costs money. But then so does ignorance.”

 

These days, more and more recent graduates are released onto the workfloor without adequate preparation. Permanent education has more than ever before become an essential commodity in a sector that is evolving constantly. Taking this into account, continuous personal development is a valuable asset that every employee should pursue. 

 

Permanent education through learning credits

At Orbit One, we are aware of the need for permanent education and aim to offer concrete solutions in this field.

One of the benefits our salary package offers is ‘learning credits‘.

These credits comprise part of your salary and, depending on your job level, vary from 3,000 to 7,500 credits. One credit represents one Euro.

 

What can these ‘Euros‘ be spent on?

These ‘Euros‘ can commonly be spent on books, course tuition, exams, travel and accommodation, and even e-learning subscriptions. Orbit One, however, takes this one step further by allowing them to be spent on study time as well. This means that our employees will no longer need to take up holiday leave days for educational purposes. An hour or a day equal a set number of credits.

 

There are numerous options available with regard to the courses you can take to sharpen your expertise, ranging from specific technical subjects to soft skills. Coaching and evaluation interviews are ideal moments to determine which skills you could further develop. At Orbit One we generally recommend one or two training courses.

 

The next level

Just as important as permanent education is sharing your newly acquired knowledge with your team. Knowledge sharing, so that everyone can benefit from your expertise, is highly appreciated at Orbit One. This only serves to enrich our company, allows our teams to absorb lots of knowledge and promotes critical thinking with regard to all the information shared.

And to be honest, it always hurts to see a qualified employee leave the company - with or without training.

 

“What's worse than training your workers and losing them? Not training them and keeping them.”

Working efficiently Working efficiently

Op 20/02/2015 door Christine

Structuring operating processes without major investments

Many small and medium-sized enterprises are already using a centralised ERP system for core processes such as supply management, ordering, invoicing and accounting. Many of the processes typical to SMEs are, however, still being approached using manual, ad-hoc and unstructured methods instead of through ERP. A typical example of this is lists drawn up in Excel.
Research has shown that perhaps as many as 80% of all the processes SMEs use are not approached through ERP.

At Orbit One we have noticed that many business are apprehensive about adapting their processes in favour of ERP because they are afraid that it would be too expensive and too complex. We do not recommend, however, that they integrate all their peripheral processes into an ERP system, because this would not offer them sufficient flexibility.

Then what are the alternatives?

Balance between flexibility and structure

To determine which processes can be automated, and to which extent, the first step is to seek a balance between flexibility and structure, the amount of time needed to get a project off the ground, and the software options. Orbit One integrates the most suitable processes into SharePoint or Dynamics CRM, and can also link these to ERP software to considerably increase efficiency while avoiding complex and lengthy ERP projects.

Four levels of automation

To determine which processes require a unique approach or, in other words, would benefit most from structuring, automation and simplification, the first step is to divide them into categories ranging from loosely to highly structured.

 

Examples

Tools

Implementatie

A. Highly structured processes
These comprise the core processes of a business and remain unmodified for long periods of time.

Invoicing, product and supply management, accounting

ERP such as Microsoft Dynamics NAV, Dynamics AX, SAP, etc.

>6 months to several years

B. Structured processes
These require a certain degree of flexibility and should be revised several times a year.

Centralised contact & relation management, lead & opportunity follow-up, helpdesk/service tickets, project management with budget follow-up, complaint management & quality control, timesheets, etc.

xRM: Dynamics CRM, SalesForce.com, specialised packages

A few weeks to several months

C. Loosely structured processes
These could use a little more structure in the interest of efficiency, but should remain flexible enough for monthly updating.

Updating internal learning credits, ordering lunch, travel requests, meetings with action points, validation of purchase invoices, monthly KPI reporting, checklist for new employees

SharePoint

A few days up to several weeks

D. Tasks
Tasks that require little structuring, such as looking up information or helping a co-worker. These will rarely be repeated in precisely the same manner.

Helping a colleague, research, ad-hoc meetings

Excel

E-mail
Paper

 

-

Quick implementation and adjustments

Orbit One helps businesses and organisations primarily with processes at the intermediate levels. In concrete terms, this means that we elevate processes from level D to B or C.

  • Category B processes, for example, can easily be automated using ’xRM’ software such as Microsoft Dynamics CRM and Salesforce.com. Implementation of and adjustments to these can take anywhere from a few weeks to several months to complete.
  • The moderately structured Category C processes can run perfectly via Microsoft SharePoint, which can be implemented or adjusted in just a few days or weeks. 

Important processes require more structuring

The category in which a process is classified depends strongly on the organisation itself, to which applies that the most important processes should also be the most highly structured. If, for example, organising study programmes is one of your key activities, processes such as registration and course management should fall under your Category B processes, and not under C or D.

When we categorise our clients’ operating processes we often notice that important processes that should fall under Categories A, B or C are still being approached in the unstructured manner of a Category D process. This is a missed opportunity, because more structured processes are also more efficient, more accurate and faster. Quality is, in such cases, no longer dependent on the person performing the task. Additionally, it is easier to maintain an overview, not only if the person responsible for it is absent, but also for the management as a whole to enable it to further improve processes wherever necessary.

Starting with concrete, hands-on sessions

Process improvement through projects such as those outlined above require relatively smaller investments in comparison to ERP projects. Many of our clients work with Office 365, for example, into which SharePoint is already incorporated.

When we assist clients with investments such as these, we always base our approach on concrete processes during hands-on sessions. At the end of the session, the solution is ready for use.

Working efficiently Working efficiently

Op 09/02/2015 door Olivier

Did you already discover our free tools?

Orbit One stands for innovation as recently was confirmed by Microsoft offering us to become partner in the Lync Developer Technology Adoptation Program.

Since sharing of knowledge is part of our DNA, it shouldn't be a surprise that our website came with a section of free (internally developed) tools.

Check our growing offer of extras for Lync, SharePoint and CRM.

Feel free to bookmark this page, since we will continue developing free tools this year.

News News

Op 03/02/2015 door Joke