Google+

Configuring DNSimple for Azure Hosted Domains

DNSimple is a great service for hosting and configuring DNS for domains you control. It also benefits by not being Go Daddy. I hate Go Daddy. They supported both SOPA and PIPA, run sexist television commercials and I have no love for their elephant killing CEO. Then there is their utterly confusing website, upselling tricks and poor customer service. Don't use Go Daddy.

DNSimple allows you to host up to 10 domains for $36 (USD) for the year. You can find pricing information at https://dnsimple.com/pricing. For multiple domains, this is significantly cheaper than Go Daddy.

Another nice feature of DNSimple is they have templates for many popular sites to configure all of the necessary DNS settings required for hosting. They have templates for Google App pages, Tumblr, Wordpress, etc. While I am a developer and tend to be technical, I get lost pretty quick in the world of DNS configuration. A records, CNAME, MX, etc, etc. The templates help users get up and moving quickly.

However, they do not have support for Azure hosted websites. It took me a little messing around to get this to work, and finally I have it set correctly.

First, for this to work. You need to be hosting your website in Shared or Reserved mode. Free mode will not allow for users to have a custom domain name. To do this, log onto the Azure management portal and go to Web sites and choose your domain. Click scale and configure either Shared or Reserved. Shared is going to be MUCH cheaper.

 

You will then want to configure your domain names. This is done by clicking Configure and Manage Domains

 

This will provide a screen for managing custom domains.

The instructions do a good job of telling you what do. You want to have any domain that you want DNS to resolve for added here. In IIS speak, these are the Host headers. You will want one for WWW and another for your TLD, jptacek.com in our case. The issues I ran into was jptacek.com not registering properly and did not redirect to the main site.

Next, you will need to configure your DNS settings in DNSimple. Go to www.Dnsimple.com and login. To configure your DNS, go to Domains, and select the Domain you want to manage

Once in manage, you will want to go the Advanced Editor, which is what to use when a template is not present.

In here you will add for records, three CNAME records and an A name record. First, add a wildcard CNAME and have it point to your azure hosted website.

Next, as mentioned on the Azure site, you will need a record that will verify you own the DNS. To do that, configure the AWVerify to point to Azure's service

Next, a third CNAME record for WWW that goes to the Azure site

Last, and this is the area I ran into issues, you need to create an A record for the domain that points to the IP Address provided by Azure. This can be found on the Manage Domain settings. This will ensure that a request to the top level site, jptacek.com, will redirect to your site. Be sure to leave your subdomain blank.

 

You may have to wait up to an hour for the changes to take effect. It is also good to flush your DNS to ensure no issues.

If you are looking for a DNS provider or want to switch from Go Daddy (which is horrible, have we mentioned that), check out DNSimple.com If you want, you can even click on the referral link https://dnsimple.com/r/b8a105607bde67, and get one month of free hosted DNS. Even better, I would get a free month of free hosted DNS J

 


 

The Pace of Innovation

Recently, The Economist magazine had a cover story on Innovation, with Rodin's The Thinker sitting on a toilet wondering "Will we ever invent anything this useful again?"

Economist-Innovation Cover

It is interesting to contemplate the pace of innovation and if we are slowing down.

At first glance, it just FEELS like we are slowing down. There is a great quote from Peter Thiel, who runs the Founders Fund, a venture capital fund, "We wanted flying cars, instead we got 140 characters." (New Yorker profile of Peter Thiel). That succinctly sums up the disappointment people feel about the progress of innovation.

You can also look back to our history to see this. In December of 1903 the Wright Brothers flew an airplane at Kitty Hawk. A (relatively) mere 66 years later, Neil Armstrong stepped onto the surface of the moon. Apollo 17 saw the last manned moon mission in 1972. In the ensuing 40 years, we haven't been back. I doubt we will be back in the next 24 either.

In 1900, the average life expectancy in America was 49 years. By 1980 that had risen to 74 years. In the ensuing 30 years, it has risen to 79 years. We can go on and find similar examples that provide the sense that we are slowing down.

