Everybody Likes Ninjas

Working with Azure 10 tip for day to day work part II

Sunday, 6 February 2011 09:47 by Guy

Guy

In the last six months many new features, improvements and changes have accorded in the Azure platform most are from the technology side, as the system matures new lessons are learned and new features are created as the result of a feed cycle between the Azure development team and the user community. Below are three issues we have dealt with in the last three months.

Technology

6) Disaster recovery for web services requires 2 instances

Part of hosting in cloud platform is receiving the 99.9… uptime, without the extra cost of expensive network gear, redundant hardware and an on the payroll IT employees. Azure solution promises the 99.5 uptime for it services, it is a built in function for Azure CDN, Storage and SQL, yet to achieve the same for a web role you have to upload at least to instances. Apparently the issue was not so clear to many, so a new warning massage was added in the management and development interface.

Image 1 : mutipal instances

7) Improve your availability

Using more than one instance is not enough, I would strongly suggest putting to usage the “Upgrade Domains and Fault Domains” settings. A “Fault Domain” is a physical allocation of hardware serving your application, for instance two different server racks. If you have uploaded two instances or more the app fabric is responsible to use at least two “Fault Domains”. That way if hardware unit fails at least one instance will keep on running.
“Upgrade Domains” is a logical grouping of your instances, the default is 5 domains the Azure app fabric will make sure these domains are located on more than one “Fault Domain”. Why would you need an “Upgrade Domain? Well when Microsoft is upgrading the servers it will upgrade one upgrade domain at a time if your servers are divided to several “Upgrade Domain” there will not be a point in time when all your instances are down.
To learn more check the following blog post "Service Runtime in Windows Azure" .

-There is one catch hidden in this process; let’s say you have 3 live instances all working in the capacity of 70%, your total used capacity is 210% out of 300%. Now one of the servers is undergoing maintenance which leaves you with a total capacity of 200% where will the remaining 10% go to?

8) Place your services close together

As ambiguous as the cloud platform is the servers are located at a physical location and network has an impact on your application performance and your client user experience. Obviously you should select a physical hosting solution as close as you can to the majority of your clients, but that is not enough placing your application modules that communicate with each other is even more important. If you are using SQL Azure or Azure Storage solution with collaboration of Azure Hosted services, place the services at the same physical location ( and no the regions Anywhere US and South Central US are not the same) if you decide to place services in multiple location closer to your client don’t rely on network connection across sits, consider duplicating your SQL Azure DB and using the sync service to replicate data across the different DB instances, that way your application and DB services will be located in the same place.

New features - Missing a feature you are probably not the only one

9) DB instance can be scaled

Web or business edition that was hard decision when we started our SQL Azure project leaving business edition performance advantage aside, size was a big factor. To increase your DB size from 1GB to 10 GB required a new instance and the coping of the data to the new instance while keeping some kind of sync process going on while the application servers are being rerouted to the new DB server. Now multiple that by the number of your clients !!! and try to explain the downtime or why you have to change their in-house ETL process.
Well the new version of SQL Azure allows you to change the DB size on the fly both for the web edition and the business edition.
Farther more having a 50GB combining with the new SSRS reporting system brings new possibilities for a mini datamarts in the cloud.

10) You can host multiple subdomain on one web roll

Filling we are not getting all we can from our instances (remember the multiple instances issue) we decided to upload more than one web site on our instances. Sadly you can upload only one web role per instance and there is no way around it. Yet from Azure documentation we knew you can host multiple web sites on the same web role using endpoint on different ports, but who will ever want to host his web site on a port other than 80? After looking for a solution, we approached Microsoft Azure support center; within 24 hours a blog post was published with a solution tailored for our needs.

How does it work ? the web role imitates the behavior of an IIS by setting a different host header entries the web-roll diverts the traffic to a different “website”.

Up until now if you had three clients each requires two instances (web-servers) and use a constant of 120% computing power, you had to upload each client on a three server group and only one server in the group could be down at a time. By uploading all three client applications to 6 servers instead of 9, utilizing 360% out of 600% available computing power, the new setting increases your availability and redundancy and at any point in time you can have two servers down and still have more the 360% CPU power, not to mention saving the cost of 3 instances!!!

