How-to Install the Agile Platform Community Edition in the Amazon Cloud

How-to Install the Agile Platform Community Edition in the Amazon Cloud

  

The goal of this how-to is to explain how you can install the Community Edition of the Agile Platform in the Amazon Cloud, using Amazon’s Elastic Compute Cloud (EC2) and Elastic Block Store (EBS) services.

By installing the Agile Platform Community Edition in the Amazon Cloud, you get an online environment where you can deploy OutSystems applications. You can use this online environment for development, training, evaluation, or even production purposes.

  1. Sign into the Amazon Web Services (AWS) Management Console here.

    If you do not have an Amazon Web Services Account (AWS), select the I'm a new user option and proceed with the registration process.
    AWS Management Console Login
  2. Sign up for Amazon Elastic Compute Cloud (EC2), if you haven't signed it up yet.

    Elastic Compute Cloud (EC2) Sign Up
  3. Click the Launch instance button in the Getting Started area.

    Launch Instance
  4. Select the OutSystems Agile Platform Community Edition 5.1.1 Amazon Machine Image (AMI), under the Community AMIs tab.

  5. Keep all the default values in the Instance Details step.

    Instance Details Instance Details
  6. Select the Proceed without a Key Pair option.

    The AMI Administrator password is outsystems, in case you need to connect to it.
    Instance Key Pair
  7. Select the Create a new Security Group, name it Web or something else, and add the HTTP, HTTPS, and RDP rules.

    If you have previously launched an AMI with the same configuration settings, select the Choose one or more of your existing Security Groups option and then pick the group you want.
    Instance Firewall
  8. Review and launch the instance.

    Instance Review
  9. Click in the View your instances on the Instances page link to check the instance status.

    The instance takes a few moments to startup. Press the Refresh button on the toolbar if auto refresh is not working.
    Instance Firewall
  10. In the instance Description bottom zone, you'll find the Public DNS of your instance.

    You will need this DNS to connect to your server using Service Studio. To test your Agile Platform Community Edition, use this Public DNS to login into Service Center: browse to http://<your-instance-public-DNS>/ServiceCenter and login.
    Instance Public DNS
  11. Download Service Studio from the Agile Network, here, and install it in your desktop or laptop machine.

  12. Launch Service Studio and use the Public DNS to connect to your on-demand Agile Platform Community Edition in the Amazon Cloud and start deploying your apps!

    The instance may take some minutes to start. If you cannot connect to server using Service Studio, wait for a few minutes and try again.

Related Information

  • SQL Server databases and users created by Community Edition
    • The sa password for the SQL Server Express installed in the AMI is outsystems. You can also login using windows authentication.
    • Please use (local)\SQLEXPRESS as the server name, since only Shared Memory connections are enabled in the SQL Server instance.
    • Please note that remote connections are disabled in the SQL Server instance installed in the AMI. You'll need to create a Remote Desktop Connection to the machine to access SQL Server.
  • How to: Agile Platform Database Users
You did a great job with the step by step instructions. I was able to follow and setup with ease. My question is...... the MS SQL server that is setup up with this tutorial.... is it Express edition (limited to 4 Gig of database space) or a different version of MSSQL open to unlimited amount of database space?

Thanks

Dan

Hi Dan,


Thanks for the feedback! I'm glad to know you found it easy to follow and useful.

The SQL Server installed in the Amazon Machine Image (AMI) is the Express Edition, which is limited:
  • Limited to a single instance on any server
  • May only be executed on one processor in any server
  • Supports only up to 4GB of user data (not including Express Edition system data)
  • May use up to 1 GB RAM of available memory
To use another SQL Server Edition in Amazon you have two options:
  • Use your own SQL Server license and deploy it in a Windows AMI.
  • Use Amazon's Windows + SQL Server Standard offerings, read more about this here.
If you choose to use Amazon's Windows + SQL Server Standard oferrings, all you have to do is select the proper AMI to start an instance with SQL Server Standard, as depicted below. You can check the costs of this offering using Amazon's pricing calculator, here.


Cheers,

Rodrigo Castelo

You did so much behind the scenes work in the AMI that you created. (Which is great)

