Azure PASS VC Next meeting: Kung Fu Migration to Windows Azure SQL Database

Standard

Azure PASS VC’s next meeting:

Kung Fu Migration to Windows Azure SQL Database

Speaker: Scott Klein, Technical Evangelist Microsoft

Summary: As cloud computing becomes more popular and cloud-based solutions the norm rather than the fringe, the need to efficiently migrate your database is crucial. This demo-filled session will discuss the tips and tricks, methods and strategies for migrating your on-premises SQL Server databases to Windows Azure SQL Database, AKA SQL Azure. Focusing primarily on SQL Server Data Tools and the DAC Framework, this session will focus on how these tools can make you a kung-fu migration master.

About Scott: Scott Klein is a Corporate Technical Evangelist for Microsoft focusing on Windows Azure SQL Database (AKA SQL Azure) and related cloud-ready data services. His entire career has been built around SQL Server, working with SQL Server since the 4.2 days. Prior to Microsoft he was a SQL Server MVP for several years, then followed that up by being one of the first 4 SQL Azure MVPs. Scott is the author of over ½ dozen books for both WROX and APress, including Pro SQL Azure. He can be found talking about Windows Azure SQL Database and database scalability and performance at events large and small wherever he can get people to listen, such as SQL Saturday events, local SQL Server user groups, and TechEd.

Details at http://azure.sqlpass.org/

Download the calendar file: http://www.sqlpass.org/iCal.aspx?EventID=245

How to Join Azure PASS VC’s?

If you want to stay updated on meeting announcements, please consider registering on PASS’s website and Joining our VC:

If you do not have a SQLPASS account:

a. Go to http://www.sqlpass.org/RegisterforSQLPASS.aspx

b. Fill up the required information and register

Now, After successful login/registration – Go to http://www.sqlpass.org/MYPASS.aspx

a. switch to MyChapters section

b. Now under virtual chapters, you would see a list of virtual chapters. Join the one’s you are interested in!

my PASS my Chapter Azure VC

I look forward to seeing you at next Azure PASS VC’s meeting!

News – Now a Certified Cloud Guy – Completed University of Washington’s cloud certifcate requirements!

Standard

Recently I completed a cloud computing course taught at University of Washington and so now I am a certified Cloud guy but more importantly It was great learning experience!

More about the certificate:

The course had three courses which covered following topics:

  • cloud computing fundamentals
  • cloud computing models
  • cloud computing case studies
  • cloud computing application building
  • operations in cloud
  • scalable computing
  • MapReduce
  • NoSQL
  • Big Data
  • programming Big Data
  • Database as a Service

Thanks University of Washington and Instructors for a great learning experience!

Related Articles:

Business operation challenges faced by SaaS provider & cloud provider

Standard

I just researched few business operation challenges that are faced by SaaS (software as a service) provider & cloud provider, I am sharing what I found here:

  1. SaaS and cloud computing companies have wafer thin margins (a.k.a lower margin businesses). According to SaaS update (April 2011 2008, pg 15), Their operating margins are just about 3%. You can do quick search to know past operating margins for the SaaS and cloud provider of your choice.
  2. SaaS and cloud computing companies have to manage the customer churn rate which means these companies have to put efforts in retaining customers. Churn rate is a measure of the number of individuals moving into or out of a collective over a specific period of time. Now managing churn rate is a challenge because retaining customers is difficult and time-consuming. And customer retention is important because in the pay-as-you-go nature of subscription businesses, the customers pay only if they continue to use the service. Thus managing customer churn rate is a challenge for SaaS provider and cloud provider.
  3. Cloud provider and SaaS provider needs an upfront investment to build sales capacity needed to grow the business over time. And so if they invest less, they do not have enough sales capacity and hence they will miss growth opportunities. Thus they have to make a careful trade-off between fast growth and high cash burn rate.

Getting started with creating Java app on Google App engine – Guest Post by Dhwaneet Bhatt

Standard

This is a Guest Post by Dhwaneet Bhatt. He’s one awesome programmer and technologist with an innate ability to master any technical topic very quickly. Here’s his twitter profile: https://twitter.com/#!/dhwaneetbhatt for you to able to connect with him.