There are several reasons for this I believe. The turn of the century was really the time when the benefits of the Industrial Revolution were realized. The advances in Steam Power and mechanization during the early years of the Industrial Revolution gave way to the widespread access to electrical power and lighting in the early half of 1900s that significantly changed the pace of society and saw significant increases in GDP per person (one measure of Innovation) during this time. Economists generally believe similar increases occurred during the period of our history when we moved towards and Agrarian society (a time in which the world obviously did not have a concept of GDP).

In a sense, the pace of Innovation was easier. At the beginning of the Industrial Revolution, the solutions were more readily discovered. However, as we acquire more knowledge and expertise, the barriers to entry become much more difficult. When I was in college, I flirted with idea of studying Astrophysics. Ultimately, I decided not to, and part of the reason was in talking to professors it became apparent that you really needed a PHD to find a job. In talking to the PHD students I realized I had years of to prepare myself for a PhD. A good part of this time involved acquiring the math background I would need several math courses to start the graduate classes, despite having an undergraduate degree in Applied Mathematics. I was unwilling to invest more years of mathematical study just to get into a graduate program.

The Economist article refers to this as "burden of knowledge". The more knowledge we have on a subject, the longer it takes to get proficient. The article states that the "age at first innovation", when someone contributes something new, rose about one year between 1985 and 1997, a period of 12 years. And during the last 15 years, things haven't moved any slower.

So is there no hope for the future? Of course not! Two things I think it is important to take into consideration.

First, we are in the midst of moving from the Industrial Age to the Information Age, and we are at the beginning. As we move to fully realize the benefit of the Information Age, we will see significant gains, similar to the benefits realized as a result of being fully engaged in the Industrial Revolution in the early 1900s.

"Digital Natives", today's students, have grown up immersed in the technology and I believe it will change the way we work and learn. Take for example, my daughter, an 8th grade student. She recently had a homework assignment to solve America's Debt Crisis. As part of her work and research for her presentation, she reached out to economists at both Lawrence University (located in Appleton, WI) as well as Harvard University. She also reached out to our congressman, Reid Ribble. All of the people she contacted replied to her with valuable information used in her presentation. For many students, it is first nature to bypass the geographical or communication boundaries that many of us grew up with. They are also used to using distance learning and communicating via video with things like Skype or Google Chat. I believe, this is going to fundamentally change how we work. So much capital is spent on classrooms to learn in and offices for people to work in. As "digital natives" move into the workforce and bring a high level of comfort with distance working, and then become managers, organization will spend less on infrastructure for offices and the like and be able to apply more resources to applied research in their environment. Second, these distance workers also have a MUCH shorter commute. Many people will find extra hours in their day that will also have a positive effect on per person GDP. We will never remove the need for face to face communication, but we can certainly realize benefits of a global network and communicate more efficiently.

Second, it is always darkest before the dawn. I say that half jokingly, but I am always reminded where we were with Physics study at the start of the 20th century. With the discovery of Maxwell's Equations, physicists believed they had essentially come to the end of the road. The basic forces of the universe, like electromagnetism and gravity were well understood and described the world with precision, precisely the goal of physics. The only thing remained was this pesky issue with the model for the atom. That issue though led to Einstein and his changing the world with the discovery of the photoelectric electric that began Physics on the path to quantum mechanics. The discovery of quantum mechanics in turn lead to solid state physics and the chips that are driving today's information age, not to mention a whole host of other technologies that resulted in immense economic gains.

The thing about innovation, true innovation, it always comes unexpectedly and in ways we can never anticipate. We can all pretend we have crystal balls and can see what the future will be. At best though, we can make educated guesses. Rest assured, there will be technologies that come in disrupt the world and will profoundly change the way we live.

What are steps we can take to facilitate innovation? First off, education. I am not necessarily saying spend more on education, but challenge our students earlier with the topics they need to help them be prepared in science and math. Earlier introduction of these topics, especially classes such as Calculus, ensure our students are able to try and overcome the "burden of knowledge" by starting out with a stronger base at a younger age. Second, continued investment in basic science by governments. The space program was an economic engine for decades that drove innovation. The government's investment in a redundant data network resulted in the Internet which is driving today's information revolution. The ROI on basic science research can be too long for the marketplace to invest in, but when measured in years and decades, the impact to the economy can be massive.

Is Innovation dead? No. Is it slowing down? It may be by some measure. However, I believe we are on the cusp of another great wave of GDP growth as the fruits of the Information Revolution emerge. I am excited to see what is coming next!

This blog post originally appeared at Skyline Technologies


 

Enabling Customer Success with Visual Studio 2012

‚ÄčOne of the enjoyable things about being a consultant with Skyline is partnering with our clients, especially those whom we have had long partnerships with, and helping them be successful with their customers over a time. It is both fascinating and rewarding to watch as they become both more successful, and see how they respond to the challenges of a changing application landscape for their customers.

Skyline has partnered with SoftwareONE, one of the largest software license resellers in the world, for many years now. SoftwareONE is headquartered in Stans, Switzerland and has operations in nearly 60 countries around the world. Our partnership initially focused on enabling their customers to access their licensing information from their backend ERP system. A secondary goal was to facilitate collaboration between SoftwareONE, its global customer base, its software resellers and the software publishers whose products they sell.

To enable this collaboration, the original portal was hosted on SharePoint 2007, with custom pages developed to access the back end ERP systems. The way the ERP system is designed, each individual country SoftwareONE does business in has a separate database. The implementation within SharePoint had each country create a separate web application, in order to identify the country, security constraints and other reasons. After several months of development and testing we had a solution that enabled access to customer licensing information as well as a collaboration platform. The solution was globally available across the six countries SoftwareONE was doing business in.

However, in the five years since the Lifecycle Portal went live, the SoftwareONE business has dramatically grown. During that time those 6 countries grew to almost 60 different countries. With this increase in global scale, the complexity of managing separate web applications for each of these countries became increasingly difficult. Also, during that same time, there was a dramatic shift in the marketplace, as mobile websites and mobile applications became the new normal for many organizations, including SoftwareONE and its customers.

It became apparent to SoftwareONE that it was time to upgrade their Lifecycle Portal. Looking at the options available, it was quickly decided that Microsoft Visual Studio 2012 and .NET Framework 4.0 were the answer to many problems the current system was encountering. The decision was made to rewrite the portal using Microsoft's MVC platform, with the new portal referred to as vNext. Here are some of the benefits our combined team realized from choosing Visual Studio 2012:

Fully Mobile The current version of the Lifecycle Portal was designed to be fully mobile. From the beginning, the goal of the application was to future proof the development by ensuring it could meet a variety of mobile endpoints. The mobile views introduced in MVC 4 enabled custom web pages that are viewable on the variety of mobile enabled browsers that SoftwareONE customers are using.

Web Services To meet the requirements of a dynamic, interactive web app, as well as enable native mobile applications such as iOS or Android, it was important for the application to provide data via web services. The controller based implementation within MVC made the ability to have consolidated logic that is used by the razor view engine to create HTML or JSON data used with mobile clients trivial.

Consolidating logic for presentation within a single controller makes long term maintenance simpler. The controller model also enables us to use anonymous classes to "shape" (or limit) the data we are using for various mobile platforms. The ability to easily emit JSON results with the JSON keyword in the controller ensure that both Javascript-based web implementation as well as native mobile applications are all accessing data via the same application path. Contrast this with our previous web forms implementation where we needed to have a separate service implementation and the benefits of choosing MVC for a service based application is readily apparent.

Entity Framework Code First The previous version of the Lifecycle Application Portal relied on Linq To SQL. Due to several factors, including small differences between tables based on business rules in different countries, the Linq To SQL implementation relied on SQL views. This enabled us to abstract away differences in the table structures. However, as time went on, this approach became a hindrance to deploying new version of the portal. Upgrades would require SQL scripts to be deployed to each country. As the country count went from 6 to over 30, this became quite a time commitment during the deploy process. Second, because of changes to the underlying data structure, changes would have to happen off hours, but with the application running for customers across the globe, there were no off hours!