Can you provide the instructions that you performed to set it all up. IE “Startup Outsystems Agile Platform” batch file, Configuration Tool, MSSQL passwords/setup, Username needed in the server for Outsystems to communicate with SQL,

I need to setup your exact setup but with MS SQL Standard. (but I don’t know the installation process you performed when you made that awesome AMI) I need more than 4 gig of database space.

Can you help me with that… since you are wise and all knowing in this area. And I need your experience and expertise.
Thanks
Dan
P.S.  Would it be easier for me to use that same AMI that you created but add my own MS SQL Standard to it? I think it would be cheaper because Amazon charges for a "Large" (not small) per hour with the SQL standard.

Your thoughts?

Hi Dan,


Some introduction on the AMI creation process:
  • The AMI was created by installing a Community Edition over a standard Windows AMI without SQL Server.
  • The Startup OutSystems Agile Platform batch file will no longer be required after version 5.0.2.9 we'll release in a couple of days, so I'll skip the dirty details.
Regarding your requirement to use SQL Server Standard, you have two options:
  1. Keep your current instance to hold the Agile Platform and launch a new instance with the SQL Server Standard
    • This will cost you more but you'll have a better performance
  2. Use the SQL Server Standard instance only and install there the Agile Platform
    • This will cost you less since you'll only run once instance but performance will be worst
To keep your current instance with the Agile Platform and launch a new instance to SQL Server Standard, do as follows:
  • Launch an Amazon AMI Microsoft SQLServer 2008 on Windows Server 2008 instance
  • Assign the new instance with a new Elastic IP so that you can refer it from the other instances
  • Configure the new instance Security Group to allow connections to SQL Server ports
  • Open a terminal service session to the new instance
  • Configure SQL Server to accept Mixed Mode Authentication and define your "sa" password
  • Open a terminal service session to the instance with the Agile Platform installed
  • Disable the Autostart of the SQL Server Express service
  • Open the OutSystems Configuration Tool
  • In the "Database" tab, make it point to the SQL Server Standard <IP>\<INSTANCE>
  • Press the "Create / Update Database" to create the database and the users (you'll be asked for the "sa" credentials)
    • You can change the user names, passwords and database names before this step
    • The Configuration Tool creates both the users and the database if they don't exist
  • In the "Session" tab, make it point to the SQL Server Standard <IP>\<INSTANCE>
  • Press the "Configure Session Database" to create the session database and the users
    • You can change the user names, passwords and database names before this step
    • The Configuration Tool creates both the users and the database if they don't exist
  • Press "OK" to close the Configuration Tool
  • Restart all OutSystems services
  • Open a command line and execute "SCInstall" inside "C:\Program Files\OutSystems\Platform Server" to install Service Center in the new database
  • Login to Service Center using a browser and upload the Community Edition license attached to this post
  • You are ready to go!
Note that this procedure creates a new empty database. Please be sure to download all relevant eSpaces/Extensions/Solutions from your current installation before following the procedure. In the end, you can publish them again. Alternatively, you can migrate your existing database mdfs to the new SQL Server Standard instance.

To install the Agile Platform manually in the instance holding SQL Server Standard, do as follows:
  • Launch an Amazon AMI Microsoft SQLServer 2008 on Windows Server 2008 instance
  • Open a terminal service session to the instance and download all the Agile Platform components individually from here:
    • Platform Server
    • Service Studio
    • Integration Studio
  • Launch the Platform Server installer and you'll be presented with an installation checklist
    • This checklist contains all the steps required to manually install the Agile Platform without using the automated Community Edition package
    • It further contains the pre-requirements you must install and pos-installation optional tuning steps
  • In the end, login to Service Center and upload the Community Edition license attached to this post


Let me know if I can be of further help. Cheers,

Wow, Thanks. I was able to follow along as well. Great Job.

So, what do I need to do in order to load the style guide into the cloud.

Thanks
Gary

Hi Dan,


To install the Style Guide you first need to install Enterprise Manager. Check these How-to install Enterprise-Manager instructions.

Then download and install Style Guide:
  • Download it from: http://www.outsystems.com/forge/6/outsystems-style-guide/
  • Double-click the .osp file
  • Enter the host and credentials of your Service Center at Amazon and hit the Publish buttom
  • When publish is done, access http://<your-server-dns>/Template
  • Go to the Help tab and hit the Click here to load sample data button

Cheers,

Thanks!

Gary

Hey Rodrigo

I followed your adivce on getting the style guide loaded. However there were major error on the compile, e.g. No Front-End Servers. The final Set of errors on step 12 were:

"12 components were successfully published. 5 components were not published: 'AuditEvents, Enterprise, EnterpriseManager, RichWidgets, WidgetLibrary40'"
Hello Gary,

you need to install the enterpise manager... its a separate item.... heres the link to install the enterprise manager.  http://www.outsystems.com/forums/discussion/5815/how-to-install-enterprise-manager/ 

that should fix it

Thanks

Dan

Hey Dan,

Thanks,

Yeah, I know thats what Bomb out was the Enterprise Manager Build. Did not even get to load the StyleGuide/Template.
on your desktop of your new Amazon server.  Did you double click the icon "Startup Outsystems Agile Platform"?

Run this little program... then try to do your install of the enterprise server.

Thanks

Dan

Hey Dan

No, this all occured on my EC2 Instance. Im not having any issues on the On-Site Server all works as it should. Just when I try and Publish the Enterprise Manager onto the EC2 Instance.

And yes the Platform is Running, Greeen light and all on EC2. Can connect with Service Studio, just could build the Enterprise Manager.

why not create a AMI with all the tools and template loaded.

Love this Tool, but we still need an Application Generator driven my a Data or Process Model, then we can Mod. As much as I love this very Awesome Tool, it takes a lot of time to get minium funuctionality. Im not complaining, just a suggestion. In anycase, thanks for the help


Thanks for the Help
Gary
Hi Gary

Not sure if I understood correctly your last post, about the problem you're facing while publishing the Enterprise Manager solution. From the error you've stated, it seems that the compiler is complaining about the lack of Front-End servers with the message (No Front-End Servers). Is that correct?

 If so, this means that the OutSystems Deployment Service failed to register on startup. Please check the status of the OutSystems Deployment Service in the operating system services tool (Control Panel -> Administrative Tools -> Services). If it's down, start it. If it's up, restart it.

Also check the application event viewer (Control Panel -> Administrative Tools -> Services) errors for the OutSystems Deployment Service source.

Let us know your findings.

Cheers

Miguel Simões João

Hi Gary,


Miguel is right. Some misbehavior occurred with the OutSystems services. All this is fixed in the new 5.0.2.9 version we will release in some days.

Meanwhile, to move forward, do as follows:
  • Open a terminal services connection to your Amazon instance
  • Open a browser and login to Service Center at http://localhost/ServiceCenter as admin
    • Browse towards Administration -> Front-End Servers
    • Select the listed Front-End and inside press the Delete button
  • Go to Start -> Programs -> OutSystems -> Administration Tools and select Stop Services
  • Go to Start -> Programs -> OutSystems -> Administration Tools and select Start Services
This should fix the problem you are experiencing. Afterwards, just try publishing Enterprise Manager again.

Hope this helps! Thanks!
Hey Guys

That worked perfectly, Thanks Rodrigo...

Thanks to all..

Gary
i just susbscribed for amazon web services account and  followed all the instructions in setting up an AMI creating an instance in http://www.outsystems.com/NetworkForums/ViewTopic.aspx?Topic=How-to-Install-the-Agile-Platform-Community-Edition-in-the-Amazon-Cloud____1#Post1.so i copied my public dns name as explained in the tutorial and pasted it in my server host field in service studio and tried connecting but it didnt work.it kept throwing "Error in connecting to the host".I used my default username and password that i normally use in logging into service center(My plat server).But later i also changed it to my user name and password used in accessing my AWS webservice console and still no result.any help with regards to this issue will be welcomed.
Hello...

I woudl use               localhost                as the host name..

I assume... you are trying to use.. outsystems service studio... on the same machine..... so... if so... ther host name... is    localhost

Thanks

Dan
hi dan,
i just created an online amazon account  i tried following  this tutorial  in accessing it via my public dns,but its not working.I know about local host and stuffs,its working.But the main purpose is testing to see if my AMI setup is working because i intend doing some testing and development on the cloud .i followed rodrigo instructions but when it comes login in thats were the problem is and mind u i am using a high speed broadband internet connection.
OK... OK... I use this all day every day... so.. I want to lead you in the right direction..

so... are you having trouble loging into the server...

or outsystems?

if it is the server... you shoule be using...RDC..to connect to the server.. . the default username and password are Administrator and outsystem

or is it servce center you are having trouble with?

from my understanding from your text... it sounds like you are having trouble with connecting to the server.... use RDC remote desktop connection... with Administartor and outsystems... the host... will be that long...public dns name...

hope this helps...

if not... try and give me a clear understanding of were the issue is.... I use this all day with amazon....and love it...so I am glad to help... I just need a little more info to get you on the right track.

Thanks
Hi Tmlewin,


Amazon machines take some time to start, sometimes more than 15 minutes. Try waiting a little longer.

Then access http://
Just remembered of something else that can be wrong: the firewall. Do you have port 80 open in the Amazon firewall?

You must create a security group with at least the port 80 open and associate the AMI with that group when you launch the instance.
yes i have port 80  created in the amazon security group but there was an option to add a source during the creation of the security group and i chose the default.does this in anyway affect my connection to the cloud server via service studio.I also couldnt access it via service center that is (htttp://public amazon dns/service center).
Thanks Dan but could you be more  extensive on the specifics of using RDC because i am considering it as an alternative option. thanks
Hi Tmlewin,


I've tried again and recorded a small video showing all the steps to launch the Agile Platform Community Edition AMI. I had no problems.

Note that the video is cut between the AMI Launch and the opening of Service Center (in my case it took around 15 minutes for Service Center to be accessible).



Maybe the problem is with your machine. Do you have any firewall installed that is preventing Service Studio to connect to the web through port 80?


Cheers,
Thanks Rodrigo and Dan for all your help and apologies for all the hassle.I have finally connected both my service center and service studio to my amazon cloud public dns.The problem was my security group .I had to change/ map the AMI to http(port 80) and disabled my firewall and everything is working as smooth as it its meant to be.But if i may ask how can i upload or transfer some of my stuff on my localhost(service center) to my amazon cloud server .Thanks.
Hi Tmlewi,


You can
transfer files for the Amazon machine at least 3 ways:
  • Setting up an FTP server in the Amazon machine
  • Using Remote Desktop Connection and its file sharing feature
  • Creating an S3 volume, attaching it to the machine and then using CloudBerry or other software to transfer files to your S3 account
Check this thread: http://serverfault.com/questions/148151/uploading-files-to-ec2-windows-instance


Cheers,
HI All,

I am using Community Edition in Development mode. I've succesfully used the tutorial video to upload my business app to an Amazon EC2 instance. When I used "localhost" previously, I was able to use SEO URLS. I have no idea how to install ISAPI filters to the Amazon instance. Please help.

Julius
Hi Julius,


To install the ISAPI filter in the Amazon machine, you do exactly as you did in your local machine. Just connect to the Amazon machine using Remote Desktop Connection that comes with your Windows installation.


Cheers,
Hey Rodrigo,

I was wondering if you have heard of the problem I am having. My post is http://www.outsystems.com/NetworkForums/ViewTopic.aspx?Topic=IIS7-Error-on-Amazon , but I will post it here too.

I uploaded my site to Amazon EC2 and it works fine (I followed your directions above). I then assigned an elastic IP address through Amazon because I wanted to direct my domain to my site, but when I visit the IP address, it takes me to a "IIS7" page, not my site. In addition, I get an error now when uploading to my EC2 instance. If I terminate the instance and start a new one, re-upload my site, it seems to work fine until I assign the elastic IP again. Does this make sense? Am I missing something? I am just trying to figure out how to direct my domain to my outsystems site.


Thanks,
Mark
What is the username and password to access the amazon server from remote desktop?
The AMI Administrator password is outsystems. Cheers
Just a small update.

Agile Platform 6.0 Community Edition AMI now has installed SQL Server 2008 R2 Express which raises the database size limit to 10GB.

Best Regards,
David Nunes
Can I debug in this community Cloud version ?
When I try to, The application get stuck
Hi Joop,

There shouldn't be any problems with the debug on the cloud.
Are you behind a HTTP proxy or some wierd network setup?
Can you debug from the local machine?

Best Regards
David Nunes
David,

I can debug on a machine within our network. Can debug on localhost.
Can not debug in the cloud from within our network.

Don't know if I'm behind proxy or something wierd :-)
We use normal firewalls here
Joop,

I'm having trouble replicating the behaviour you described.
I would like to capture traffic from the debug sessions so we can analyse it and hopefully find out what's preventing you from debugging.
I was wondering if you would be so kind as to do a few debug sessions against one of our servers ? 

Best Regards
David Nunes

I just managed to launch my first instance thanks to all this info. I have one question, though: why is the AMI only available on the US Region? How can I launch it on the EU (Ireland) region?
Hi David,

We managed to scan our firewall logs and it seems it is blocking the response from servicecenter because the size of the response it too big.
We see the ASMX's are called and also returns something. Still under investigation :-)

this is a part of the firewall log :

2011:09:02-12:22:30 mail-1 httpproxy[8344]:
id="0002"
severity="info"
sys="SecureWeb"
sub="http"
name="web request blocked"
action="block"
method="GET"
user=""
statuscode="502"
cached="0"
profile="REF_DefaultHTTPProfile (Default Proxy)"
filteraction="REF_DefaultHTTPCFFAction (Default content filter action)"
size="4936"
time="96589 ms"
request="0xeb270af8"
url="http://ec2-50-17-32-139.compute-1.amazonaws.com/Value2Life/_debuggerEvents.ashx?debugSessionToken=e5753270-3b3e-4d20-a8cb-de44da4a92bc&lastEventReceived=0&eSpaceUID=YHU42EQRP0mQSf2BGqF7xA"
exceptions=""
error="Timeout while reading response from Server"
category="178"
reputation="neutral"
categoryname="Internet Services"
content-type="text/html" 

Why is the the agile platform installed on a 32bit AMI?

(ie Cant launch a large 64bit AMI from this)
Great post, many thanks for the detailed instructions.
I am completely new and I would like to have few clarification.

1) Can I install Outsystems plaform using a reserved instance?
2) If yes which is the most appropriate platform to reserve in order to install Outsystem platform?
- Windows
- Windows (Amazon VPC)
- Windows with SQL server
- Windows with SQL server (Amazon VPC)

Many thanks in advance.
 
Hi Rodrigo,

I am really new to this cloud environment.  If I get an Amazon cloud account and follow your directions, does that mean I can put my Agile App on that cloud account and it will then be available to my users?  I assume they would have to use my Amazon account login to get to it?  Is that against Amazon's policy?  Or is this only a way to do my personal development via the Amazon cloud account?

Thanks in advance,
Carlene
Hello Carlene,
 
Yes.. all you can follow these directions to get the Agile platform in your own Amazon web server.
Once you have it set up (the directions above) and you create your first app is will already be available to others from the whole world.   You do not give out your Amazon username and password.  The app will already be publicly available as the Amazon web server is publicly available.  And doing this is what the Amazon EC2 servers are for and all with policy. 
 
So.. setup your Amazon server like the direction above and create your first app and publish it and your app is already up and live. 
 
Hope this helps I use Amazon for all my outsystems apps.  So if you have a question don’t hesitate to ask.
 
Note.. I would also go an extra step in Amazon and get an elastic IP (static IP address) and assign it to this new instance/server.. then the url is much easier to manage.  If you create an app called movies.  To call it from any computer in the world..  just use the elastic ip/app name   i.e.  100.99.90.871/movies
 
Thanks
 
Dan Stueck
 
Dan,

Thanks so much.  Your answer really helps! 

But now I have some more questions:
- If I have developed the app on another machine, I assume I can upload it to the Amazon server I create.  Am I correct?
- If I do what you have described, is there still a limit of 30,000 SUs to all my apps that are on the server (assuming , of course, that I am using the Community Edition)?
- Have you found it is easier to develop on a local host or on the Amazon cloud server?

Thanks again for all your help,
Carlene



 
@Carlene

"- If I have developed the app on another machine, I assume I can upload it to the Amazon server I create.  Am I correct?"
Yes that is correct, providing that both agile platform edition are the same you can upload to Amazon.
"- If I do what you have described, is there still a limit of 30,000 SUs to all my apps that are on the server (assuming , of course, that I am using the Community Edition)?"
Yes
"- Have you found it is easier to develop on a local host or on the Amazon cloud server?"

if its a local server, you connect to the local server, if its a amazon hosted cloud server, then you connect to the amazon hosted cloud server.

No difference in terms of development.
I cannot locate the Outsystems AMI in Community AMI's if I set my region to Sydney.  If I set my region to the US, I can find and install the ami but I can't choose to launch it in the Australian region, is there anything I can do other than transfer my instance once it's installed?

Regards,
Gavin Horne
noob
Hi Rodrigo
I Realize this is a rather old posting, is it still possible to install latest Community Edition on AWS, following your instructions?
Best Regards
Sverker


Rodrigo Castelo wrote:

The goal of this how-to is to explain how you can install the Community Edition of the Agile Platform in the Amazon Cloud, using Amazon’s Elastic Compute Cloud (EC2) and Elastic Block Store (EBS) services.

By installing the Agile Platform Community Edition in the Amazon Cloud, you get an online environment where you can deploy OutSystems applications. You can use this online environment for development, training, evaluation, or even production purposes.

  1. Sign into the Amazon Web Services (AWS) Management Console here.

    If you do not have an Amazon Web Services Account (AWS), select the I'm a new user option and proceed with the registration process.
    AWS Management Console Login
  2. Sign up for Amazon Elastic Compute Cloud (EC2), if you haven't signed it up yet.

    Elastic Compute Cloud (EC2) Sign Up
  3. Click the Launch instance button in the Getting Started area.

    Launch Instance
  4. Select the OutSystems Agile Platform Community Edition 5.1.1 Amazon Machine Image (AMI), under the Community AMIs tab.

  5. Keep all the default values in the Instance Details step.

    Instance Details Instance Details
  6. Select the Proceed without a Key Pair option.

    The AMI Administrator password is outsystems, in case you need to connect to it.
    Instance Key Pair
  7. Select the Create a new Security Group, name it Web or something else, and add the HTTP, HTTPS, and RDP rules.

    If you have previously launched an AMI with the same configuration settings, select the Choose one or more of your existing Security Groups option and then pick the group you want.
    Instance Firewall
  8. Review and launch the instance.

    Instance Review
  9. Click in the View your instances on the Instances page link to check the instance status.

    The instance takes a few moments to startup. Press the Refresh button on the toolbar if auto refresh is not working.
    Instance Firewall
  10. In the instance Description bottom zone, you'll find the Public DNS of your instance.

    You will need this DNS to connect to your server using Service Studio. To test your Agile Platform Community Edition, use this Public DNS to login into Service Center: browse to http://<your-instance-public-DNS>/ServiceCenter and login.
    Instance Public DNS
  11. Download Service Studio from the Agile Network, here, and install it in your desktop or laptop machine.

  12. Launch Service Studio and use the Public DNS to connect to your on-demand Agile Platform Community Edition in the Amazon Cloud and start deploying your apps!

    The instance may take some minutes to start. If you cannot connect to server using Service Studio, wait for a few minutes and try again.

Related Information

  • SQL Server databases and users created by Community Edition
    • The sa password for the SQL Server Express installed in the AMI is outsystems. You can also login using windows authentication.
    • Please use (local)\SQLEXPRESS as the server name, since only Shared Memory connections are enabled in the SQL Server instance.
    • Please note that remote connections are disabled in the SQL Server instance installed in the AMI. You'll need to create a Remote Desktop Connection to the machine to access SQL Server.
  • How to: Agile Platform Database Users
 
 
Hi Sverker,

Even though we no longer bundle Community Edition AMIs it is still possible to install the community edition on AWS machines (or any VPS provider for that matter).

You just need to start a machine with Windows 2008 R2 and then connect to the server via Remote Desktop to download and install the CE (http://www.outsystems.com/community/download/).
You don't need to worry about uploading the Community License because the latest installers already do that for you.

Here's the link to download the latest version of Service Studio (8.0 at this point):
http://www.outsystems.com/NetworkDocuments/DocumentDetail.aspx?DocumentId=1070&VirtualDirectoryId=76

I hope that helps!

Cheers!
Davide
If your installation does not come with a community license, one can be requested at http://www.outsystems.com/Community/license