If you searching for tutorial to get you started with python app on Google App engine. click here. And Here’s his post which would help you to get started with creating a java app on Google App engine:

1. We will be using Eclipse IDE to code a simple Java App for Google App Engine because it is very simple, the other option is building the application using Ant script, which involves a lot of code writing, and I prefer to keep things simple.

2. Download Eclipse from the following URL:

http://www.eclipse.org/downloads/

The App Engine has support for all the versions but we prefer to use the latest version, so download Eclipse Indigo (3.7.x). On the web page, download from the first link that reads “Eclipse IDE for Java EE Developers”. That will download Eclipse 3.7.x.

3. Extract eclipse and start, you will be prompted to create a workspace, create it anywhere you like and proceed.

image

4. Once in eclipse, we need to install the Google App Engine plugin. Go to Help->Install New Software, once there, enter the following URL in the “Work With” text box: http://dl.google.com/eclipse/plugin/3.7

Note: 3.7 in the URL corresponds to the Eclipse version, if you are using some other version, change the last number according to that. Or you can visit this link that gives all the URLs:

https://developers.google.com/eclipse/docs/download

Click on the “Add” button and this repository will be added to Eclipse. Next time you can directly use this repository name for downloading any Google related plugin. It will then download a list of plugins associated with this URL.

image

Select the options “Google Plugin for Eclipse 3.7” under Google Plugin for Eclipse and Google App Engine Java SDKunder SDKs. These are the basic tools required for deploying a simple app to App Engine.

Click Next (2 times), and Accept the Terms of Agreement (after reading of course) and then it will take a couple of minutes for the plugins to get installed. Go grab a cup of coffee.

5. After it is installed, Eclipse will prompt for restart. Restart the Eclipse.

6. Click on New -> Other… and from the list select “Web Application Project” under Google”, give a name for your project and a package structure, and untick Use Google Web Toolkit and click Finish.

image

7. Now comes the surprise, you don’t need to do anything now. Eclipse has already created all the files required for the Hello World App, but still, I will be taking them one by one so that you can understand the necessary steps for writing a custom app.

8. First comes the deployment descriptor (for people who are new to J2EE, I recommend reading about J2EE first), it is the file web.xml located in the location war/WEB-INF/web.xml.

[sourcecode language=”xml”]
<?xml version="1.0" encoding="utf-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

<servlet>

<servlet-name>Dhwaneetbhattjavaapp</servlet-name>

<servlet-class>com.dhwaneetbhatt.helloworldjavaapp.DhwaneetbhattjavaappServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Dhwaneetbhattjavaapp</servlet-name>

<url-pattern>/dhwaneetbhattjavaapp</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

</welcome-file-list>

</web-app>
[/sourcecode]

The web.xml contains mapping for the default servlet created with the name DhwaneetbhattjavaappServlet, and its URL mapping. This is the URL which will allow the servlet to give a response. And index.html located under war/ is the first file to be loaded when the application is started.

9. The next file is a pretty simple HTML file that contains nothing but a simple link to call the servlet.

[sourcecode language=”html”]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<title>Hello App Engine</title>

</head>

<body>

<h3>Hello App Engine!</h3>

<a href="dhwaneetbhattjavaapp">Servlet</a>

</body>

</html>
[/sourcecode]

10. The next important file is the servlet itself – which responds to the request by the html file. The doGet method means that the request coming from the html file is a GET request. You can repond to a POST request by implementing the doPost method and changing the type of request coming from html form to POST.

[sourcecode language=”java”]
package com.dhwaneetbhatt.helloworldjavaapp;

import java.io.IOException;
import javax.servlet.http.*;

@SuppressWarnings("serial")
public class DhwaneetbhattjavaappServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
[/sourcecode]

11. The last file is the appengine-web.xml file which is located in the WEB-INF/ directory. App Engine needs one additional configuration file to figure out how to deploy and run the application. This file includes the registered ID of your application (Eclipse creates this with an empty ID for you to fill in later), the version number of your application, and lists of files that ought to be treated as static files (such as images and CSS) and resource files (such as JSPs and other application data). In the tag, enter the name of your App Id that you had chosen while registering for the app previously.

[sourcecode language=”xml”]
<?xml version="1.0" encoding="utf-8"?>

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">

