Transcript

00:01Alright, welcome to this session on Amazon Web Services.

00:06Yeah, last DevSummit, we asked people what we could do better, and they said, "Find some bigger rooms for the presentations."

00:13So here I am. I never thought I'd make it to the big stage.

00:16My name is Sterling Quinn. I'm a product engineer on the ArcGIS Server development team.

00:21Marwa Mabrouk is with me. She is the product manager for ArcGIS Server on Amazon.

00:27Actually, we changed the name to "on Amazon Web Services." You might've noticed that.

00:31That was at Amazon's request. Amazon Web Services is their umbrella for all of the web services that they offer...

00:39...and the Elastic Compute Cloud, or EC2, which we'll be talking about today, is just one part of that.

00:46Now, most of ArcGIS Server is driven by EC2; it runs on EC2, but you may see throughout this presentation...

00:54...where we see or mention other web services types that are offered by Amazon.

01:02Today I'm going to start out with just a brief introduction in case you're new to the idea of running ArcGIS Server on Amazon...

01:08...and then I will do a short demo of how you get started with running it on Amazon, and I will use 10.1...

01:16...including the new Cloud Builder application that Esri made for deploying ArcGIS Server sites on Amazon.

01:25And then I'll turn the time over to Marwa.

01:27She's going to show some case studies of people who have used ArcGIS Server on Amazon...

01:32...and she'll get into a more detailed showcase of that...

01:36...and she'll also talk about business considerations and costs of using the cloud, which is her forte.

01:43And then we'll leave some time at the end for questions...

01:45...so please jot down your question, and we'll be sure to leave time for that.

01:52And if you do have a question, you might want to come up here to ask it. May not be able to hear you.

01:58So just as an introduction, this is a slide that I don't know if you guys need.

02:03Probably most folks at this conference understand the concept of virtualization.

02:09I had this in here at the User Conference sometimes for beginners.

02:14But really, that's the idea of sharing one physical resource to host multiple operating systems...

02:21...or to make it look like there's multiple machines running.

02:24So they share hardware; that's the part you need to understand.

02:28Because Amazon has really procured large amounts of hardware, and they've become very good at making it efficient...

02:35...to the point where they feel that they can rent it out through their web services.

02:40They actually developed some of this hardware to run their own website.

02:43You know, at Christmastime, Amazon gets quite a bit of traffic for the holidays, people buying gifts.

02:49They had increased the power of their site to handle that, and eventually...

02:53...they decided that their infrastructure was something that maybe other people could use as well...

02:57...so they made a business out of renting out hardware infrastructure, and that's what Amazon EC2 has become.

03:07What it is, is you are running virtual machines on Amazon's hardware within their data centers...

03:13...and their data centers are built throughout different geographic regions of the world.

03:17And they make their data centers fail proof or failsafe as much as they can, isolating certain blocks of hardware resources...

03:25...making it power efficient and coming from different power sources.

03:29And they take many types of physical security measures around these data centers...

03:33...that you might not be able to take with your own data center, so there is some advantage to that.

03:38If you think about your layout, your server room might look much like this graphic on the left, where you have a finite number...

03:45...of physical resources inside of an area maybe in your building or somewhere on your organization's campus.

03:54It may or may not be locked up or subject to certain security measures.

03:59It may or may not have adequate air conditioning or other things.

04:03Somebody could trip over the cord.

04:04These are all things to think about that you might - challenges that you might deal with on premises.

04:11When you have your hardware on Amazon EC2, it's in their data centers, and it's optimized for running in their environment...

04:18...and they've been able to set their cost based on their studies of how efficiently...

04:24... they can keep their data centers heated and cooled and power these resources.

04:30So in the end, you're storing your data and you're running your apps in a place that may be more robust than your physical location.

04:39And one of the real advantages is that you can use their hardware if you need to scale out, for example.

04:46If you temporarily need extra machines, you can configure your site so that it adds machines for a certain period of time...

04:53...and then once a certain threshold of inactivity is released, then the machines are deleted or removed from the site.

04:59Then you no longer pay for those machines.

05:02Some of the advantages of this may become obvious to you as you think about it.

05:08We already talked about the infrastructure and elastic deployments, but think about the advantage of having...

05:14...the cloud like this for prototyping.

05:16Suppose you're going to develop an app and you need to have it run on a machine with a certain operating system...

05:23...in a certain size and spec for just a period of time while you prototype.

05:29Amazon cloud can be a way to quickly get that machine available to you just for the amount of time that you need it...

05:36...without having to jump through hoops of, you know, filling out maybe an official purchase order...

05:41...or waiting for the hardware to arrive in the mail.

05:44People find that the cloud is very useful for this.

05:48Also, if you're in an emergency and you need to have server power right away...

05:53...having your app in the cloud makes it a lot easier to quickly add infrastructure.

05:59Some departments that deal with things like natural disasters or weather or news items...

06:06...have found out that the cloud is very helpful for just short periods of time, increasing the capacity of their site.

06:14When we talk about running ArcGIS Server on Amazon, there's two key terms that you need to understand...

06:21...and often we can get these mixed up if we're not careful.

06:25I may even do it in this presentation due to nerves, but I hope to define these two things...

06:30...and help you understand them now so that the things you see throughout will make a little more sense.

06:36An EC2 instance is a virtual machine that runs in the Amazon cloud.

06:42And you can pick out the size and spec of this instance, and I'll show that process a little bit later on.

06:47So EC2 instance is what has ArcGIS Server running on it. An Amazon Machine Image...

06:53...or AMI, or A-M-I, or ay-me or am-ee [phonetic], as I've heard it called this week; pick which one you like.

07:01That defines the operating system and software that gets applied to your instance when you create it.

07:07So it is literally an image that's used to create the instance.

07:12Now what does it mean to say that ArcGIS Server is supported on Amazon EC2?

07:18What it means is that Esri has developed these Amazon Machine Images...

07:23...and is willing to share them with you to use on the Amazon cloud.

07:29When you develop an Amazon Machine Image, you can choose to make it available to everybody - the public...

07:35...or you can choose to share it with certain individuals.

07:38In the case of the Esri AMIs, Esri must share those with your Amazon account in order for you to use them.

07:46So you must talk to customer service or your international distributor and let them know your Amazon account number...

07:52...so that they can share the AMIs with you.

07:54Now, there are three AMIs available at version 10.1 - ArcGIS Server with PostgreSQL running on Ubuntu Linux.

08:04We supported Linux for the first time at 10.1.

08:08Other one is ArcGIS Server with SQL Server Standard running on Windows, or you can go with SQL Server Express.

08:16You can also mix and match these AMIs as need be...

08:20...so if you want to run ArcGIS Server on its own instance and have SQL Server Standard running on a separate one...

08:27...you could launch two instances and then disable ArcGIS Server on one so you just have the database remaining.

08:33And then you'd have two instances - you'd have the server separated from the database.

08:37The disadvantage of that is you'd have to pay for two instances running...

08:40...but the advantage is you wouldn't be competing for resources among those.

08:45You wouldn't be competing for resources like you would if both the server and the database were on the same machine.

08:50So the point of what I'm saying is you can use these AMIs in any combination that works to build your site.

09:00The way that you create an ArcGIS Server site on Amazon is to use the Cloud Builder application...

09:06...that is being developed at 10.1, which I will show.

09:10This is a graphical application that you - just has a wizard and you click through it and it makes a site for you.

09:15You can even use it to set up automatic scaling rules and other parameters for your site.

09:22A more advanced way is to use the AWS Management Console.

09:26That is a web application developed by Amazon for the purpose of administering your resources on Amazon cloud.

09:33Before 10.1, AWS Management Console is the way that you work with ArcGIS Server on Amazon.

09:39So if some of you go and try this out, like, tomorrow with 10.0, you would need to use the AWS Management Console.

