Atlantic Business Technologies, Inc.

Category: Application Architecture

  • AWS Certified Cloud Practitioner Journey with AWS She Builds

    AWS Certified Cloud Practitioner Journey with AWS She Builds

    The Certified Cloud Practitioner journey is about as simple as you allow it. The AWS She Builds program is strictly for women or individuals who identify as women. However, this post will discuss the free resources offered in a non-structural format, allowing all individuals interested in getting certified to learn more. Most importantly, studying for 1-3 months and taking the exam while it’s fresh in your mind is recommended.

    The initial sign-up process for AWS She Builds was simple. There are individual cohorts that span eight weeks. To clarify, you’re not limited to those eight weeks as it’s self-paced. Therefore, taking this journey with a full-time job is possible. However, they request that you get through the process within a specific time frame to get a free voucher ($100 USD value). There is a requirement to attend the initial onboarding meeting. After that, they will send an email, including an invite to Slack, and your journey will begin! They offer near-immediate responses to questions within the Slack channels. In addition, previous cohorts and other women who are more experienced can also provide guidance.

    The next cohort starts on August 25th (2022):

    AWS She Builds – SkillUp with CloudUp – Cloud Practitioner

    What is AWS She Builds

    • Flexible 8-week program for individuals who identify as women only.
    • Community-driven learning environment.
    • Utilizes AWS Skillbuilder for structure.
    • It provides a baseline structure to keep you on track.
      • A weekly guided academic-based flow with modules and dates to help you stay on track.
    • Live training sessions and webinars.
    • Study groups within Slack that are available online across the globe.
    • Resources from external sources are provided for extra practice.
    • Weekly live Q&A sessions for any individuals who feel ‘stuck’ or just want to listen.

    Why is AWS She Builds just for women?

    • AWS She Builds desires to bridge the gender gap, pay discrepancies, and lack of diversity in IT teams.
    • Allows women to bond and come together to discuss tech, leadership, and network for career expansion.

    What about others?

    The resources used for AWS She Builds are available for free for others. The caveat to that is that you cannot participate in live webinars or Q&A sessions or get the detailed structure paths the mentorship provides.

    Resources to get certified for Cloud Practioner:

    AWS Training and Certification Skill Builder

    Digital Cloud Cloud Practitioner Cheat Sheet

    AWS Educate

    AWS Power Hour

    Cloud Practitioner YouTube Playlist

  • An executive’s guide to choosing the right site search.

    An executive’s guide to choosing the right site search.

    Why is site search important?

    Did you know that website visitors using site search are 216% more likely to convert than other users? Your website’s internal site search fosters conversions by helping users find the information they need in a hurry. 

    But site search doesn’t have to be “hands off”; you can gain even more benefits by going a step further. For example, you can build lists of visitors who search certain terms in Google Analytics. Now you have an engaged segment for remarketing ads that are more likely to convert. 

    Or, simply gather information on search queries and use the data to optimize content. Popular search terms can provide direction for SEO, content priority, and user-friendly navigation labeling.

    What key features can site search provide?

    At a minimum, your site search should include features that a user would expect, like fast results, filtering options, breadcrumbs, synonyms, and typing ahead.

    On the admin side, your site search should include reporting on key terms and usage, a Google Analytics integration to help you compare queries to behavior, and the general ability to integrate with your tools.

    Some top tier search tools go above and beyond, including features like AI auto ranking, proximity matching, and personalization.

    Which software should I choose?

    At Atlantic BT, our teams have experience implementing Swiftype, Algolia, and ElasticSearch. All of these options offer standard features, fast results, and plenty of integration options.

    We would recommend using Algolia or Elastic Enterprise Search in almost all situations. Take a look at a few scenarios where you would use each.

    Algolia

    In most situations, Algolia is the best option. That’s because it includes well-defined API documentation, framework integrations, and a developer-friendly platform that make for simple implementation. It is also the platform that offers the best pricing for low volume performance while offering the most advanced features for high volume websites.

    Some of Algolia’s unique optional features include A/B testing, merchandising, AI auto adjusting of result sets, and search result personalization. Because it directly integrates with Magento 2 and Shopify, Algolia is usually the best solution for eCommerce stores.

    On the other hand, if traffic is high volume (like exceeding 1 million searches per month), there are a large amount of pages indexed, or there’s no need for special features; Algolia is probably not the best option.

    Overall, Elastic Enterprise Search is the best option for sites that have very high volume search traffic (or a very high number of indexed items), but do not have a need for some of the more advanced features that Algolia offers. Because it’s self-hosted, it’s a popular choice for applications with strict security requirements because data does not have to be sent to a SaaS solution.

    While Enterprise Search has no limit on queries and documents, server size will have to increase to keep performance optimal. At high traffic volume (1 million hits and above), Elastic Enterprise Search will still go up in cost. However, it increases at a significantly slower pace than Algolia.

    Elastic Enterprise Search also offers a maintenance-free crawler, Elastic Site Search. It keeps content current while intuitive customization features and robust analytics provide full control over search relevance. 

    If you’d like to enhance your search quickly utilizing a web crawler, Elastic Site Search a great option for you.

    Atlantic BT has experience implementing site search in all sorts of industries. We can make a recommendation based on your business requirements, set up site search with your website, and integrate site search with other software. Reach out for a free consultation to get started.

  • How Much Does it Cost to Build & Maintain a Web Application?

    How much does a custom web application cost to build and host? If you are reading this article you are probably trying to figure out if the application you need can be built at an affordable cost. Use this guide as a web application cost calculator. While there are many variables that can impact cost, the key factors generally fall into three categories: 1) size and complexity, 2) refinements and constraints, and 3) hosting and maintenance. 

    Start with the basics: how to determine size and complexity.

    To determine the size and complexity of your application we need to first define what it’s going to do. The specifications for modern software are often defined by ‘user stories’. These user stories are a simple way to describe discrete functionalities your application should provide, from an end-user perspective, and are often used by developers to define and estimate the effort required to build an application. 

    Let’s use Facebook as an example of a web-based application that most people are familiar with. While Facebook may seem relatively simple to use, it is actually a massive web application with many different functionalities for different users. Describing it in user stories would take a very long time, however, if we stick to its most basic functionality we can use it as a good example. Here are some examples of web-based user stories:

    • As a user, I need to register and create a profile
    • As a user, I need to verify my email address to complete my registration
    • As a user, I need to find friends to connect with
    • As a user, I need to request to connect with friends I find
    • As a user, I need to add pictures to my timeline
    • As a user, I need to post status updates to my timeline
    • As a user, I need to browse my feed from other friends
    • As a user, I need to be able to react (like, love, hate, cry, etc) to posts on my feed
    • As a user, I need to be able to comment on posts on my feed
    • As an advertiser, I need to compare the performance of my campaigns
    • As an organizational social media manager, I need to manage roles for my page

    I think you get the idea. Defining this application in user stories would take a very long time, and producing each piece of application functionality takes a lot longer! With the table below we will try to ballpark the relative size of your application using the number of user stories. When you are thinking of your user stories also think of the relative complexity of each user story. For example: ‘As an advertiser, I need to compare the performance of my campaigns.’ is not the same level of effort as ‘As a user, I need to be able to react to posts on my feed.’ 

    We normally apply a ‘level of effort’ attribute to each user story to help scope the application. In development ‘low’ might mean 5-10 hours, ‘medium’ 10 to 20, and ‘hard’ 50 to 100. Any user story more complex than that should be broken down into smaller stories. For example ‘As a user, I need to manage my profile’ is not an acceptable user story and should be broken down into even smaller pieces.

    Micro (< $50,000) Small($50,000-$200,000) Medium($200,000-$1M) Large($1M+)
    10-15 “low effort” user stories 25-50 “low effort” user stories 50-100 “low effort” user stories 200+ “low effort” user stories
    5-10 “medium effort” user stories 10-25 “medium effort” user stories 25-50 “medium effort” user stories 50+ “medium effort” user stories
    1-2 “large effort” user stories 2-5 “large effort” user stories 10-20 “large effort” user stories 25+ “large effort” user stories

    What’s next? Identify application refinements and constraints.

    With any web application development, you must not only consider what your basic functional requirements are, but also include user expectations and behaviors, i.e. usability, and other constraints such as mission criticality and regulatory requirements in your industry.

    Gain a competitive edge by considering user delight.

    With any application you build, you are most likely facing competition in one form or another – in many cases direct competition, but even if not that, you are competing with your users’ expectations of what an efficient and pleasant web interaction feels like. That being the case, you want to refine your application to not only beat the competition but to also be a joy to use. Therefore, you will probably want to pay attention to usability in the design of your application. Software developers often have a basic idea of usability when developing software, but there’s a big difference between a software interface that basically functions and an efficient experience developed by a UI/UX professional. Here are a few classic UX design failures to illustrate the point.

    Good usability is best built into the design and informed by user research. To add a UX professional or team to your software project might add another DevOps chain5-10% (could be more depending on the nature of the application and how important the experience is). That said, this 5-10% can save you much more down the road in avoided rework and enhanced customer satisfaction and retention.

    Criticality, security, and regulatory requirements directly impact application cost.

    Is your application critical to the daily operation and success of your business, or that of others? Does it deal with health and safety or finance? Does it deal with an industry with regulatory requirements, such as PCI or HIPAA? Do federal accessibility requirements apply? If you answer yes to any of these questions, your application needs to be developed with special requirements in mind.

    All of these considerations will increase your budget significantly; not only through the additional requirements, but also due to the need for testing. All well-developed software is tested continually through the development process with both automated testing and human testing and peer review. Software that is extremely sensitive or critical would have additional layers of testing and security added throughout the process. Normal software development would include a 20% cost for testing and security but on critical or extremely critical software that might grow as high as 40% of the total cost.

    Ensure a smooth run with ongoing application support.

    Designing and developing the application is just the start. Once it is built, it must be operated from somewhere by someone (hosting), and all software needs periodic maintenance such as security updates. 

    What about hosting?

    Hosting alone could be an entirely separate article but we’ll take a quick swag at it based on what you found above. For most web applications we recommend a cloud environment for scale and redundancy. Amazon Web Services, Google Cloud Platform, Microsoft Azure to name a few. Processing cycles, storage, bandwidth, backup, disaster recovery, and other details all add to the cost. With a disclaimer on accuracy for your particular application, here are some ballparks below. 

    Micro  Small Medium Large
    < $100 / month $100-$500 / month $1,000-$5,000 / month $5,000-$100,000+ /month

    Don’t forget application management.

    Applications have an ongoing cost of ownership — all software, especially critical applications, need security updates, periodic maintenance, updates to supporting software and technology, and perhaps testing of backup and disaster recovery. To keep your application secure and performing well, these need to be performed as preventive maintenance, not as an emergency response after problems occur.

    To make sure all these happen, you will want some level of application management, whether that’s internal or through a managed service provider like Atlantic BT. Because you have a custom application your best bet in choosing a managed service provider will be a company that can both manage the hosting of your application and the ongoing application development and support. It’s very rare that you “finish” developing your application. Normally, you continue to evolve and improve your application over the course of the time it is in production. Choosing a managed service provider that has a continuous DevOps chain from development through hosting will ensure efficient, continuous operation.

    The costs of managed services around a custom application could range from 5%-20% depending on how well it was built originally and how many features and requests you want to continue to add as the application is used. 

    Are the numbers starting to make sense?

    This web application cost calculator will help guide you in the right direction for a ballpark estimate. More importantly, it tells you how to approach estimation in general for software development and lifecycle maintenance. If you want a more refined estimate, contact us for a free consultation. We can help you with everything from a quick idea over a phone call to structured requirements-gathering and a detailed estimate process. 

  • Who is the Winner of the Great Content Delivery Network Race?

    The Internet has more than its share of misconceptions and half-truths. However, one of the most significant mistakes is the belief that bandwidth speed alone determines how fast a webpage will load. The truth is more complicated—your website’s load time depends on user bandwidth and the latency of your server.

    You can’t control the quality of your user’s Internet connection. However, there is a proven way to improve the latency of your server by using a Content Delivery Network (CDN). CDNs support your site by storing and caching your content (such as images, CSS, videos, and the like) and serving this content from an EDGE location. The result? Your webpage and all its content loads faster and more reliably.

    This leads to the natural question: which CDN delivers the right combination of value, reliability and performance? To learn the answer, I designed and conducted a series of tests measuring the speed and performance of four CDNs: S3, CloudFront, Fastly, and section.io.

    How I Tested These CDNs

    I created my test to simulate a typical loading task for a website facing low to modest traffic. Using an S3 server, I pushed a 100kb file and tested how many transactions the CDN could handle over a period of 90 seconds with 100 concurrent connections on a single 300mb/second link; I also measured the CDN’s transfer rate and response time.

    The table below reveals my test results, but first, a few qualifications:

    • I chose S3 as the test server because of my experience with S3 as well as S3’s support from Amazon Web Services.
    • I chose these four CDNs because of their similar price point and my familiarity with them.
    • There was no “warming” of the cache by throwing a preliminary file at it to scale the cache upward. This allowed the test to better simulate a site with modest traffic experiencing a sudden rush of visitors.
    • My test did not include comparisons between the different CDNs’ features, such as the ability to invalidate a CSS file or security capabilities.

    CDN Performance Results and Observations

    S3

    CloudFront

    Fastly

    section.io

    Transactions

    7533 hits

    12456 hits 12131 hits

    12284 hits

    Availability

    100%

    99.14% 99.34%

    99.51%

    Elapsed Time

    90.03 sec.

    89.95 sec 89.81 sec

    89.47

    Data Transferred

    735.64 MB

    1216.41 MB 1184.67 MB

    1199.61 MB

    Response Time

    0.95 sec

    0.33 sec 0.37 sec

    0.39 sec

    Transaction Rate

    83.67 trans/sec.

    138.48 trans/sec 135.07 trans/sec

    137.3 trans/sec

    Throughput

    8.17 MB/sec

    13.52 MB/sec 13.19 MB/sec

    13.41 MB/sec

    Concurrency

    79.1

    45.05 49.74

    52.9

    Successful Transactions

    7533

    12456 12131

    12284

    Failed Transactions

    0

    108 80

    60

    Longest Transactions

    9.04

    31.15 31.21

    31.27

    Shortest Transactions

    0.12

    0.05 0.1

    0.17

    Amazon CloudFront emerged as the clear frontrunner, leading the pack in transactions processed, data transferred, response time, and speed. CloudFront also led the way in failed transactions, though the 108 failures represent less than 1% of transactions attempted.

    That said, these results represent only one test in one set of circumstances. It’s important to try out different CDNs for yourself to find the combination of performance, features, and price that best fits your needs. If you have specific questions regarding CDNs or Amazon Cloud Services, our development team is here for you.Â