<application>dhwaneetbhattjavaapp</application>

<version>1</version>

<system-properties>

<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>

</system-properties>

</appengine-web-app>
[/sourcecode]

12. That’s about all the files we’ve covered. There are a couple of other files – configuration files in META-INF, logging.properties file and a favicon file that are unimportant at the moment. As I said Keep it Simple.

13. Now we are ready for a test run. Right click on the project from the Project Explorer, Run As -> Web Application, it will start the server. The default port is 8888. Open any web browser, type http://localhost:8888, you web application will run.

image

image

14. Before you Deploy it to Google App Engine – you’ll need to create an application on Google App Engine and Get the App Id. Scroll to the bottom of the blog post for a step by step guide.

Now that we have tested the code on our machine, it is time to deploy it go Google App Engine. Right click on the project, Google -> Deploy to App Engine, login with your credentials and on the next screen that comes, click on Deploy.

image

15. Your app will be deployed on the App Engine. Open any browser and enter the URL: http://dhwaneetbhattjavaapp.appspot.com and you will have the “Hello, world” app ready for the world to access.

– Dhwaneet Bhatt

 

*Here’s a step by step Tutorial to create an application on Google App Engine and getting the app id: [from Source]

Now, let’s sign up for a Google App Engine Account with a Google account you may have. Part of the process includes verification via a code sent to your mobile device – so be ready to provide your mobile number. And every Google Account gets to deploy 10 applications with a Google App Engine admin account.

Now, To sign up for Google APP engine. Go to: https://appengine.google.com/ and if you have a Google Apps account go to: https://appengine.google.com/a/<DOMAIN.COM>

Now, sign in with your Google account and you would be asked to verify your account:

image

FAQ for this process is here: http://code.google.com/appengine/kb/sms.html

Now, once you successfully verify your account, you would see something like:

image

And click on create application and fill in the following details. For now, fill in the App ID and the App Title. Leave other options as default for now. And yes, please check the availability of your app id and this will also be your URL. The URL will take the form.appspot.com

image

Scroll down and you will find a “create application”. please click on it. You will also see a message: “Application registered successfully”.

What’s the widely accepted definition of cloud computing?

Standard

Cloud computing is no more a “wild west”. Their seems to be a consensus on what cloud is – And more importantly what cloud is NOT. So what’s the widely accepted definition of cloud computing? Well, It’s the NIST definition of cloud computing.

It has three pieces to it, Here they are:

  • Characteristics of a CLOUD
  • Delivery (/Consumption/Service) Model of CLOUD
  • Deployment Model for cloud

Please search for “NIST Definition of Cloud Computing” and you’ll get to a (latest version/draft) short PDF that is worth reading – takes just 10 odd minutes but super helpful!

For your convenience (and Mine) – Here’s a visualization of the “data” that’s in the NIST’s definition document:

NIST definition of CLOUD

NIST's Widely accepted definition of CLOUD COMPUTING

If you want fun way to remember the definition, please go to: Cloud Computing is AWESOME (OSSM) :: Defining Cloud Computing the Urban Dictionary style! (It’s goal is to help you remember the characteristics of cloud, and i make fun of NIST’s definition – not because it’s not great but it seems academic which may not be the best way to explain cloud to non-technical or business person. So a fun way to remember cloud helps you have a sophisticated discussion with someone who is not completely familiar with cloud. Hope that blog posts is of help too)

And That’s about it for this post. Your feedback is welcome!

And Let’s connect! I Look forward to Interacting with you on any of these people networks:

paras doshi blog on facebookparas doshi twitterparas doshi google plusparas doshi linkedin

Gartner’s Hype cycle for CLOUD COMPUTING: 2008 – 2009 – 2010 – 2011

Standard