Entity Framework Code First became a great solution to remedy the problem. With Code First, all of the differences between the databases could easily be handled by not including extra fields within our data model. The flexibility that the fluent API provides also enabled us to add a specific column to our model. Further, by adding a new field to two places within our application tiers, it was immediately available for our Razor views. These Code First features made the cumbersome process of running 30 SQL scripts a much welcomed thing of the past. We love the flexibility that Code First allows!

Claims Authentication Due to the growth of SoftwareONE's customer base as well as the need to be fully mobile, SharePoint 2010 was not the optimal solution for the vNext portal. However, SharePoint is still the premier collaboration platform for SoftwareONE and its customers. SoftwareONE is consistently focused on their customers and providing a top notch user experience. With Windows Identity Foundation (WIF) and the claims aware application stack in both MVC and SharePoint, users could log into one of the applications and have access to both of them with minimal friction. As SoftwareONE makes more tools and websites available to help their customers, the claims based authentication provided by WIF will enable a seamless logon experience.

Multi Threading Like SoftwareONE, its customers are doing operations in multiple countries around the globe. These customers have licensing needs that cross the globe too. In the previous version of the portal, accessing this information meant logging onto each country separately. With the introduction of new threading capabilities in the .NET framework, we were able to bring this data together. Within our application's service layer, each service call that retrieves data is using the new Task library to spin off a database request to each of the SoftwareONE country databases a user has access to. We are then able to combine these disparate data sources into a single result for display within the user interface. This provides SoftwareONE customers a holistic view to their data, no matter how many countries they have licensing concerns in or which database was the source for the data.

JavaScript Like most modern applications, the use of JavaScript and jQuery was used in vNext to create a responsive application. Once the page was loaded, asynchronous calls were made to web services to retrieve data and bind it to the page. With so much reliance on JavaScript and CSS, the new tooling support within Visual Studio 2012 for JavaScript as well as the page inspector tool, helped the developers realize a much more efficient development experience. Many hours were saved in the development phase by having access to these productivity tools.

Team Foundation Server With a development team featuring members in both Switzerland and the United States, code collaboration tools were imperative. Team Foundation Server (TFS) 2010 enabled developers to work on code as well as ensure that each developer's code compiled upon check in. With a large team and many check-ins, knowing as soon as possible that the code was not compiling was very valuable and saved time. Also, the enhanced merge capabilities in TFS allowed people who were working on disparate parts to each have the code checked out, and then merge back in the code of multiple developers without issue.

TFS and visual studio have great testing tools. The development team used Unit Tests to ensure there were no unexpected logic issues introduced with code check-ins. Integrations tests were also run against the database each evening, to ensure code quality and expected results. This was an immense time saver in identifying issues early.

With development teams in different parts of the globe as well as separated by 7 hours, tools provided by TFS ensured quality as well as enabled everyone to focus on doing their work.

SoftwareONE's Lifecycle portal has been rewritten from a SharePoint 2007 application to the MVC based vNext portal and separate SharePoint 2010 collaboration platform. This rewrite takes advantage of many of the tools available in Visual Studio 2012 and the .NET Framework 4. Whereas the previous platform would have required spinning up a new web application, configuring it and running a 40,000 line SQL script to create specific views, we are now in a position to add a few lines to a config file and some SQL permissions and we are deployed to a new country instantly. Even more important, SoftwareONE is positioned for the next five years of growth in our rapidly changing industry, as they now have a dynamic platform that will enable their users across the globe to access their licensing information, whether it is at their desktop, on their mobile phone or using Windows 8.

To see the SoftwareONE Lifecycle Portal in action, check out this video on You Tube.

It has been a great experience being a small part of SoftwareONE as they have become globally positioned as one of the top license resellers over the last five years. We are looking forward to another rewarding five years!


 

John Ptacek I'm John Ptacek, a software developer for Skyline Technologies. This blog is my contains my content and opinionss, which are not those of my employer.

Currently, I am reading Norse Mythology by Neil Gaiman

@jptacekGitHubLinkedInStack OverflowGoogle+