230 likes | 353 Views
Web Development with Windows Azure. Marcus Wendt, maw@composite.net Composite C1 Program Manager. Who is Composite?. Software company based in Copenhagen, Denmark We have been developing CMS for 10+ years Initially based on classic ASP, COM, COM+ Began development on Composite C1 in 2007
E N D
Web Development with Windows Azure Marcus Wendt, maw@composite.net Composite C1 Program Manager
Who is Composite? • Software company based in Copenhagen, Denmark • We have been developing CMS for 10+ years • Initially based on classic ASP, COM, COM+ • Began development on Composite C1 in 2007 • We Open Sourced Composite C1 in October 2010
What is Composite C1 CMS? • Fully featured Free Open Source web CMS hosted at CodePlex • Run on top of IIS, ASP.NET and .NET 4 • Available via the Windows Web App Gallery and WebMatrix • Easy to setup and deploy, great tooling for customization • Offer a wide variety of web tech choices like classic ASP.NET, Razor, MVC and XSLT • front-end developer friendly. • Top rated CMS at CodePlex and 6th best rated among all the 25,000 CodePlex projects
What does Composite C1 CMS do? • Allow building and maintaining customized websites • Focus on - web professionals building corporate websites- users managing content on corporate websites • A host of build-in features - what you expect from a pro CMS • Come with a host of installable features, most free open source
Windows Azure is a lot of things This talk only touch on web roles and storage services. Some of the things I will not cover are: • Virtual Machine roles • Worker roles • Content Delivery Network • AppFabric; Access Control, Caching, Service Bus • SQL Azure Reporting and Data Sync • Windows Azure Marketplace
What is Windows Azure to a web developer? • A platform for running web applications and services • Windows Azure takes care of all the stuff most developers truly dislike: Servers, OS, storage, patches, backup, network infrastructure, load balancing, monitoring, fail over, paper work, … • Windows Azure let you focus entirely on you application • Windows Azure let you deploy with very little fuzz • Feels a lot like “a pure Internet Information Server (IIS)” • Windows Azure specific services and management tools help your web application scale Terminology: • “Web roles” are IIS instances, can host multiple web sites.
Can I just move my web app to Windows Azure? • Not if you maintain state locally in your application • Your application (the files you initially upload) will “reset” from time to time when maintenance or fail-over happen • You need to ensure your state is in a safe place and can be shared among multiple instances of your web role
Where should I put my state? • Your web app can cache and have temp files locally (Local Storage) • Use Blob Storage to store and share persistent files • For a “SQL Server like experience” use SQL Azure • For NoSQL, use Table Storage • Use the Service Bus for inter-role communication • You can get things like MySqlrunning • Table Storage, Blog Storage, Service Bus all have REST APIs and are not limited to .NET developers.
How do I upload my web app to Windows Azure? • Get an account or start with a free trial • Package your web application using either Visual Studio or a command line tool (free) • Upload package and config file via the Management Portal (or via Visual Studio) • To upgrade your application: Repackage it and upload the new version • If takes approx. 8 minutes for an app to get online, 5 minutes to upgrade
How can I debug problems? • With Visual Studio you can run and debug locallyThis simulation is almost like the real thing • You can get Remote Desktop access to individual web role instancesExpect a “oh, it’s just a Windows Server” moment. • If you have Visual Studio Ultimate, use IntelliTrace to “look deep” into your deployed applications runtime state
Scalability • Very simple to increase/decrease number of web role instances(your account will have an upper limit) • Choose your web role size. XS, S, M, L, XL • Changes take a few minutes to take effect • Turn up to handle peaks, turn down to save money.
Location of Windows Azure Data Centers • You can deploy your app to 6 different data centers • You can deploy you app to multiple data center for global coverage • Windows Azure Traffic Manager can handle DNS and direct your customer to the nearest data center – giving better response times
What does Windows Azure cost? • Web Roles • SQL Azure (web editions) • Storage is $0.14 per GB per month. • Traffic is $0.15 per outgoing GB ($0.20 in Asia)
What are we doing on Windows Azure?
What made Windows Azure right for us? • Server management is not our focus, we do apps • Open source means global reach, we need a global hosting solution • We need a platform where scalability is inherent • We can see a market for enabling customers to move their web site to Windows Azure • We can see a market for selling CMS as SaaS • Windows Azure will allow us to create multi-tenancy solutions, enabling cheap entry level hosting on a large scale • Windows Azure pricing is attractive • Being a .NET shop, the technological fit was perfect
What have we done on Windows Azure so far? • We started looking at Windows Azure in December 2010 • Worked out “the quirks” and enabled Composite C1 to run both on-premise and on Windows Azure • Added support for SQL Azure • Created an Accelerator that handle I/O and blob storage • Created a prebuilt Azure Package that will move a site to Azure • Made the Azure Package & Accelerator free for a single XS instance • Created a publish tool that will push content and code updates from a staging environment to running web role instances
How we update and serve our start screen Windows Azure Traffic Manager
A customer case – traffic burst one day a year • Copenhagen Culture Night • Annual cultural event • Only busy a few days • 76.000 visits on peak day • Price to handle it: $100
www.composite.netdocs.composite.net/Azure Reach me at maw@composite.net @CompositeC1 on Twitter