In second half of 2008, I had taken a class on Distributed systems. As a part of that class, We were asked to write a paper on the subject of our choice. I had chosen  the subject that focused on answering: How is cloud different from traditional approaches? My aim was to figure out why was CLOUD getting all the “attention”. And i chose this topic because, at that time [2008], I used to follow few blogs (including Gartner) at that time and almost all of them seemed to be “heavily promoting” cloud. So I asked myself “why is world going crazy about cloud?” “What makes cloud different from traditional approaches?” And I decided to find answers to this question and convert it into a term paper for the class. And during the term paper assignment, I got a traditional Hosting account and deployed one of my project there. And compared it with what literature on cloud computing had to say at that time. This approach was super helpful because I had a benchmark on what traditional hosting felt like and then what cloud computing enthusiast had to say about why is cloud better than traditional approaches.And after getting my head around that concept, it’s been fun following how “cloud” has evolved over time. One of the best ways to recap it is to analyze Garnter Hype cycle. To this end, Here’s a recap of where Gartner Places Cloud Computing (and its different flavors) on hype cycle from 2008, 2009, 2010 and 2011. Here’s a recap:

2008:

Gartner Hype Cycle for CLOUD COMPUTING 2008

2009:

Gartner Hype Cycle for CLOUD COMPUTING 2009

2010: (Note the presence of different flavors of cloud on the hype cycle)

Gartner Hype Cycle for CLOUD COMPUTING 2010

2011:

Gartner Hype Cycle for CLOUD COMPUTING 2011

Image Courtesy: http://www.gartner.com

And That’s about it for this post. Your feedback is welcome!

And Let’s connect! I Look forward to Interacting with you on any of these people networks:

paras doshi blog on facebookparas doshi twitterparas doshi google plusparas doshi linkedin

Meet the NEW ivy’s of our world: Coursera, db-class, saas-class, Khan academy, MITx, TED etc etc

Standard

[Update 20th August 2012: seems db-class, ml-class, saas-class etc have been “merged” under a single umbrella which is now called Coursera]

I have been a fan of khan academy for more than 2+ years now. And huge fan of TED for 3+ years now. Did you knew that Khan academy helped me when I took a graduate level class about statistics (To gain mathematical foundation for data analysis) six months back? Yes true story: Apart from Textbooks, course classes and my note-taking (scribbling), the resource that was most helpful to me (for practice) were video courses on statistics at Khan Academy:

khan academy statisticsI watched videos on topic that I was not comfortable with. I got ‘A’ for this course and of course, Khan academy was big help!

Fast forward today, I just completed watching few videos at saas-class.org and the quality of the material is Mind-blowingly  awesome. And I know mind-blowlingly is not the right word, but you get my point, don’t you?! I am sure, you do!

You may ask – what basis do you have to compare saas-class.org with other courses? Well, I am pursuing an awesome certification on cloud computing at university of Washington (UW). It’s great! Now compare that with free saas-class.org whose content is equally great. I am not comparing the “Exhaustiveness” of the course here. The course at  UW is one year-long and saas-class.org is just five weeks – so of course, the content at UW covers more topics. But if I compare the quality – I am just blown by both courses. I get to learn things that I do not know and to me that’s what matters. So Thank you UW and saas-class. Also. it does not end here – I am taking a graduate level course at school of management which focuses on business side of cloud computing. It’s great too and so is saas-class.

Enough of “judging” – but my point being that more than 50k students are accessing saas-class and they get a chance to get learn about software as a service, Agile Development, etc and isn’t that amazing!

Quick Facts:
TOTAL students at UCB (Covers every major) = ~ 37,000
TOTAL students enrolled for saas-class (just one course taught by UCB professor’s): 60k

UC berkely total students

Notice the IMPACT of offering an online course (with OUT admission *requirements*)

Also, Think of students that get access to it, students from communities in the remote(st) part of our world can NOW learn about latest technology. Think of impact that they could make in their community.

I am not saying that these models should necessarily replace existing models, I know Importance of classes and world-class education – That’s why after my undergrad studies in India, I moved to USA to pursue Graduate degree in Information Technology and Management. So I know, Importance of contemporary education system. But these courses/videos help educate masses and not just selected few. And that’s what makes them the NEW ivy’s in my opinion.

It’s Not just for the chosen “ONE’s”

Matrix The ONE

In the new model, every gets a level-playing field to become the “ONE” < No disadvantages, It then boils down to persistence, motivation, etc to become successful and then no one and I mean no one can say that “Ivy’s are the ONLY path of success”.

Replace: ivy’s with “Ivy’s + All good Universities”. I just wanted to craft an eye-catching title. To me, Meet the NEW uni’s didn’t seem that appealing!