09:47I will show that console also briefly during the demo.

09:53Amazon EC2 is driven through an API that you can download and use to script certain actions.

10:00This is very helpful for saving money.

10:04Every time your instance is turned off or stopped, it's not accruing charges that you are...it's not accruing charges for running.

10:12So a lot of people like to script their instance to stop it at the end of the day or at the end of the week...

10:19...and then they run a script on Monday morning to start it back up so that they're not accruing charges over the weekend.

10:25There're other useful things that you can do with scripting, such as setting up detailed autoscaling parameters...

10:31...that you might be interested in.

10:33And then other third parties have developed tools for working with Amazon.

10:36A lot of people like to use ElasticBox. That was around even before Amazon built their own Management Console GUI.

10:43So you might be interested in exploring those.

10:48Let me cut out to show Cloud Builder right now.

10:55This is what Cloud Builder looks like; it's very simple layout.

11:01You will download Cloud Builder from the same place on Esri Customer Care site where you download ArcGIS Server...

11:08...so look for it there among the available downloads.

11:13If you purchased ArcGIS Server, there's no extra cost for purchasing Cloud Builder and setting it up.

11:19Cloud Builder is an Adobe AIR-based application.

11:23When you install it, you'll be prompted to install AIR if you don't already have it.

11:29And then it looks like this.

11:31The first thing you'll see is a login screen where you'll be prompted to enter your Amazon access key and your secret key.

11:39These are credentials associated with your Amazon account, and all applications that use the Amazon APIs...

11:45...require you to submit these keys so that they know which account is working with the application.

11:52I will show you a little bit later on where you can view those keys.

11:55You can view them in the AWS Management Console.

11:59Once you've typed in your keys, you can choose, if you want, to have Cloud Builder just remember those...

12:04...and then you don't have to type them every time you open the app, or you can require a login each time.

12:10Requiring a login is helpful if you're going to use multiple Amazon accounts with the same Cloud Builder application.

12:17So I have already logged in, and I've actually created a site on here already, but I'll show you the process of creating a new site.

12:24You just click this Add Site button up at the top.

12:28I'm going to switch to this mic while I do the demo.

12:39So you could just type a name for your site and - what's today? So this is my site for Tuesday.

12:52And type a description, and then you choose the operating system that you want, so this is the point...

13:00...where if you wanted to go with Linux, you could do that, or Windows, or the third option is to use your own template.

13:06So this is a way that you kind of, you can use a custom image to build your site.

13:12Once you've gone and built your site, you can use Cloud Builder to go back and save that site as a template...

13:17...and then later on, you can launch new sites using the template.

13:20And this is helpful if you want to set up your own services and applications just once and then launch...

13:25...multiple sites that have all those services ready to go, so be sure to note the template option if you use Cloud Builder.

13:34For this demo, I'll just choose Windows.

13:37And then you will be prompted to browse to a license file.

13:39Now, when Cloud Builder makes your site, I just browse to an ECP file...

13:45...which you could get from working with customer service if you needed to.

13:50When you create your site, it's going to license the site and start it up automatically...

13:54...so that's why you have to provide this file right here.

14:00Also, the options that you will see in Cloud Builder are tied to this license file, so actually...

14:05...right now it's looking at that file, and it's going to detect that it's an enterprise license, so it's going to give me...

14:10...more options, such as being able to autoscale and run ArcGIS Server on multiple machines, or EC2 instances.

14:19You must license with Esri licenses any machine or any software that you cause to run inside of ArcGIS.

14:29Sorry. You must license any software that you cause to run inside of Amazon EC2.

14:36At this point, you will choose which region that you want to run in.

14:38So Amazon has set up data centers throughout the world.

14:42In this drop-down, you'll see what they are.

14:47I'm just going to choose the Virginia data center. That was the first one; it's one of their largest data centers.

14:52But they've recently brought new ones online in Oregon and Brazil.

14:57If you're working with 10.0, we do not have images yet for those new regions...

15:01...but they will typically become available at the next service pack.

15:05So when the images come out for service pack 4, we should have those in the Oregon and Brazil regions just a few weeks later.

15:14You can also choose an availability zone if you want.

15:17Within each region, or each data center complex, Amazon has isolated certain areas of hardware...

15:24...and that's what the availability zones are.

15:26So this is just a way of building more failsafe techniques into your site is to spread out the instances among zones.

15:36If you leave No Preference, it will just choose a zone for you.

15:40Now you choose the instance type that you want to launch within your site.

15:44So this is just pulling instance information from Amazon, and this is where you might start to salivate...

15:50...at the large machines that are available to you, all the computing power.

15:54Remember that the choice you make here affects your bill, how much you pay.

16:00Some of these large instance types are much more expensive than the smaller ones.

16:04You should go to Amazon's pricing website to clearly understand the prices and also the specs for these instances.

16:13Amazon Web Services has very good charts on their website for understanding those things.

16:19For my demo, I'll just choose the large instance.

16:21We are working on certifying the medium instance that just became available.

16:25If you're watching Amazon closely, you'll know that they released a lower-priced type of medium instance...

16:31...and we are working on certifying ArcGIS Server on that.

16:36We feel like it's a promising option for perhaps development purposes...

16:41...but the large instance is probably what you would want to go with in a production environment...

16:44...just for the amount of memory that's available and the amount of - and the specs of the machine.

16:52A key pair is a file that you will use if you want to remote desktop into your instance.

16:57To get into an instance, you need to have the administrator password, and Amazon is only going to give that to you...

17:04...if you have a key pair file that you have saved to your machine that's associated with your account.

17:09So you can have Cloud Builder create a key pair for you.

17:12It will place this in the My Documents folder, and you can go take it from there and put it in a more secure location.

17:18But you will need this file if you want to remote desktop into any of the instances that Amazon creates for you.

17:26On the next panel, you will choose whether you want to include an enterprise geodatabase in your site.

17:32So if you check that box, more options become available for SQL Server Express or SQL Server Standard.

17:38And as I mentioned earlier, there is an option to put the database on its own EC2 instance, and if you choose that...

17:46...it will wire it up all for you so that ArcGIS Server is running on one...

17:52...and SQL Server Standard is running on the other and they are connected.

17:58If you choose to have the database on its own instance, you will also get to choose the instance type for the database...

18:03...so you can potentially put the database on a very large machine or a smaller machine.

18:09I see... Is that a quick question?

18:12[Inaudible audience question]

18:19Your licensing at that point...at that point, you're licensing the ArcGIS Server software.

18:26And you know the answer to that? You need a separate license for the database?

18:29Yes, you do. Okay. Thank you. That was an easy answer.

18:36Alright. The number of EC2 instances is how many machines will be launched in your site.

18:42So the default is just one, which is good for just keeping your costs under control.

18:48If you plan on scaling out your site or you're ready to launch a site with lots of computing power...

18:55...you will check this box to enable automatic scaling.

19:01You can actually increase this number without enabling autoscaling. I misspoke. So you could raise this to 2 or 3.

19:08If you want to expand dynamically in response to incoming traffic, you could enable autoscaling...

19:14...and then set a maximum ceiling on the number of machines that would be added into your site.

19:19So I could have, for example, a minimum of one instance and a maximum of three.

19:24Now, what determines whether a machine is added into your site?

19:28You will set triggers down here on the amount of CPU usage coming in to your instances or that are being done by your instances.

19:37For example, when CPU usage reaches 80 percent for five minutes, it will add another instance to your site.

19:45If usage goes below 20 percent for five minutes, it will remove an instance.

19:51And you can adjust these triggers the way that you want.

19:56Remember, again, that whatever instances are created...

20:00...you'll receive a bill from Amazon for that amount of time that it took to run that instance.

20:06Each partial instance hour is charged as a full hour, so you want to be careful that you don't set thresholds...

20:11...that cause your instance to go away and then come back for five minutes and then go away and then come back.

20:16If it's too sensitive, you'll wind up being charged for a lot of those full instance hours over time.

20:24One thing that you do as you proceed is you'll need to set up a primary site administrator account for ArcGIS Server.

20:31Now this is new at 10.1, so I'll take a minute to explain what this is.

20:36When you launch any site in ArcGIS Server 10.1, whether on the cloud or on premises...

20:43...security is enabled and there is one account that initially has access to everything; it's like the superuser...

20:50...and that is the primary site administrator account.

20:53Now, you define this in order to create the site.

20:56Later on, you can choose to disable that account or create other administrators or other users, but in order to launch a site...

21:03...you will need to provide a name and password that you make up that will be the initial, or primary, site administrator.

21:15You can also choose at this time whether an SSL certificate should be applied to your site when you create it.

21:21The SSL certificate needs to already be uploaded and exist on Amazon, and if it detects one associated with your account...

21:29...you will be able to pick it from the drop-down here.

21:32For this demo, I'm not going to do that part.

21:35I've reached the end of the wizard at this point.

21:37I see a summary of everything that's going to be created, and I can just click Finish, and it will start doing a lot of things.

21:44It's using the Amazon APIs in the background to launch this site.

21:50It's setting up all the things that I need with the site, including elastic load balancers, EC2 instances...

21:58...all of the disk drives that are associated with these, and everything else.

22:05If you click this In Progress link, it will actually give you some detailed messages about what's going on...

22:11...if you're curious about what things are being created.

22:14Be aware that, from this point on, you will begin to accrue charges...

22:16...for the things that are created in Amazon EC2 that are charged.

22:23So this one is going to spin for a little while, and I may not even finish creating it during the short time I have for this demo...

22:30...so I've created a site already, and I'm going to show you what it looks like when it's done.

22:35That's this one down here - DevSummit Workshop.

22:38So when you're done creating a site, you'll have the option to back it up...

22:43...which you can restore in case anything happens to your site; you can just restore from backup.

22:48You can stop your site, which is akin to just pushing the power button.

22:52It doesn't delete your site forever; it just stops it from running and stops it from being available to end users.

22:58This is a good way to cut costs if you know that you're not going to be using your server.

23:02You can update some of the properties of your site, or you could delete it...

23:07...and deleting it does make it go away forever, and it does delete all of the items that it created.

23:16It gives you a link here that you can use to open ArcGIS Server Manager for your site...

23:21...so that's how you can go ahead and get started is to click this link and open Manager.

23:34So when you look at this, you'll see the address of my site up in the top...

23:38...and you should see a login page for Manager, if we're fortunate here.

23:44One thing that you'll notice in the URL is that it contains the address of the elastic load balancer.

23:51And a load balancer is an item that you can create inside of Amazon EC2 that allows you to distribute traffic to multiple instances.

24:00And so if you have a GIS server site with three GIS servers in it...

24:04...the load balancer will distribute the traffic to those instances.

24:07So you'll notice that that is one thing that's configured for you.

24:11Now I'm into Manager and I could log in to it at this time if I wanted to.

24:17I will actually come back to this a little bit later.

24:20I also want to make the point that you can connect in Desktop.

24:23So let me copy this URL. I'm going to go into the Catalog window of ArcMap where I have connections to ArcGIS Server.

24:35Now, I have this one, which is my connection to this local laptop.

24:39I also want to add a connection now to that cloud site that I just created, so I'll add an ArcGIS server...

24:47...and notice at 10.1, you get an extra option in here that has publisher-level permissions.

24:52So that's kind of a nice goody in 10.1.

24:54You used to just have these two - use or administer.

24:58I'll choose Publish, but the name and password I am going to type in is that primary site administrator...

25:04...'cause right now, that's the only account that I've made on that site.

25:09The URL is just the same as the manager URL except I'll remove the manager part...

25:15...and then I can type a name and a password of somebody who has publisher privileges.

25:19That would include this admin that I created.

25:23And this should connect me to ArcGIS Server.

25:26Now, this is handy if you don't have physical access to log in to the server...

25:30...or if you don't want to remote desktop into your server and go inside of there.

25:36For example, if I created a Linux site, I could connect to it this way and work with it.

25:41I don't know - I'm not a Linux guru; I don't know how to SSHN and type whatever commands I need to do.

25:48But I could work with it this way and start and stop services and even publish. So I will do that now.

25:54This is a very basic site. It doesn't have any services running on it other than the default services that are launched with 10.1...

26:02...but I have this map here of Spain that I might want to go ahead and publish to the server.

26:08And ArcGIS Server 10.1, you can choose to have data copied to the server at the time that you publish.

26:14The data is actually clipped out of your map, packaged up, and copied up and uploaded to the server...

26:20...and that can be very useful in cloud deployments.

26:22You might remember that, seeing that in the Plenary Session.

26:32I probably made it think too much. Okay.

26:35So you will choose File > Share As > Service, and you choose to publish...

26:41...and you'll see a dialog that allows you to pick the server connection you want to use...

26:45...and so you'll need to be careful to pick your Amazon one.

26:49It's going to show all the connections that you have down here.

27:02So what it's doing now is it's just creating the basic properties of the service that I will need...

27:07...and now it allows me to set some of those detailed parameters.

27:11If I wanted to set up caching and whatnot, I could do that.

27:14I could even set it up so that it starts caching automatically once I publish the service.

27:19That's another extra goody that's available in 10.1.

27:23In my case, I'm just going to choose to go ahead and publish, and at this point, it's going to package up all this data from Spain...

27:31...and upload it to the server and deploy the service.

27:34So we should be able to come back in a little bit and see that available.

27:40Oh, and it, before you copy anything to the server, it gives you fair warning.

27:46You don't want to do this with datasets that are excessively large.

27:49If you have very large datasets that are many gigabytes in size, there's other techniques to get that data up to Amazon...

27:55...but this could be a convenient way if your data is relatively small and contained.

28:00So I'll just accept the warnings about this being copied.

28:03And you'll see the messages that are coming across, that packaging is in progress and so on.

28:09While that's happening, let me show you what's going on behind the scenes in the AWS Management Console.

28:15So if you work with 10.0 or if you want to get a more detailed look at what was created...

28:19...you can log in to this site at aws.amazon.com/console.

28:25You type in your Amazon account credentials and you get to this page.

28:29And if you click EC2, you can see all your stuff that's running inside of the Elastic Compute Cloud.

28:37Earlier on, I mentioned that you have a secret key that you need to type in in order to log in to Cloud Builder.

28:45The way that you can view that is here if you look at your security credentials.

28:49So this'll bring up a separate page where you can view your access key and your secret key.

28:56So you'll just sign in at - it will require you to sign in again, just as an extra security measure...

29:04...and then you can go down and see those.

29:05So you have your access key, and I'm not going to show the secret access key in case we're being recorded...

29:11...but you can display it here and then copy it and paste it into Cloud Builder in order to log in.

29:16I wanted to make sure I showed that part.

29:18Now, if you look at instances, you'll see the instances that I have running on this account...

29:23...and you'll notice that there's an instance that's associated with each site that I showed in Cloud Builder.

29:29Now, if I had chosen to have the geodatabase on a separate instance, you would see an additional one here that had been created.

29:36So I can see my credentials here.

29:40If I needed to log in to this machine through Remote Desktop, I would need to right-click and choose Get Windows Password...

29:48...and then you go browse to that key pair file that was saved when you ran in Cloud Builder.

29:53So if I go to My Documents and this ArcGIS Cloud Builder folder...

30:00...you'll see all the key pairs that have been created as I've run through this wizard over the past few days.

30:04And here's the one I just created.

30:07So when I click Decrypt Password, it will show me the administrator password of that machine...

30:13...and then I could use Windows Remote Desktop to log in.

30:18In the interest of time, I'm not going to do that.

30:21You'll notice that there's a Volumes tab. This also shows the disk drives that are associated with your machine.

30:27You'll get one that's 35 gigabytes that has the C drive, has the software installed.

30:35You also get a D drive attached that's for your data; that's going to be 100 gigabytes.

30:40If you want, you can detach that 100-gigabyte drive and attach a larger one or a smaller one.

30:45In my case, it's 10 gigabytes just because for development purposes, we took the amount down to reduce the cost...

30:51...but when these go final, this will be a hundred-gigabyte drive.

30:58Let's go back and see... It says that my service published successfully...

31:02...and so I want to log in to Manager on that machine and take a look.

31:08So again, this is going to Virginia, and it sees this Spain basemap that I just published...

31:14...and now anybody can interact with this service on there.

31:25So just to recap the ways that you can get data onto your instance.

31:28This might be the trickiest part of working with the cloud, especially if you have large amounts of data.

31:33One way is you can remote desktop in and then copy and paste the data across or use FTP.

31:39Or you can copy the data automatically when publishing a service out of ArcMap...

31:43...which is what I just - the option I just showed.

31:46There's some more advanced cases where you could put data into a storage service like Amazon S3.

31:51I think Marwa may delve into that later on, but she's going to go into some of the use cases now...

31:57...and advanced cases and also some of the business considerations for Amazon.

32:01So I'll hand it over to you, Marwa.

32:03Thank you, Sterling. That was a great demo, wasn't it?

32:06Don't know if you noticed, but he actually didn't log in to the machine at all.

32:11He did all of that without having to log in to the machine on Amazon.

32:14He did all of this by just using Cloud Builder and Desktop. So thank you.

32:25So now that you've kind of got a good overview of how you can quickly deploy Server, run it...

32:31...and publish services to the cloud with Server...

32:35...let's kind of go a little bit deeper into what are the different models people use.

32:38And we're going to kind of take one of them that's more of an advanced case...

32:43...and get into the details of how to implement that.

32:46So starting with cloud deployment examples...

32:56I wanted to use an example, one of our customers, Texas DOT.

33:00Texas had a situation where there were a number of storms that come every now and then...

33:05...and during that time, the road conditions application became very critical for their citizens.

33:10What Texas did is they wanted to make sure during that time the application can scale to meet all the different demands...

33:16...that come in at that time, and then, after that time is over...

33:20...bring back the application to a very small footprint that is suitable for the daily use at that time.

33:26The cloud met that use case explicitly well.

33:31You've seen the model for autoscaling. That works really well when you're trying to publish an application.

33:38Also another example is, typically, if you want to do some testing.

33:43So you are developing a new application, you have a new version, you've made some changes...

33:48...and you want to test that before you push that for somebody else to start using.

33:53The cloud is a very great example for that. Why?

33:56Because you're not affecting the existing systems are running.

33:59You're actually making the modification in a different system that you can keep as many versions of it as you need.

34:05And if you need to roll back, you always can create an Amazon Machine Image and use that image that you've rolled back to.

34:13In addition to that, there's the model for geoprocessing where users would be able to span a number of machines...

34:21...that they need to use for a temporary period of time, and then when they're done, terminate them.

34:26So the type of processing you want to do, the heavy processing, can be done with a bigger number of machines...

34:32...that you would have typically utilized your on-premises resources for.

34:37And similar to that is the concept of cache cooking.

34:40So if you want to cook a cache, typically what most people do today is they allocate a number of machines on premises...

34:46...on their own network, and then they try to be patient to see how long this will take until the end.

34:52Well, another alternative is using the cloud and adding more machines as needed.

34:56So you can span your cache cooking to happen a lot faster, and then maybe, based on that...

35:01...you can plan updates as you have more control of the resources and you can control adding to them as needed.

35:07And when you're done with your cache cooking, you terminate all these machines...

35:10...and you only pay for the number of hours you have run them.

35:15So there's a number of concepts I wanted to reiterate before I start showing you the showcase we've chosen...

35:21...which is the cache cooking, and how to do that in the cloud using ArcGIS Server on Amazon.

35:28An important concept is the concept of custom AMIs, so that's when you've customized your own instance...

35:34...so just what Sterling has done earlier. He's uploaded his service, and now the data is running there along with the service.

35:41He could have customized the instance a little bit further by adding his own application...

35:46...but once you've had all of that, you can create an image, so next time you start a machine from that image...

35:52...you don't have to go and customize it again.

35:54In fact, it's not only going to have ArcGIS Server, but it's also going to have your data, your services, and your applications.

36:01And from a productivity perspective, that machine is going to be around.

36:05Anytime you need to terminate that machine that is running, for any problem, you can launch another one from that custom AMI.

36:14Also, another important concept is security.

36:17So it's important to understand security groups in the cloud...

36:20...because this is a very important definition and configuration that you do whenever you launch an instance.

36:25A security group, in a sense, is an overlay in the network, so you're basically taking a slice of the network...

36:32...and you're isolating it for the machines that are running within this security group.

36:37In addition to having the security group isolation on the network level, each of the machines also has a Windows firewall.

36:45And this Windows firewall gives you another kind of line of defense that is specific to the machine...

36:51...so in fact, you can deny anybody from accessing that one machine except yourself based on specific rules...

36:58...like maybe tying your port to a certain IP address and so on.

37:04So a typical example is setting up an enterprise geodatabase with the server.

37:08A best practice is to associate an elastic IP, which is an IP address that will not change...

37:16...attach that to the enterprise geodatabase, and configure Server to always point to that.

37:21Now, when Server points to that IP, it means the instance underneath the IP could be changed.

37:28So maybe you terminate this instance, start a new one, and replace it under that IP.

37:33Server will always see it, so you can exchange these servers and have no problems.

37:38In addition, you can configure the security groups to have more control on specific tiers of your deployment.

37:45So for the database, you typically don't publish anything on the web...

37:50...so you want to limit the access to just the ports that are utilized for database access...

37:57...while in the case of the web server where your ArcGIS Server is running...

38:01...you probably will publish services and will publish applications, you need something like port 80 open to everyone.

38:08So you can separate both tiers using these security group settings...

38:12...and then you can access each security group by adding it to the other.

38:17So as you can see in this diagram, I have added web to my database security group setting...

38:23...and this allows me to access the database from the server.

38:28And using this security group setting, I have secured my web tier; I've also secured my database...

38:34...and I've made it very specific that only specific ports are open to certain IPs based on my need.

38:43Also, another important concept - and Sterling has gone through that - is the concept of storage.

38:48There are different types of storage in Amazon. One is the S3 and also Elastic Block Storage.

38:56What's different about them is how they're accessed.

38:59The Elastic Block Storage is very much like your local disk. The difference is you can attach it and detach it, you can resize it.

39:07Usually, that disk is similar to an NFS that you're accessing over the network.

39:13And I'm going to show you some tips and tricks later on in my demo...

39:17...on how to get better performance that makes this EBS drive similar to a local disk in performance.

39:25Now, Sterling has gone through a very good way to upload your data and publish your service by using ArcGIS Desktop.

39:32But what if you have a lot of data? What would be the alternative?

39:37One of the good alternatives is a service that's provided by Amazon that's called import/export.

39:42This service is basically, you put your data on a disk and you ship it to Amazon...

39:47...and they receive it and then they put the data on S3 or an EBS drive.

39:52And yes, it's going through the mail.

39:54However, it happens to be a lot faster than if you went over the Internet...

39:58...'cause the Internet bandwidth would take forever to migrate something like a few terabytes.

40:03But in using import/export, you can have that uploaded in a few hours.

40:13Now also Sterling has mentioned the different utilities you can use.

40:17So in the model that I'm going to talk about next, I'm going to show you how to set up a system of ArcGIS Server...

40:25...that includes multiple instances.

40:27This system will all see each other, and it will all collaborate together to build a cache.

40:33Now, the system, each of the instances includes an EBS drive, and the data, I will upload it because it's large in size.

40:42I will upload it and make sure it is available on every instance.

40:47Now, the way you upload it, like I said, you can use import/export, but you can sometimes also upload it directly yourself...

40:54...either using FTP or doing your own upload through S3 as an intermediate step.

41:01And once you have uploaded your data, you can create a snapshot.

41:05So a snapshot is equivalent to the concept of a machine image, but it's only specific to the disk.

41:13So I can create a copy of my disk, and then from that copy, I can create multiple disks.

41:19It's a very handy feature if I am trying to copy my data and make it available across multiple machines.

41:29So that said, to summarize the steps I'm going to go through in the demo, because it's going to take a little bit of time.

41:36And it's a process that's quite an advanced use case...

41:39...but I thought it's really worth sharing with you, since this is our developer community.

41:45First, the data would be uploaded.

41:48The way I uploaded it, I used S3. So I created a bucket in S3, I uploaded the data to that from my local machine...

41:57...and once it was in S3, I created an instance and I copied it to S3.

42:02Now, this instance was just a regular instance; it didn't have any ArcGIS Server.

42:07But once I uploaded the data, I created something called a snapshot, which is that copy of my drive.

42:14So next, that copy is now available; I can go and set up ArcGIS Server and use that copy of my data.

42:20So I'm going to show how I can create my ArcGIS Server site using Cloud Builder...

42:27...and you've seen that already, so I'm not going to go into it in detail.

42:30But then once I have those machines, I'm going to show you how to stripe the disks...

42:35...and that's how you configure it to have better performance; also how to create the snapshot if you want to...

42:42...and from there, how to create a custom template, which is a footprint, or an image, of everything that I have done.

42:50Using that template and that image, I'm going to create the actual site that can cook my cache...

42:57...with some extra features, utilizing the cloud.

43:01So that said, let me get started. Cloud Builder, as you've seen - let me get closer.

43:16Cloud Builder, as you've seen, is an application that runs on my desktop.

43:30If I can print. Okay. Sorry, it looks like I'm having a bit of trouble here with my keyboard.

43:53So I have Cloud Builder installed. I'm going to open it, and like Sterling showed you...

44:00...that application has all the settings I need to start my site in the Amazon cloud.

44:09And I've already configured it with my own credentials, so once I access the application, I will see my already-created sites.

44:17Now, to give you kind of an intro to the demo...

44:20...not because it's cache cooking but because of the time it takes to prepare the systems for every step...

44:26...I kind of took a leaf from cooking shows, and I'm going to show you how things are put together...

44:33...but then show you the end result for the sake of time.

44:36So I'll start by creating a new site, and this new site will allow me to create what I call the template.

44:43I want to build this image that I can use at any time to cook my cache from now on.

44:49So I'll call this the CacheBase.

44:56And I'm going to base this on Windows, I'm going to supply it with my own license, and I'm not going to add any database.

45:08You can add it if you want your data, your source data, for cache cooking to be in a database.

45:13You can utilize the database option, but in this case, my data, even though it's a few gigabytes in size...

45:20...it's all file based, and that's going to be the base I'm going to work on.

45:26So the next step here is going to be based on how my server is authorized.

45:31So now, using 10.1 with Cloud Builder, you don't have to log in to the machine anymore to authorize it.

45:41And I'm going to specify all the information I need to get started.

45:48And like I said, I'm not going to pick a geodatabase. I'm going to start with two instances.

45:54So if you're trying to build a template, you need to start with two instances minimum; you shouldn't start just one.

46:01And I'm going to leave out autoscaling at this stage.

46:04I'm going to provide my administrator's account for the web management tool and say Finish.

46:15Now, while my CacheBase is being created, which I can see here...

46:20...I actually went ahead and created a site that's called CloudCache that had exactly the same settings.

46:27So to show you what's in the site, I'm going to click on the Administrator, and once I get in there...

46:41...I can see in this site what kind of machines do I have - so I can see I actually have two instances already running.

46:48If you recall, I chose two. If you want to make a template, you have to start with two.

46:53And each of them is running; it's started. Everything looks good.

46:58So once I've started these two machines, the next step is to go to the Amazon console, so I'm going to switch back to that.

47:19And over here, I'll refresh my page.

47:28And what I'm going to do here is based on that snapshot that I have created previously...

47:34...I'm going to create the new drives that I would like to be part of my setup.

47:40But before I do that, I just wanted to show you how the striping works really quickly.

47:45So what I'm going to do is I'm going to create my own volumes and attach them to the instance I just started.

47:55Before I do that, the first important step is to know which zone the instance is in. I'm having trouble refreshing my page.

48:08So I'm going to find out which zone. Okay. Let me log in again.

48:30There we go. I do have instances running. And I'm going to say All Instances; and there they are.

48:43Sorry, my resolution changed, and it's changing a lot of things on my machine.

48:48So the machine that I've created is this one; let me make sure this is the one you see.

49:00This is the two machines that I'm looking at, and what I would like to do is understand which region I can see here.

49:08This is USD - us-east-1d, so I'm going to go and create two volumes...

49:18...and I'll give them about 1 gigabyte, but you can make it as big as 1 terabyte.

49:25So if you have a lot of data, you can make this as big as you would like it to be.

49:31And once I have these two volumes created, I'm just going to attach them.

49:44So here are my two. I'm going to attach them to the machine that I have, which I can see it here, and my second one.

49:57I'm doing this twice in case you missed the first.

50:13So now that my instances are attached, the next step is to log in to my instance.

50:18So to log in to my instance, I will use exactly the same approach that Sterling showed you earlier.

50:25I actually had logged in earlier to it for the sake of time, so here is my instance.

50:32And let's go and check my Server Manager to see these volumes that I've just added.

50:37So this is what they look like when you first add them.

50:41What I'm going to do first is bring them online, and then next, I am going to initialize the disk...

50:51...and I'm going to specify it as a GUID partition table.

50:55Now, the reason I'm doing this is that I can maintain whatever striping I have when I do a snapshot of that.

51:03And you can see here that I have both disks identified.

51:09So now that both disks are configured, the next thing is to configure it as a new striped volume...

51:14...so I'm going to say I'm adding both of these disks to be this one volume.

51:20And you could specify if you want to break it down into two volumes so they will look like two disks...

51:25...or if you want it all to look like one big drive.

51:29So I want them together. I'm going to see them together as one drive of 2 gigabytes.

51:35And I'm going to assign this drive the letter M and go with the rest of the settings.

51:42Again, what's important about this is that I will get a boost in performance when I stripe the disks like that.

51:48That'll make it equivalent to what a local disk would give you.

51:52This is a very good way, if you're trying to publish dynamic services that require high I/O performance.

51:58Good example is image services.

52:01So image services rely on very good I/O because of the size of the raster data and how they work, and you can...

52:07...utilize this type of striping of the disk to give you that kind of performance when you're publishing image services.

52:16Now, I've already created a drive that has four striped disks.

52:21The reason I did four, not because I like to repeat it, but because four is kind of the magic number.

52:28That is really how you get the best performance out of striping.

52:31So if you have a certain size like 20 terabytes, try to break it into four and then stripe the four.

52:39Sorry; 20 gigabytes, not terabytes, 'cause you can't go above a terabyte for each.

52:46So now that I've configured my disks, I'm going to do this for every instance.

52:50And I've already done that, but I wanted to make sure you are aware the data needs to be then copied to that disk that I have striped.

52:58So I have done that already on what I call the striped volume, and if I go and explore that...

53:03...you can see that I already have my data.

53:06And if you recall, we created two instances, not just one, and I will copy the data to each one of these instances.

53:15And now that I've done that, I've got nothing else to do except publish the service.

53:22So the way I'm going to publish the service is I'm going to use my local desktop.

53:26So what Sterling showed you was accessing Server by using Desktop from his own local machine...

53:33...but what I'm starting here is the Desktop that is running on the Amazon instance.

53:39And I'm going to use that striped disk that I just used and copied my data to, to use it to access the data.

53:48I am also going to add to my server.

53:55So I'm going to add my server, it's localhost, and I'm also going to add the account...

54:08...so now I can manage my server from ArcGIS Desktop that's on the same instance.

54:14And the first thing I'm going to do is I'm going to set server properties.

54:18So because I'm moving my data and it's a large dataset, I don't want to copy it from my machine; it's already on my machine.

54:25I'm just going to register a folder that points to where my data is.

54:29So here's that striped volume that I created. I'm going to give it the name of the drive.

54:36I'm going to register that with Server.

54:37So what Server is learning here is that it will not copy the data; it will use that location that I have on my local machine.

54:45And that is why I needed to have the data on both of my instances, not just one.

54:51Server will not do any copying of the data, because I know it is too large to copy.

54:56I want it to be efficient; I want to do it myself using the best tools out there...

55:00...and then I'm just configuring Server to point to where I copied it.

55:05And once I've done that, the next step is to just basically go and publish it.

55:10In this case, when I'm publishing it, what's getting published is basically the service definition...

55:17...so that is what's getting added now that both Desktop and Server know the exact location of my service.

55:25I'm going to preview just to make sure I don't have any problems before I publish.

55:31And the next step is publish.

55:34And this is going to take a quick moment because I am creating this service definition file, moving it to the server...

55:40...and the server now is going to publish this as a service by using the location that I have created locally.

55:47And this is the best approach to get the best performance of very large datasets when you have them in the cloud.

55:55Once I've done all of that, I've published my service, this is going to be the base service that I am going to use to create my cache.

56:03I've configured Server the best way it can be to get the best performance of the disk.

56:08There's nothing left; I can go and create my image.

56:11There's one quick step I'd like to advise you to do, which is to go and rename your administrator account.

56:20So by setting the password on your administrator account, you're going to be able to access this as part of your image.

56:27This is important when you're creating imaging, because of the way security works in Amazon.

56:32And with that said, I have finished everything that I need to do.

56:36I am just going to go back to Cloud Builder and, based on this, go and create a template.

56:44So the way I create a template is by using the template manager.

56:48And as you see, I've already been playing around with this. I have a couple of them.

56:52But what I'm going to do is I'm going to create a new one...

56:55...and it's going to be based on the cloud cache setup; that's the one we were looking at.

57:00And I'm going to give it a name, which we said was the CacheBase, and say Finish.

57:11Now, in a few moments, Cloud Builder is going to create that image, so next time I start from this image...

57:17...I do not have to configure all these things ever again. It will do everything on my behalf.

57:22Now, as you see, this happened very fast, but typically, what's happening behind the scenes...

57:27...is we're creating the Amazon Machine Images, we're creating copies of the data...

57:31...we're creating bits and pieces of all sorts of things that you will need to re-create this site as efficiently as possible.

57:39So next time, I want to go and say, I would like to create the site, I will just go and start from that template.

57:52So while all of this is kind of finishing, I will come back and show you how I can use this template...

57:59...to create my final cache cooking established site and how autoscaling will play a part of that.

58:07So while all of this is getting finished, I'm going to go back to my slides...

58:10...and discuss some of the best practices that are important to be aware of as well.

58:28So some of the best practices in Amazon don't just have to do with getting performance but also with pricing.

58:34If you're not aware of the cost of the components you're using...

58:37...it's going to be very hard for you to calculate the cost of the overall setup that you've just done.

58:43And that setup that I've just made is not intended just to give you the best performance of the disk...

58:48...but also to allow you to start machines when you need them and terminate them when you don't need them...

58:53...'cause cache cooking is a resource-intensive type of operation.

58:57So over here, just looking a little bit quickly over the hourly rate that Amazon typically applies to the instance...

59:05...you can see here that I have some examples based on the smaller sized instances.

59:10A large instance for Linux would be $32 per hour and 46 cents per hour for Windows.

59:17And these are the latest and greatest prices.

59:20Amazon has actually been reducing their prices every now and then...

59:24...so it's always good to go and check the price on their website.

59:27Also, there is the reserved model...

59:30...where if you know you're going to run a machine for a certain period of time all the time, you can get a discount.

59:36So this is like a bulk discount type of thing.

59:40And this depends on how much you're going to utilize this machine, so depending on the utilization...

59:44...it can go under light or medium or high, and you can see here, the rates that you pay hourly will vary differently...

59:53...greatly based on that.

59:55And the way to calculate the cost for one machine is by understanding that hourly rate...

1:00:01...in addition to the gigabytes you are attaching to your machine.

1:00:05So as you create a disk and attach it to your instance, you are paying for each gigabyte.

1:00:11The rate you pay is about 10 cents per gigabyte, so it's important to know how many gigabytes you have on each machine.

1:00:17It's important to know, when you're done working with a volume, that it is deleted, so you're not charged for it.

1:00:24And it's important to kind of understand how to utilize them as best as can be.

1:00:27Like I said, try to always use it within the size you need; break it up into four pieces and stripe it to get the best performance.

1:00:35You don't pay any extra fee for striping; what you pay for is per the size of gigabyte.

1:00:41In addition to the hourly rate, which is the computing resources and memory, as well as the hard disk, which is the gigabyte size...

1:00:49...there's also a third part, which is the network cost.

1:00:52And this is usually referred to as the bandwidth - the bandwidth to get you over the network and out to the Internet.

1:00:59Now there are two types of data transfer in Amazon.

1:01:01All data transfer in, that's coming from the Internet, is free.

1:01:05What you actually pay for is what you send out to the Internet, and that is charged also per gigabyte...

1:01:12...and the first gigabyte per month is zero dollars, but after that, you start with 12 cents.

1:01:18And as you get bigger and bigger, the price goes a little bit lower for bulk discount.

1:01:25Also, an important factor to work with when you start your own Amazon web account is the concept of the Amazon reports...

1:01:32...and this is available to you once you create an account.

1:01:35It's very useful, because you can keep track of what you're being charged for what.

1:01:39If you go and check this tool every now and then, you'll see that it's getting up-to-date.

1:01:44And I think Amazon updates this on a daily basis; not too frequently...

1:01:48...but at least every day you get a good feel for what is happening.

1:01:51It's very recommended that you check these reports and compare them back to the cost estimates that you make...

1:01:57...to understand what you're paying and how to keep your costs under control.

1:02:02Also, the Amazon bill typically comes online.

1:02:05You can check that, see what you're paying.

1:02:07So in addition to your usage, the components you started, and how long they ran...

1:02:11...you can also check how many dollars you're paying for that, whether it's in cents or dollars...

1:02:16...and you can keep track of your costs every month and calculate if the costs are coming in accordance with your estimates...

1:02:23...or there's a kind of big disparity, and from there, start coming up with some practices to help you control this type of cost.

1:02:32I put an example here of an Amazon bill. I'm glad you have very big screens; usually this is a hard to look at slide.

1:02:40But you can see here the breakdown between the number of hours I have running and the cost for that...

1:02:46...the EBS drives, how many cents are being paid, the rates, as well as the overall size and the overall cost.

1:02:54And in the end, I get the full bulk amount.

1:02:57And this is an account that I share with other colleagues, and all of us work together starting our instances and so on.

1:03:06Also, a nice feature to keep an eye on, and this is very useful when you're planning the autoscaling.

1:03:12So autoscaling is very easy to set while you're using Cloud Builder...

1:03:16...but it's also a critical thing to know what exactly is the utilization that you're going to set in Cloud Builder.

1:03:23So to keep an eye on this utilization, CloudWatch is free.

1:03:28However, when Cloud Builder sets it up, we create the account that allows you to see a broken down value for CloudWatch...

1:03:35...and this is something you pay for.

1:03:38And you see the time frames your machine is working on...

1:03:43...and also the utilization of different resources across that time frame.

1:03:48As you can see here, these are some stats. You get this through the Amazon console.

1:03:52These stats show the CPU utilization, the network, the storage.

1:03:57You get a full idea of the parameters and how the utilization of the machines is working.

1:04:04Now let's switch quickly back to Cloud Builder before I finalize and see where we're at.

1:04:13So what I wanted to do is to see that all my templates are created and my site is done.

1:04:19So now I can go and create the actual site that I will use for my cache cooking.

1:04:25So to create this site, what I'm going to start with right now is the template that I have created.

1:04:32And I'm giving it a site, CacheCooking. And again, I'm going to use my license...

1:04:51...and again, my instances are going to get licensed without me needing to log in to them and copy my license.

1:04:58It's all happening behind the scenes on my behalf; I don't have to do that.

1:05:03So Cloud Builder's going over the Internet with my license information, all the way to Esri...

1:05:08...to confirm all of this is correct, to bring it back to me and make sure I can license my machines when I move forward.

1:05:15The license I'm using is a generic license; it's specific to Esri, but the license you will get...

1:05:21...you will need to keep track of the number of cores that it works on.

1:05:25If you have a license for four cores, make sure you don't start machines that, in total, have more than four virtual cores.

1:05:34So over here, I could see here are the different versions of the server templates.

1:05:41The one I just created is the CacheBase. I could stick to the size large, and I can select my key pair.

1:05:49Moving on, because I cooked everything without a database, I'm not prompted to select that.

1:05:56And over here, I can start with one EC2 instance, but this is the part where utilizing the cloud capabilities for cache cooking...

1:06:05...to make things a lot more efficient, comes in.

1:06:07And that's the autoscaling. That's where I can use a criterion, which in this case, is the CPU utilization...

1:06:14...to control how many machines I can automatically add to my ArcGIS Server that is running.

1:06:21And by adding more machines automatically, the cache can get cooked much faster.

1:06:26So in this case, I decided to put a limit. Six machines is as much as I can go. I don't want to go beyond six machines.

1:06:34And what I would like to do is that I would like to start shutting off these machines...

1:06:40...when the CPU goes down to 1 percent for a period of 15 minutes.

1:06:45And I'm using this because I know that when it goes down to this for 15 minutes, it has finished the cache.

1:06:52I don't want machines to start terminating themselves when I'm in the middle of cache cooking...

1:06:57...because that will disrupt my operation and possibly corrupt my cache.

1:07:01I want them to only terminate after I'm done.

1:07:04So I'm going to use this criterion for that.

1:07:07I'm going to keep the criterion of 80 percent to start adding more machines, but I'm going to up it from 5 minutes to 10 minutes.

1:07:15So that means if the CPU utilization stays at 80 percent for 10 minutes...

1:07:20...the cloud will automatically add another ArcGIS Server to be added to my cache cooking operation.

1:07:26And through that, I'm going to be able to get more capacity and cook my cache faster.

1:07:32And what's going to happen is, using this criterion, I'm going to keep adding more instances until I reach the maximum six...

1:07:38...and then it's going to hold at that; it's not going to add any more servers beyond that number.

1:07:44And with that setting in place, I'm just going to create a new administrator account for this new setup that I've just created...

1:07:54...and I can get it started.

1:07:57Now while this is cooking, I have actually created this previously, and I have this site that I called CloudCooking...

1:08:05...that was based on the template I created as well from this CloudCache that you've seen before.

1:08:11And to go and look at this quickly, I could show you this site. Going to look into that.

1:08:27And this site, I can see from here, it has only one machine...

1:08:33...'cause that was the one I started with when I started to set my autoscaling.

1:08:38I also can see with my services that my service is already there.

1:08:43I didn't have to copy the data again, I didn't have to stripe my disks again; I didn't have to do any of that.

1:08:49I have everything set up, and what's going to happen is when autoscaling adds these new servers...

1:08:54...they're going to be set up with everything they need.

1:08:57I don't have to go and create anything myself.

1:09:00And now that I have my service, I also have my Desktop locally...

1:09:09...to that machine if I want to get started, so let me do this quickly.

1:09:15I can actually go and log in to that machine here from the console.

1:09:24So here's my CloudCooking site, and I'm going to log in to it by taking the public DNS and logging in to that.

1:09:50And because, if you recall, when I was creating my template, I have hard-coded my password, I know my password already.

1:09:57When I get prompted, I'm going to use that administrator account and that password that I have set in my template.

1:10:08And I hope my network is still working. Looks like I'm having trouble with my network. Let me try this again.

1:10:36Yes. I know why this isn't working, because I missed telling you that in the security group...

1:10:43...when I've created it from the template, I have to go and enable Remote Desktop.

1:10:52So the CloudCooking instance that I have just started doesn't allow me to remote desktop...

1:11:00...because I didn't give access to Remote Desktop here.

1:11:04So what I am going to do is quickly add that, and for the sake of time, I am going with 000...

1:11:11...but please do not ever do that; you should use your own IP.

1:11:16And now I can go and say OK and try that, and I'll be able to log in to my machine.

1:11:29So this is the machine, the end result of all the setup that I've done, the image that I've created...

1:11:36...and now this new site that I have launched based on that image.

1:11:42And within that image, I can go and I can see that I can start Desktop; it's already installed.

1:12:03And from here, I can access the service that's been already cooked in these machines, and I can start my cache cooking operation.

1:12:12So I'm not going to go into details of how to cook your cache.

1:12:15That's going to be the focus of other sessions that we have during the DevSummit...

1:12:19...but I wanted to show you these are all the steps to get to that.

1:12:23And what's the benefit of doing this? The resources; you can get all the resources you need in very quick time...

1:12:29...finish the cache cooking, terminate it, and get your data back, and you didn't have to purchase these resources...

1:12:35...for all the time you're going to have them or own them in your environment for good.

1:12:42So to wrap things up, let's go back to my slides.

1:12:54This is the final slide where we discuss a little bit of best practices.

1:12:59It's always good to plan costs; I can't stress that enough.

1:13:03Inside the Amazon environment, if you start using it like you would with your own local machines...

1:13:08...start them, leave them, create disks and leave them, and then everybody kind of shares an account...

1:13:15...before you know it, you're going to be paying a lot of money, and you're going to wonder...

1:13:17...Why am I using the cloud? Why didn't I just buy a machine?

1:13:21So it's really important to plan your cost and control your resources for what you need to get the benefits you're looking for.

1:13:28Also, creating this type of custom imagery is very important for productivity.

1:13:33As you create these images, they're not just a base that you can start new sites from...

1:13:37...but they're also a very important tool...

1:13:39...if any problem happens, you can terminate the running system and start a new fresh one from the image.

1:13:46Plan security. We've talked a little bit about security groups and how to configure them.

1:13:50Security is a bigger discussion, and there's a lot of security features in the Amazon cloud that you can benefit from.

1:13:55We're going to talk about more of that over the period of the DevSummit.

1:14:00Take advantage of elasticity, which is the autoscaling setup, just like I showed you in Cloud Builder.

1:14:05Have it turn on the machines when they're needed and terminate them when they're not needed.

1:14:10It will do it very efficiently. If you do this manually yourself, you'll just end up paying more.

1:14:15So it's good to use that automation.

1:14:18Plan your data management, how to upload it, where to keep it, and how to move it around.

1:14:22Snapshot is a very good way to move your data around and make multiple copies of that.

1:14:27And in the end, user reporting to keep track of what you're using, what you're paying...

1:14:32...and understand how to make the best use of the cloud.

1:14:36And with that, we move to Q&A, and I'm not sure how we're going to do that with the very big theater...

1:14:43...but we can attempt and try to hear you.

1:14:46If that doesn't work, we're going to be here after the session.

1:14:49If you have a question, please speak very loudly. We'll repeat the question.

1:14:55We have a couple of minutes to do it. Yes?

1:15:00[Inaudible audience question]

1:15:11So the question is, What kind of updates can we do using Cloud Builder?

1:15:15Can we change the OS or do maintenance on the site when it's already created? Want to take that?

1:15:22Yeah, I believe - I don't want to tell you the wrong thing, so I just opened one here.

1:15:26Well, I can answer that quickly.

1:15:27You can't tear into it and change the OS and, you know, you can't get down to those details...

1:15:32...but I believe you can change the description on the site and I want to say the autoscaling settings.

1:15:37Yes. So you can change those, so that's the type of thing that you can change.

1:15:41You can't go in and, like, change the operating system.

1:15:45Yeah.

1:15:46[Inaudible audience question]

1:15:49Yes, you have to re-create it from a different base.

1:15:51And as Sterling mentioned earlier, we are going to run now on both Windows and Ubuntu...

1:15:56...and new AMIs are going to be available, so as you want to update your site, you could start from a new AMI...

1:16:02...or go directly to your own site and maintain it.

1:16:05Now, once you start a machine, it's yours. You own it, you maintain it, you do in it whatever you want.

1:16:11Nobody else is going to modify it on your behalf and surprise you, so we rely on you to maintain your own machines.

1:16:17So here you can change the autoscaling settings.

1:16:22You can even change, I believe, the size of your instance, because Amazon started allowing that.

1:16:26They allowed you to change the size of an existing instance, which wasn't always the case.

1:16:30So I believe we provide a drop-down, although it says I have to stop my site before I do something like that...

1:16:37...and then I can change, like, the description of my site, the metadata.

1:16:43Okay? Any other questions? Yes.

1:16:47[Inaudible audience question]

1:17:03Yes. So the question is, Can we just add more machines and have them automatically get themselves added to cooking the cache?

1:17:11The demo that I showed you is that.

1:17:13It will automatically add itself to ArcGIS and start contributing to the cache cooking automatically.

1:17:19You don't have to log in to that new machine, set it up, add it to Server, and add it to the service.

1:17:25That's why I created this image, and from that image, I created the autoscaling.

1:17:29Some of this is based on the 10.1 ArcGIS Server architecture, which is brand-new...

1:17:34...so there is some peer-to-peer type of communication between the GIS servers in the site.

1:17:39And the site is able to detect when a new GIS server is added.

1:17:43So when it detects that it's added, it will start handing caching responsibilities to that machine.

1:17:49But you have to kind of understand that, the 10.1 architecture, to get that there's that horizontal...

1:17:54...there's that peer-to-peer piece.

1:17:57Any other questions? Yes.

1:18:01[Inaudible audience question]

1:18:14So the question is, when I started the site that I was going to use to create my template, I said it has to be two instances.

1:18:22This is not a reason because of Amazon; this is a reason because of how we deploy ArcGIS Server 10.1.

1:18:28So that's why it's important to always have two.

1:18:32[Inaudible audience question]

1:18:36Yes. Yeah, and behind the scenes, we take care of all the rest, so we can do this automatic machine addition...

1:18:44...and have them add themselves to the cluster and contribute to the work without you having to do anything else.

1:18:50So that's why it's important to start with two. Other questions? Yes.

1:18:57[Inaudible audience question]

1:19:04Sorry? The last part, what was it?

1:19:06[Inaudible audience question]

1:19:08So there was a question regarding the licensing, how does the licensing work, and the plans for releasing 10.1.

1:19:14The licensing works, the minimum you can buy for Server is four cores, so if you're going to deploy two virtual machines...

1:19:21...and each has two virtual cores, that four-core license will work on the two of them.

1:19:27Now, as you add more cores to your running setup, you will need to purchase a license for each one of those cores.

1:19:34Now, currently, Esri does not offer an hourly rate for ArcGIS Server in the Amazon cloud.

1:19:39What you have is alternatives between negotiating an ELA or purchasing a term license...

1:19:46...which can be for just a period of one month, three months, six months, and one year.

1:19:52And this term license allows you to add those extra cores for limited periods of time, not for the whole time.

1:19:58Regarding the release of 10.1, tentative dates, I think, are June, so the dates there seem to be not...

1:20:09It's within a matter of weeks, very soon, because we're wrapping up.

1:20:15Yep. Any other questions? Yes.

1:20:19[Inaudible audience question]

1:20:40The question is, Can you assign an elastic IP from Cloud Builder?

1:20:44Cloud Builder actually sets up the elastic IPs that you need...

1:20:47...so you don't have to remove or add elastic IPs when you set up your site with Cloud Builder.

1:20:52If you were to set up your site yourself, like if you're using 10.0 and you use the AWS Management console to set up your site...

1:20:59...then yes, you'd need to manually create the elastic IP.

1:21:03Yeah, so I just want to add that the choices you have on the database from Cloud Builder...

1:21:08...you don't have to license these databases yourself; however, you are paying for the license...

1:21:14...because we are using the instances that include the license in the hourly rate for SQL Server Standard.

1:21:21SQL Server Express and Postgres are free.

1:21:24If you're using a different type of database, you can always set it up yourself...

1:21:28...and configure ArcGIS to point to it, and that'll work fine.

1:21:31So if you started ArcGIS through Arc Builder with no database...

1:21:34...and then after that configured it to point to your own database that you set up prior to that, it'll work with no problems.

1:21:41And before I take in any more questions, I just want to make an announcement...

1:21:45...because I'm seeing a lot of people leaving and we're almost done.

1:21:48We've actually received a gift form Amazon where you can get a $50 gift per person, so there's a card here.

1:21:57If you're interested to try it, you have $50 to spend on Amazon Web Services, not Amazon.com.

1:22:03Not the bookstore.

1:22:06So you're very welcome to come over, and we'll give each of you a card of these.

1:22:09And also, we will hand you an evaluation. Please be kind; and we need you to fill these...

1:22:15We also have more by the door if you don't want to stop by and pick them here.

1:22:19We can also take questions down here. I think we may move to that, where you can come up and talk with us.

1:22:24That might be easier than shouting the questions back and forth.

1:22:27Thanks for your attendance, and you can come up here for Marwa and get these.

1:22:32Thank you.

Copyright 2013 Esri
Auto Scroll (on)Enable or disable the automatic scrolling of the transcript text when the video is playing. You can save this option if you login

ArcGIS for Server on Amazon Web Services

Marwa Mabrouk and Sterling Quinn discuss how to leverage the Amazon cloud with ArcGIS for Server.

  • Recorded: Mar 27th, 2012
  • Runtime: 1:22:33
  • Views: 1117
  • Published: Apr 20th, 2012
  • Night Mode (Off)Automatically dim the web site while the video is playing. A few seconds after you start watching the video and stop moving your mouse, your screen will dim. You can auto save this option if you login.
  • HTML5 Video (Off) Play videos using HTML5 Video instead of flash. A modern web browser is required to view videos using HTML5.
Download VideoDownload this video to your computer.
<Embed>Customize the colors and use the HTML code to include this video on your own website
480x270
720x405
960x540
Custom
Width:
Height:
Start From:
Player Color:

Right-click on these links to download and save this video.

Comments 

Be the first to post a comment
To post a comment, you'll need to login.
If you don't have an Esri Global Login ID, please register here.