New feature are being added to the different cloud solution at an amazing rate, and the development community is filling the web with new request and replacements for missing feature, such as fulltext search and comparison tools. If you run into a dead end, you must remember you are probably not the only person out there with this issue Google it or contact the support center, the solution is out there.

Guy

How easy is it to embed Ads into a flash player?

Wednesday, 3 March 2010 10:52 by Ziv

Ziv

Call me biased. But I have been a .NET developer for almost 10 years and before that when I was a Java programmer I still used Visual Studio (Remember Visual J++).
And for me it's the best editor a guy can have (if you don't count that fact that it’s slow and heavy).

When I joined TicTacTi I started programming also in AS2 and then AS3. When asking other flash developers, sorry flash designers what editor they are using they all said CS3 with a big smile. But a developer can’t ask a designer a question like this. CS3/4 and probably also 5 are made for designers and not developers and if you like to write more than 10 lines of code don’t go near this editor.

When we started to write in AS3 we started using Eclipse.
Well, this is an editor. But it’s an Open source editor and as such it takes 10 manual pages and 2 full days to learn how to install it so it will compile a simple hello world application. (Why can’t open source application use the wizard concept?J)

At first I had problem understanding the Perspective issue, or the fact that F3 is not used for search.
After awhile I even found out that you can do things with it that you can’t in Visual Studio like compile on the fly, move few rows at once (using Ctrl+Up/Down arrow)
But, what cracks me was a simple task I had to do. I like to compile the code and then run a simple batch file. Simple??? Yes it’s simple if you understand how to write ANS, or some other compiler code. In VS a simple checkbox would allow me to run as much batch file as I like.

I will say this I’m working with Eclipse but every few months I’m looking at different add-on that allow you to write AS code using VS. So far it takes about 10 min of work before I find out that something is missing and the add-on is not ready yet for a real AS application.

So far the Tofino is the best add-on but it’s still isn’t perfect, although I must say that their support team is doing a great job and they did try to help me migrate to Tofino.

I will update this post when I will find a good add-on because I’m sure I will not be an Eclipse developer forever.

Tags:   , , ,
Categories:   Dev Life | Dev Life | Flash | Flash
Actions:   E-mail | del.icio.us | Permalink | Comments (2) | Comment RSSRSS comment feed

Blog Entry 0000.0000 Or Introduction to TicTacTi Dev Blog

Tuesday, 29 December 2009 04:33 by Guy

Guy A few days ago Nir (our CTO) , who always think we are very bored and have nothing to do, told us “Guy’s we find so much help in the open code sources on the internet I feel like we are abusing the development community, I think it is time to return some of our debt back to the community. Will you be interested in writing to TicTacTi Blog?” and then he added “the only time I seem to get to writing a post is in the evenings at home”. Surprisingly Ziv and I said we will be glad to write to the blog, especially since it is not a marketing oriented blog! We decided it will be a technical oriented blog that will provide a window to our life at a young, innovating ,cutting edge fun to work in startup(oops it came out marking oriented).

At any case Nir was right, it is about 00:30 AM my wife just woke from her third dream, and ask if I’m still thinking about what to write in the blog or actually started writing the blog. I tell you guys, writing a blog is not an easy task.

At our first “editorial staff meeting“ near the coffee machine (even our “staff meetings” are agile orientated), we decided on the content of our blog: our personal life and events will not be part of the blog that is why we have Facebook accounts... we will be writing on the life in a startup from the developer’s point of view, design consideration for scalable web application, how to develop light but smart clients, coding examples for the more interesting challenges we encountered, and our patented pending solution NO actually we can’t write about that, it will be like giving our edge to the competitor!

Let me introduce the our blog team members:

Ziv Rosenzweig – blogging on: Flash clients, Flexes, Silverlight, WPF, C#, Web application, .Net in general, JavaScript, HTML and Cell Phones gadgets.

Guy Rafalovich – blogging on : IT Issues, Design and development of OLTP and DWH Systems, Operation of web applications, clouds and general life in a startup.

Nir Hargsury – on : how to build a startup and whatever he like he is the CTO after all.

 

Categories:   Dev Life
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed