Optimal EC2 Instance to handle/edit PDF files










-1















So I have two applications that are processing PDF files:



The first one combines two files and then captures digital signature and fingerprint to then return a single file with the images of the captures.



The second one is a cloud-signer that inserts qr codes for all of the pages of the pdfs and then digitally signs the document placing also some bar codes and legend. This application will eventually receive requests with 100 documents.



The applications both work now with t2.micro instances (some operations take a while e.g. signing 200 docs around 4 minutes) but I would like to know the optimal type to go smoothly without trouble, would M or C instances make a significant difference?



Which one do you recommend, M, C or other?



Thanks,
Felipe










share|improve this question


























    -1















    So I have two applications that are processing PDF files:



    The first one combines two files and then captures digital signature and fingerprint to then return a single file with the images of the captures.



    The second one is a cloud-signer that inserts qr codes for all of the pages of the pdfs and then digitally signs the document placing also some bar codes and legend. This application will eventually receive requests with 100 documents.



    The applications both work now with t2.micro instances (some operations take a while e.g. signing 200 docs around 4 minutes) but I would like to know the optimal type to go smoothly without trouble, would M or C instances make a significant difference?



    Which one do you recommend, M, C or other?



    Thanks,
    Felipe










    share|improve this question
























      -1












      -1








      -1








      So I have two applications that are processing PDF files:



      The first one combines two files and then captures digital signature and fingerprint to then return a single file with the images of the captures.



      The second one is a cloud-signer that inserts qr codes for all of the pages of the pdfs and then digitally signs the document placing also some bar codes and legend. This application will eventually receive requests with 100 documents.



      The applications both work now with t2.micro instances (some operations take a while e.g. signing 200 docs around 4 minutes) but I would like to know the optimal type to go smoothly without trouble, would M or C instances make a significant difference?



      Which one do you recommend, M, C or other?



      Thanks,
      Felipe










      share|improve this question














      So I have two applications that are processing PDF files:



      The first one combines two files and then captures digital signature and fingerprint to then return a single file with the images of the captures.



      The second one is a cloud-signer that inserts qr codes for all of the pages of the pdfs and then digitally signs the document placing also some bar codes and legend. This application will eventually receive requests with 100 documents.



      The applications both work now with t2.micro instances (some operations take a while e.g. signing 200 docs around 4 minutes) but I would like to know the optimal type to go smoothly without trouble, would M or C instances make a significant difference?



      Which one do you recommend, M, C or other?



      Thanks,
      Felipe







      pdf amazon-ec2






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 14 '18 at 19:28









      FelipeFelipe

      1




      1






















          1 Answer
          1






          active

          oldest

          votes


















          0














          t-type instances are "burstable performance" which means you cannot really utilize them 100% over a long period of time.



          I worked on a project where I extracted text from a PDF and it seemed that it was pretty much a CPU-bound task, so c-type instances may be a good choice. However, what you really should take in the account (especially if the workload will be uneven let's say during the day) is elasticity.



          It may take some effort, but let you consider using either lambda functions or an auto-scaling groups so you can start more servers when you need it and stop them later. Actually, it may be a significantly more work, but it may save lots of money if you will use this function for a long time.



          Also, I would invest some time to make it simple to deploy with various parameters. For example if you create a CloudFormation template and you need only occasionally sign 200 documents fast, you can deploy 24 t2.micro and run them over the period when you need it (like 1 hour) and then shut them down. It will cost you about the same money as running 1 t2.micro the full day.



          One service which may help with it is SQS - you can put documents into it and then just let the machines pick up a document, sign it and put it to its destination.






          share|improve this answer























          • I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

            – John Rotenstein
            Nov 15 '18 at 5:53










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53307498%2foptimal-ec2-instance-to-handle-edit-pdf-files%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          t-type instances are "burstable performance" which means you cannot really utilize them 100% over a long period of time.



          I worked on a project where I extracted text from a PDF and it seemed that it was pretty much a CPU-bound task, so c-type instances may be a good choice. However, what you really should take in the account (especially if the workload will be uneven let's say during the day) is elasticity.



          It may take some effort, but let you consider using either lambda functions or an auto-scaling groups so you can start more servers when you need it and stop them later. Actually, it may be a significantly more work, but it may save lots of money if you will use this function for a long time.



          Also, I would invest some time to make it simple to deploy with various parameters. For example if you create a CloudFormation template and you need only occasionally sign 200 documents fast, you can deploy 24 t2.micro and run them over the period when you need it (like 1 hour) and then shut them down. It will cost you about the same money as running 1 t2.micro the full day.



          One service which may help with it is SQS - you can put documents into it and then just let the machines pick up a document, sign it and put it to its destination.






          share|improve this answer























          • I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

            – John Rotenstein
            Nov 15 '18 at 5:53















          0














          t-type instances are "burstable performance" which means you cannot really utilize them 100% over a long period of time.



          I worked on a project where I extracted text from a PDF and it seemed that it was pretty much a CPU-bound task, so c-type instances may be a good choice. However, what you really should take in the account (especially if the workload will be uneven let's say during the day) is elasticity.



          It may take some effort, but let you consider using either lambda functions or an auto-scaling groups so you can start more servers when you need it and stop them later. Actually, it may be a significantly more work, but it may save lots of money if you will use this function for a long time.



          Also, I would invest some time to make it simple to deploy with various parameters. For example if you create a CloudFormation template and you need only occasionally sign 200 documents fast, you can deploy 24 t2.micro and run them over the period when you need it (like 1 hour) and then shut them down. It will cost you about the same money as running 1 t2.micro the full day.



          One service which may help with it is SQS - you can put documents into it and then just let the machines pick up a document, sign it and put it to its destination.






          share|improve this answer























          • I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

            – John Rotenstein
            Nov 15 '18 at 5:53













          0












          0








          0







          t-type instances are "burstable performance" which means you cannot really utilize them 100% over a long period of time.



          I worked on a project where I extracted text from a PDF and it seemed that it was pretty much a CPU-bound task, so c-type instances may be a good choice. However, what you really should take in the account (especially if the workload will be uneven let's say during the day) is elasticity.



          It may take some effort, but let you consider using either lambda functions or an auto-scaling groups so you can start more servers when you need it and stop them later. Actually, it may be a significantly more work, but it may save lots of money if you will use this function for a long time.



          Also, I would invest some time to make it simple to deploy with various parameters. For example if you create a CloudFormation template and you need only occasionally sign 200 documents fast, you can deploy 24 t2.micro and run them over the period when you need it (like 1 hour) and then shut them down. It will cost you about the same money as running 1 t2.micro the full day.



          One service which may help with it is SQS - you can put documents into it and then just let the machines pick up a document, sign it and put it to its destination.






          share|improve this answer













          t-type instances are "burstable performance" which means you cannot really utilize them 100% over a long period of time.



          I worked on a project where I extracted text from a PDF and it seemed that it was pretty much a CPU-bound task, so c-type instances may be a good choice. However, what you really should take in the account (especially if the workload will be uneven let's say during the day) is elasticity.



          It may take some effort, but let you consider using either lambda functions or an auto-scaling groups so you can start more servers when you need it and stop them later. Actually, it may be a significantly more work, but it may save lots of money if you will use this function for a long time.



          Also, I would invest some time to make it simple to deploy with various parameters. For example if you create a CloudFormation template and you need only occasionally sign 200 documents fast, you can deploy 24 t2.micro and run them over the period when you need it (like 1 hour) and then shut them down. It will cost you about the same money as running 1 t2.micro the full day.



          One service which may help with it is SQS - you can put documents into it and then just let the machines pick up a document, sign it and put it to its destination.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 14 '18 at 20:56









          petrchpetrch

          32626




          32626












          • I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

            – John Rotenstein
            Nov 15 '18 at 5:53

















          • I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

            – John Rotenstein
            Nov 15 '18 at 5:53
















          I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

          – John Rotenstein
          Nov 15 '18 at 5:53





          I agree that converting to use AWS Lambda functions would be a much better architectural design, and would also make it cheaper and more scalable. Simply trigger one function per document (or per batch).

          – John Rotenstein
          Nov 15 '18 at 5:53



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53307498%2foptimal-ec2-instance-to-handle-edit-pdf-files%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Top Tejano songwriter Luis Silva dead of heart attack at 64

          ReactJS Fetched API data displays live - need Data displayed static

          Evgeni Malkin