Microsoft Dynamics AX Blog
After over than 9 months of absence, here I am back to my lovely blog and lovely community.
I will start the new journey with my last deployment for our Dynamics AX 2012 environment. It has been really an interesting architecture the one we built on our servers based on the requirements we have.
Our requirement was to have a stable, available and reliable Dynamics AX 2012 environment for our 7 companies that are distributed all over Saudi.Those seven companies are working in different types of businesses like contracting, investment, manufacturing, contracting, services/maintenance, and trade. Thus, determining the number of transactions was not easy. The main point in here is that our users needed to have different modules, processes, workflows, and reports. Moreover, some of them might contradict in their requirements which makes the customization not easy as well.
I also would like to mention that we will be having customers entering our Enterprise Portal through the internet to access their bills which have been migrated automatically from Saudi banking payments system: SADAD. Internal employees will be using the EP of course as their employee slef-services portal. That EP will be integrated with the internal portals and document management solutions in the future.
Number of users is around 336 users:
As you might expect, to allow the availability of such number of users and requirements we have to have a big architecture that serves every single detail of the requirement.
Here are some notes about the architecture:
Server | Quantity | Notes |
Application Servers: Dynamics AX 2012 AOS | 5 | Load balanced AOS Virtual Servers |
Batch Server: Dynamics AX 2012 AOS | 1 | |
Database Server: SQL Server 2008 R2 | 2 | Failover Cluster |
Reporting Server for SSRS, SSAS and Management Reporter | 1 | Might be two as load balanced in the future |
Web farm: SharePoint Server and Help Server | 2 | |
Terminal Servers | 2 | Load balanced to allow accessing of all users through the Terminal Services of Windows 2008 R2 |
File Server | 1 | As a document repository on a SAN storage |
If you are interested to know about the configuration of those servers, please leave a comment and I will be more than happy to answer your inquiries.
Search the site
Dynamics AX 2012 Event
Recent Posts
- D365FO | Cannot Connect to SQL Server Database on Your Cloud Test Machines
- Intro to Microsoft Dynamics AX in Arabic – سلسلة حلقات مايكروسوفت داينامكس إيه إكس بالعربية
- Microsoft Dynamics Launch – Sunday, 24th February – Intercontinental Hotel, Riyadh
- Files of Our AX Brains Dec 2012 Event
- It was a great day!
- Tomorrow is the day for our Dynamics AX Brains Technical Seminar
- Dynamics AX Brains December 2012 Technical Seminar
- Windows Server 2012: Built from the Cloud Up
Tags
Archives
- October 2019 (1)
- January 2014 (1)
- February 2013 (1)
- December 2012 (4)
- September 2012 (2)
- December 2011 (2)
- November 2011 (3)
- July 2011 (3)
- June 2011 (4)
- May 2011 (3)
- April 2011 (4)
- March 2011 (12)
- February 2011 (2)
- January 2011 (3)
- December 2010 (1)
- November 2010 (1)
- October 2010 (5)
- August 2010 (1)
- July 2010 (3)
- June 2010 (4)
- May 2010 (5)
- April 2010 (1)
- March 2010 (9)
- February 2010 (4)
- January 2010 (4)
- December 2009 (11)
- September 2009 (1)
- August 2009 (1)
- July 2009 (2)
- September 2008 (1)
Random Testimonial
- ~ Shibu Purushothaman, Sr. Programmer at WorleyParsons
"Working with Amer was a pleasure. He is a true professional with in depth knowledge of Dynamics AX, .Net and other Microsoft Technologies. His professional approach to design, implementation and training made our migration to Axapta easy, and with very little down time. Another quality that I think deserves a special mention is that working with him is a pleasure, not even once did we feel uncomfortable with Axapta even though we were from a .net platform. He took time to attend to our doubts, and made the transition from .net to Axapta a very smooth ride. I highly recommend Amer and cant wait to work with him again."
- Read more testimonials »
Thanks for the footsteps of design. But how you achieve different Workflow and contradicting customization requirements?
You’re welcome Mohammad :).
That’s a very good question. We actually are planning to roll out even more companies within a year or so. The customization issue definitely will increase with more companies are working on the same AOS.
So solve that issue, we will do the following four points:
1. What we are planning for is to group companies (each 5 or 7) on a separate AOS. So if we have like 20 companies, then we might have 4 AOSs, and each one of them has a different Database and Database Model of course. By this, you will reduce the complicity of the customization issue of course, but will not eliminate it ompletely though.
2. “Parameterise” the customization and never add hard coded actions on those customization. This will actually allow having multiple processes in one feature which allows companies to set their setups according to thire requirements without contradiction.
3. Sometimes you have no other choice but to create multiple instances of the same object so that each company will access its own “version” of that object. For example, any invoice report. In this case you have to create some routines in your code to select the suitable version according to the company. This should not be hard coded, instead you might add that to the Parameters as well.
4. When the user is able to select an action, and action is customization.. for example printing a PO report. Then you might have multiple menu-items and activate the suitable one with security.
I hope that was enough to clear your doubts.
Good post, Amer and thanks for sharing the server topology. In the near future, I will also be implementing similar architecture for our current company which has diversified business.
Just a suggestion – maybe if you can include the RAM size, Disk space to the table it would be great. And, re File server, not sure if you have thought of implementing RBS (Remote Blob Storage) in SQL as we are currently implementing that for our Sharepoint environment.
Also, I have a question re Enterprise Portal Security especially with external users – are you creating proxy AD accounts for them? I recall in Dynamics AX 2009 we had something called Enterprise Portal Permiterer Configuration. Haven’t checked yet with AX 2012
Thanks Amr for Reply followups on each point
1. For this you will be using new License right (As Msft offer unlimited legal entities in same instance so your deployment becomes kind of small cloud, but seperating this way limit scalability as now it is not utilizing full infrastructure)
2. Agreed
3. Agreed as for Reports Data, but for report layout it will not work, point 4 will work for it
4. Agreed
Assuming your client is upgraded from AX 2009 to 2012, and using all modules of AX 2012 (Except Retail POS)
I would suggest you the following
a) Have all servers internal connectivity on Fiber Optic instead of conventional 10 GBs switches
b) You don’t need Clustered option for Management Report and also have SSAS on more then one, increase the Database Overhead on your OLTP machines, 1 is sufficient.
c) Although seperate out SSRS on different to achieve better performance for the item mentioned in point (1)
d) Enable batch on original AOS as well but make the batch timings on Offline Business Times for Orignal Batch server 24 hrs time will be ok
Rest seems great
Hello Muhammad,
Thanks for the reply :).
1. No, you don’t really need a license for that as you are creating more than one database in the same license. You will need a license when you connect multiple AOS to the same DB.
For the suggestion, your suggestions are valid especially when it comes to separating the SSAS from the SSRS. I guess we will need that later on.
Thanks buddy
Thanks Amr,
Let say you have 20 companies to implement.
For your reply, yes agreed about multiple AOS, but my question is MSFT allows one Axapta License for unlimited legal entities, but If you want to segregate different companies on different AOS. say 4 on each AOS. Legally you cannot as these are 4 Production Instances. You need 4 seperate licenses.
Let me know you agree or have comments on above.
Hey Muhammad,
Thanks for the reply :).
I’m not sure about that. This might be true. But please consider that if I did the separation I won’t have a segregated database that contains all companies data in one place. In other words, I won’t get the full advantage because I don’t want to purchase new AOS licenses.
I might need to ask that question to Microsoft team. But in all cases, technically this can be happened and that’s the important ;).
Download MSFT License terms from below link.
Page 5, Section 8,9,10
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&ved=0CDwQFjAD&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F4%2F8%2F1%2F481FB80E-B1BF-429A-9811-985A0140BDBB%2FUse_Terms_Retail_Dynamics_AX_2012_English_Final.pdf&ei=J9FmULK1JsaXhQeOxIGIAQ&usg=AFQjCNEZlXJZ47NEKkWNp8HTX3JaYNlyOg&sig2=mlfvs0sulexMv9SRocCZoA
Hey Muhammad,
Will make sure not to do it then :). Thanks for the note.
Hi Amer,
We have an interesting requirement where our cient have offices that are located in different locations. The internet connection is not that stable between the head office and all this offices and they want 100% availability of the system.
At the same time they want to work the whole system together so that one person on location1 will do something and head office guy will get the data instantly and work on it.
Now to solve the high availability problem, one solution could be having separate AX system running in different offices. But the question comes how then the synchronization will happen with the head office?
Is this possible to use multiple Ax systems in hub and spoke manner. Your help is much ppreciated.
Hello Sandip,
It is really an interesting and somehow common case especially when it comes to some parts of the world where the connectivity is not stable/reliable/fast.
Unfortunately you don’t have a direct solution as far as I know. There might be some alternatives where you will be having some difficulties in each of them. But in any case, if you want the Head Office guy to be aware of all the transactions entered by the other locations users, there must be a fast connection between the different locations. The following suggestions are in case you wanted to deploy the system with two instances and with two databases as you mentioned above:
1. To have a transitional replication on SQL Server databases. Here is a post about Microsoft support for the Dynamics AX database replication.
http://blogs.msdn.com/b/emeadaxsupport/archive/2011/02/15/database-replication-with-ax-2009.aspx
2. To have the integration through the data Export/Import utility in AX2009 and AX2012 with that generates binary files (dat and def). You might export the data for example by the end of each day from the locations, and import them in the HO database. You need to do some aggressive testing in here to insure that you covered all the tables needed.
3. To have a consolidated company where it consolidates the transactions in the Head Office DB, this consolidation is done at the financial data only, so it is a limited solution. I don’t think this is useful in your case.
The hub and spoke model is not supported in AX. Once you deploy/install an instance for AX, then all components are installed in that instance.. you cannot separate those components.
All the very best :),
Amer
Thanks Amer for your reply. I have started evaluating the options mentioned by you.
Problem is this synchronization should be two way and the two AX system should work just like a single system and with a NFR of 5 minutes when network is restored.
So esstially we need to keep track of changes in both the system (in fact multiple system since there are multiple locations, though sync will happen between head office and each of the locations) and do the merge and also after resolving the conflict How complicated it may appear
I will work on this and will keep you posted
Hi, see thi link http://www.navicongroup.com/about/news_and_doings/news/3243/
Hi Amer
Thanks lots for all suggestions.
I have two questions:
– The first is related AX 2012 Client performance. In my ALL installation I have highlighted a bad performance on Client Side. I have also tried to disable Fact Box, Preview pane, etc., but any result. Please, in your experience there is a particular tuning that I can follow to increase the performance?
– The second is related AX Database Replication. I know that is mandatory to have a primary key in all Tables, but with AX 2012 this requirement is satisfied. My concern is related the “Shared” Tables, for example DirParty Table or Item Product Tables. So, if I have two instances of AX with two database in different location, what’s happen if the Internet connection go down and at the same time two AX users ( one in a location and one in another ) create an Address ? When the Internet connection go up, what’s happen on the DirParty tables primary key? Probably, I have a violation of primary key because PartyID is not sequential.
Thanks much
Denis Macchinetti
Hi Amer,
Great to see your blogging again & Thanks for the informative post.
All the best with your project, seems a challenging one :).
hope to you sometime when you pass by Kuwait
Hi Amer,
Please let me know the configuration of SSAS , SSRS and File share server.
few questions:
VMware or Hyper-V
AOS virtual specs?
Physical or virtual terminal servers?
Broker session?
Roaming profiles for TS users?
Physical or virtual SQL servers?
Please describe the specifications of these servers. Thanks!
Wonderful post,
just like the other asked, hardware spec on machines pls…
Amer what was the hardware configuration for these servers..