And yes check these resources out, if you haven’t already:

Khan Academy

TED

Saas-class.org

Mitx

Udacity

*-class.org (There are lots of these)

What am I missing? Are there other NEW ivy’s out there that I may not know about?

btw, I consider people sharing their knowledge via blogs, technical forums, etc are important too. They add value in someone’s life. And that’s one of the reasons I blog too!

UPDATE – How on earth i forgot:

Academic Earth

Indian Government’s National Program on Technology Enhanced Learning (NPTEL)

I remember, Once a professor in an US university pointed his students to watch a video lecture (to delve deeper) from NPTEL. Isn’t that awesome!? I came to know about this because one of my friend was part of that class.

UPDATE – 19th March 2012:

One more resource: http://www.openculture.com/ [via kewal]

UPDATE – 2nd  August 2012:

My New favorite: coursera.org

Understanding Cloud Computing Modalities Analogically…If my Laptop were a Cloud…

Standard

Analogies help, don’t they?! So here I am…just one more analogy that may help you understand Cloud Computing modalities i.e IaaS – PaaS – SaaS. If you want to know what IaaS – PaaS – SaaS are? Then this is not the right blog post. But if you find want an analogy that would help you differentiate them, read along…

So, If my Laptop were a cloud:

Laptop hardware

Hardware

If my Laptop were a cloud, then Laptop Hardware is IaaS (Infrastructure as a Service)

Operating system (OS) on Laptop

Operating system (OS) on Laptop

If my Laptop were a cloud, then Operating system on Laptop is PaaS (Platform as a Service)

An App (Software) running on Laptop OS

An App (Software) running on Laptop OS

If my Laptop were a cloud, then App running on Laptop OS that you access is SaaS (Software as a Service)

Summary:

Hardware <-> IaaS / Cloud Computing

OS <-> PaaS / Cloud Platform

Apps running on Laptop <-> SaaS / Cloud Services

Remember, it was an analogy, Not technically accurate and so please look at the concepts on your own. But this analogy helps me differentiate concepts and i though it may help someone else..

Do you have other analogies to share? If so, I encourage you to post it as comments!

[cloud 101] Is cloud secure?

Standard

I got this question recently and I thought of converting them into a “cloud 101” blog posts. So here they are:

Q: “Banking – with its high security needs and strict regulations – was always considered to be one of the last industries to accept cloud-computing”. So is cloud computing insecure?”

A: I would say – Cloud is secure. At least companies like Amazon (AWS), Microsoft, Google have advanced security mechanisms in place – In most cases, Cloud is more secure than private data-centers. And some banks do not move to Cloud (or cannot move to cloud) because of other reasons. And most of them fall on the legal side of things. Strict regulations (government regulations) as you mentioned.

And later at one point, we discussed about banks keeping parts of the data/app on-premise and moving other parts to cloud. That’s called hybrid cloud. What they do is that since they cannot move “sensitive” data to cloud because of government regulation and/or business policies – they move things that are permissible by law/business policies to cloud.

And we also discussed about what are the disadvantages of moving to cloud? I realized: Most of the perceived “disadvantages” are actually MYTHS. so at one point I felt the need to clear myths and then talk about other topics. It was fun though!

Resource:

Cloud Security Alliance

Cloud University – A nice resource to help you develop understanding of key elements of cloud computing

Cloud Computing Certificate
Standard

I just completed the Cloud University’s online course http://www.rackspace.com/knowledge_center/cloudu/ and found it to be a nice resource – I thought I would share it with you. It’s a free online resource for learning about key elements of cloud computing. They have modules covering:

  • Definition
  • Economics of cloud
  • Cloud computing stack (IaaS, PaaS, SaaS)
  • Security
  • Planning phase to move to cloud
  • Management strategies
  • Hybrid Cloud (Cloud Bursting)
  • Open cloud computing initiatives

After every module – you would be Quizzed (based on learning in that given module). And after completing all (10) modules – there would be a final exam and once you clear that – you’ll get a certificate like this:

Cloud Computing Certificate

CloudU Certificate

Badge:

 

Go to: http://www.rackspace.com/knowledge_center/cloudu/ to learn about key elements of cloud computing.

Related Posts: