Agile Platform 7.0.1 Announcement

Agile Platform 7.0.1 Announcement

  
Fact: OutSystems customers, that realize the full power of the Agile Platform, end up building and running many applications and reusable modules. As the infrastructures grow over time from thousands to millions of Software Units, the time it takes to deploy changes to these running applications also grows - after all, a lot of code needs to be compiled and deployed to servers - sometimes to the point where deployment becomes complex to manage, becoming a real constraint to fast change.

To address these challenges, and make the life of our customers’ operations teams a lot better, we researched deployment use cases in existing large factories, and came up with a set of improvements that aim to simplify and optimize these processes. These improvements have been released today, in the 7.0.1 revision.

So, in a nutshell, what can you expect from 7.0.1?


Deployment improvements

First of all the Agile Platform’s publishing and staging operations were optimized to provide more efficient and faster deployments on large software factories. These improvements include:

  • Shared Server Library – All applications’ compiled files (DLLs and JARs) are now stored in a shared server library, along with other platform libraries. Each application no longer needs a copy of the DLLs/ JARs of all its producer applications (either direct or indirect), dramatically reducing the required disk space and the number of files that need to be distributed to the front-end servers.
     
  • Parallel File Distribution – Applications are now distributed in parallel over the network to all front-end servers - copying only modified files! This greatly reduces deployment time on large server farms.
This means not only will you notice improvements in deployment time, especially when running a farm environment with multiple front-ends, but also huge savings on server resource usage, namely:
  • Disk space used on front-end servers (~90% savings!)
  • Time spent on compression/inflation, network copy, disk copy
  • Server memory used on compression/inflation
Results from lab testing and early beta customers point to an average 30% improvement in total deployment time. And although these are great figures, we realized that this was still not good enough for customers with large software factories and massive regular changes. So we took a step further...


Two stage deployment

A major challenge in large software factories is making sure that changes to running applications can fit the IT corporate deployment window (the period of time available to deploy changes to a running application), so even if something goes wrong, and you need to abort or rollback your plan, you can be sure you’re up and running when the time comes.

In order to address these needs, the power of one-click publish can now be managed in Lifetime and Service Center as two discrete stages, enhancing the overall application deployment process:

  • 1st stage - Includes all the non-impact, heavy-lifting steps of application staging, like impact analysis, compilation, database script generation and file server distribution. Teams can now safely execute these necessary deployment preparation steps hours or even days before actual go-live schedule, without worrying about possible impact of unforeseen errors on running applications.
     
  • 2nd stage - Includes actual database and front-end server changes. On the actual go-live schedule, teams can finish the staging process in the short amount of time (just a few minutes, even in large software factories) that takes to actually apply the changes prepared in the previous stage, making sure all applications are updated and keep running without downtime.
By isolating effective changes in the second stage, we are able to keep the time it takes to apply these changes to the bare minimum, greatly reducing the cost and risk of IT operations.

You can read more about the two stage process here.


Last but not least

Now here’s the cherry on the top... If you’re already running the latest and greatest Agile Platform 7.0, updating to 7.0.1 is a no brainer: even with all the core changes delivered in this revision, there are no breaking changes to review! Just install the update, closely following the steps in the installation checklist (like you always do, right?), and immediately take advantage of 7.0.1 benefits.

In fact, due to the amount of fixes introduced with this revision, we strongly recommend all our 7.0 customers to update to this revision as soon as possible. Remember 7.0.1 is now the latest supported release and we won’t be releasing any 7.0.0 patches.

And if you’re not running 7.0 yet, we hope we just gave you another good reason to do so. :)

Finally, just a quick note on running 7.0.1 on top of Microsoft Windows Server 2003: Shared Server Library is not available on this operating system. This means that you won’t benefit from disk usage improvements when using this operating systems, but all other capabilities (parallel file distribution and two stage deployment) are available.


Downloads

Here are the links to the updates so you can get started right away:


Hope you enjoy 7.0.1!


Cheers.
Microsoft SQL Server 2012 Support

And now for something completely different... as a final note, we’d like to share that Microsoft SQL Server 2012 support is available since revision 7.0.0.19 of the Agile Platform. You can now run your applications on top of the latest Microsoft SQL Server release.
@Arlindo

Good job.

By the way will .NET 4.0 or .NET 4.5 be supported in 7.0? or 8.0?

Hi Robert,

Support for .NET 4.0/ 4.5 is in our roadmap. We're evaluating this requirement, and its impact, with our customer base (needs of integrating with .NET 4.0 code versus dropping support for existing integrations with legacy code/ backward compatibility), but we still can’t share an expected date/ version on which support for .NET 4 will be released.

However, it won’t be in 7.0.
I installed 7.0.1.5 last night on our Dev server, it fixed a big issue we were having with our international customers and the InputCalendar. Perfect timing, since we just started getting international customers in the last 2 months!

J.Ja
Hi Arlindo until upgrade to 7.0.1 my time of publish are 34s avarage with version 7.0.0.19, after upgrade this time up to 43s. I don't know why. For me that time is quite large, what I need to improve on my server to significantly decrease this time in my development?
Hi Alexandre,

What OS are you using? Windows Server 2003?
Are you deploying to one or more front-ends?
Hi Arlindo my server is Windows Server 2008, just for one front-end.
Hi Arlindo,
I installed version 7.0.1 on our production server, but the error occurred below.
This server only has the platform installed.

>>> Configuration Tools <<<

Service Center Installer v7.0.1.5
 
Start installing Service Center v7.0.1.5...
This operation may take a few minutes to complete...
 
Publishing Extension(s)...
Publishing Extension 'OMLProcessor'...
Publishing Extension 'IntegrationStudio'...
Reading ServiceCenter.oml oml file information...
Adding ServiceCenter eSpace to database...
Compiling ServiceCenter eSpace...
Preparing ServiceCenter eSpace deployment...
Deploying ServiceCenter eSpace...
Creating ServiceCenter default tenant...
Failed to ping... Will continue deploy anyway...
Message 1
  [Error] Error message from node srvcsidc (127.0.0.1): Deployment failed
Deployment failed. Could not invoke ping. Exception: A conexão subjacente estava fechada: Erro inesperado em um envio.
   em System.Net.HttpWebRequest.GetResponse()
   em OutSystems.HubEdition.DeployService.Deploy.#P0d(String hostname, String espaceName, String ptaOrTenantName, String pingFile)
 
Initializing Service Center...
ServiceCenter initialization failed. Failed to get HttpResponse from http://127.0.0.1/ServiceCenter/DoBootstrap.aspx
 
 
Alexandre Costa wrote:
Hi Arlindo my server is Windows Server 2008, just for one front-end.
 
 Hi Alexandre,

First of all, most of the improvements happen on a multi-server enviroments, however no significant time increase should happen for the other scenarios.
The posted times are for the publishing of eSpaces or solutions? When you said that after the upgrade the time incresead to 43s, are you saying on average or only on the first publishing?

Best Regards,
Rui Eugénio
Hi Rui, it's average time, it's just eEspace, not solution. I'll do more tests, but regardless 35s or 43s is too high, What I need improve on server to radically reduce this time? What isimporant for publish??  Processor, memory, HD?

Today my server is: 

Intel I3 3.07GHZ
4GB RAM
Windows Server 2008 64 bits
HD 500GB 7200 RPM 

Totally dedicated to OutSystems platform.

I think a good time for me is a maximum of 5s.

Alexandre - Part of your problem is that "failed ping" error. That is going to add at least 20 seconds to your deployment, because it tries 5 ties with port 80, then 5 times with port 443, and the timeout is going to be at least 2 seconds.

If you think an eSpace publish should only take a maximum of 5 seconds, you must have a VERY small eSpace, or incorrect assumptions. Publish does a lot more than recompile one or two small pages, it also does the database schema comparisons, and a number of other things as well.

I have a project that is well over 200,000 SUs. It takes about 3 minutes to publish. While that is frustrating, I recognize that the application is very large, and I have learned to be patient. Moving pieces of the application that rarely change (like templates and images) to separate eSpaces helps a lot, by the way. It also reduces the space used in the database and on disk quite a bit.

J.Ja
Alexandre -

Woops, disregard the part about "failed ping", I thought that was you who posted it, it wasn't.

J.Ja
Alexandre Costa wrote:
Hi Rui, it's average time, it's just eEspace, not solution. I'll do more tests, but regardless 35s or 43s is too high, What I need improve on server to radically reduce this time? What isimporant for publish??  Processor, memory, HD?

Today my server is: 

Intel I3 3.07GHZ
4GB RAM
Windows Server 2008 64 bits
HD 500GB 7200 RPM 

Totally dedicated to OutSystems platform.

I think a good time for me is a maximum of 5s.
 
 
Hello Alexandre,

We are just curious why the publish time increase for the 7.0.1. Could you please send us a couple of oml's where this increase has manifested? Regarding the goal to 5s, like Justin said, the publishing does a lot of things. We are always pursuing faster publishes on our platform, but unfortunately right now, I'm afraid that for your machine and your eSpace(s) it's very hard to accomplish that.
One more thing: is your outsystems running a local database or the database is in a separe, dedicated machine? This should help a lot if it's not the case.
 
Best Regards,
Rui Eugénio
Agnaldo Barros wrote:
Hi Arlindo,
I installed version 7.0.1 on our production server, but the error occurred below.
[...]
ServiceCenter initialization failed. Failed to get HttpResponse from http://127.0.0.1/ServiceCenter/DoBootstrap.aspx

Hi Agnaldo,

Can you access http://127.0.0.1/ and http:// 127.0.0.1/ServiceCenter on a browser? Both URLs should give valid responses.

Check if IIS is up on your machine with the Default Web Site running and accepting connections on port 80.
It should look something like this:


[source]
Hi all,

The announcement just got picked up by Dr Dobb's Journal:

"The firm claims that its beta customers (with large software factories) that have a high number of reusable components are reporting a more than 90 percent reduction in storage requirements.

This new deployment algorithm is also said to improve the ability to automatically deploy to multiple front-ends in parallel. The result is a 30-percent reduction in time to deploy applications to large production farm environments.?? There is a two-stage deployment process here so that: Development and Operations teams can perform the more time-consuming steps of an application deployment (like impact analysis, compilation, database scripts generation, and file distribution) in the first stage without impacting running applications — and second, on the actual go-live date, IT teams can finish the One-Click Publish process in a very short amount of time (just a few minutes, if we believe OutSystems), while making sure all applications built with the Agile platform keep running without downtime."


Help us make these claims more concrete by coming forward and sharing your own gains from using the new version.

If you need help with the new version just let us know. That's what we're here for! ;)

Cheers!
Davide
An interesting post about publishing time and how to have a great development environment has just been posted on the "How-To's" section.

Recommended reading for anyone trying to optimize their daily work using the Agile Platform!
Rui Eugenio wrote:
 
Hello Alexandre,

We are just curious why the publish time increase for the 7.0.1. Could you please send us a couple of oml's where this increase has manifested? Regarding the goal to 5s, like Justin said, the publishing does a lot of things. We are always pursuing faster publishes on our platform, but unfortunately right now, I'm afraid that for your machine and your eSpace(s) it's very hard to accomplish that.
One more thing: is your outsystems running a local database or the database is in a separe, dedicated machine? This should help a lot if it's not the case.
 
Best Regards,
Rui Eugénio
 
 Hi Rui, I don't know how I will do this without compromise information of my company. Do you?
Alexandre Costa wrote:
 
 Hi Rui, I don't know how I will do this without compromise information of my company. Do you?
 
 Hello,

There is no problem if you can't provide the eSpaces. I was just curious and really wanted to investigate why the increase in time from 7.0.0 to 7.0.1.
However, if you aren't satisfied with the current level of performance of your server and think something should be done about it, I suggest you to contact your account manager. It may be necessary to schedule an audit on the server performance and he will help you on that. 

Best Regards,
Rui Eugénio