Tag: app

  • New AWS Services Optimize App Development Process

    New AWS Services Optimize App Development Process

    Amazon Web Services (AWS) is always busy introducing new services, enhancing existing ones and, quite often, driving trends. However, the cloud services provider has upped its game even more in recent months.

    In the first half of 2020, AWS announced an astonishing number of developments that enable technology interoperability, simplifying legacy feature removal, creating greater flexibility and time-savings for developers and putting new capabilities at users’ fingertips.

    AWS and ARM Power

    You are going to be hearing a lot about ARM processor architecture and not just because the chipmaker is being acquired by Nvidia, the leading maker of GPUs.

    Developed in the 1980s, ARM processors are finally hitting their stride as companies are embracing ARM-based chips. ARM-based processors combine high-performance RISC designs, lower manufacturing costs and reduced power consumption, making them ideal for portable devices such as smartphones, tablets and even laptops. More and more companies are designing processors that implement ARM architecture, including Apple, AppliedMicro, Broadcom, Qualcomm and Samsung Electronics. This year, Apple brought ARM chips into the desktop world with tailored extensions such as a built-in security enclave, a motion co-processor and a neural engine.

    AWS is among those embracing ARM architecture, which has led to introducing an array of robust services that will benefit developers and end users alike. Case in point: This summer, AWS announced the general availability of its sixth generation of Amazon Elastic Compute Cloud (Amazon EC2) instances, including general-purpose (M6g), compute-optimized (C6g) and memory-optimized (R6g) instances. Powered by AWS-designed, ARM-based Graviton2 processors, they deliver up to 40% better price/performance over comparable current-generation x86-based instances.

    They also offer 50% more NVMe SSD storage GB/vCPU over comparable x86-based instances. The local SSD storage works well for apps that require high-speed, low latency storage, as well as for temporary storage of data such as batch and log processing, and high-speed caches and scratch files.

    They’re ideal for workloads ranging from application servers, microservices and high-performance computing to CPU-based machine learning inference, electronic design automation and gaming. Numerous organizations have already successfully adopted ARM-powered instances and are realizing price/performance benefits.

    The AWS Graviton-based instances are supported by a broad ecosystem of operating systems and services from independent software vendors (ISVs) as well as AWS. They can be purchased as on-demand, reserved, or spot instances; covered by savings plans or as dedicated hosts/instances, and support up to 19 Gbps Elastic Block Store (EBS) bandwidth.

    The AWS Graviton2 processor itself, released in late 2019, deserves recognition, too. Compared to first-generation ARM-powered Graviton processors, they provide twice as fast floating-point performance per core for scientific and high-performance computing workloads. They also offer optimized instructions for faster machine learning inference, always-on fully encrypted DDR4 memory and 50% faster per core encryption performance to further enhance security.

    A number of AWS services, such as Amazon Elastic Load Balancing, Amazon ElastiCache and Amazon Elastic Map Reduce, have realized superior price/performance in testing and will be moving into production on Graviton2-based instances.

    Better, Easier Artifact Management

    AWS isn’t the only organization opting for ARM. As many others prepare to make a move, AWS is doing its part to facilitate the transition. That includes deploying services that streamline various aspects of the app development process, in keeping with the efficiencies and increased performance offered by ARM-based chips.

    One that we’re most excited about is AWS CodeArtifact. This fully managed software artifact repository service eliminates the need for setting up, operating and scaling the infrastructure required for artifact management. It works with commonly used package managers and tools such as Maven and Gradle (Java), npm/yarn (JavaScript) and pip/twine (Python), so it can easily be integrated into existing development workflows.

    AWS CodeArtifact can be used for creating centralized repositories for sharing software packages approved for use across development teams. Its integration with AWS Identity and Access Management (IAM) enables access control. Its support for AWS CloudTrail provides visibility into which packages are in use and where they can easily be updated or removed.

    AWS Making Containerization Easier

    Using containers to modernize existing apps make them portable, increases development agility and reduces operational costs. The problem is that the process requires numerous manual tasks that are time-consuming and error-prone, and slow down modernization efforts.

    That’s why we think another recently deployed AWS service will have a positive impact on the app development process. AWS App2Container is a command-line tool that helps containerize existing apps running on-premises, in Amazon EC2 or in other clouds with no code changes required.

    App2Container discovers apps running on a server, identifies their dependencies and generates relevant artifacts for seamless deployment to Amazon ECS and Amazon EKS. It also provides integration with AWS CodeBuild and AWS CodeDeploy for a repeatable way to build and deploy containerized applications.

    AWS App2Container generates artifacts such as Dockerfiles, container images in Amazon Elastic Container Registry (ECR), ECS Task definitions, Kubernetes deployment YAML, templates to set up a build/release pipeline in AWS CodePipeline and more.

    It can also be used to containerize ASP.NET (.NET 3.5+) web apps running in IIS 7.5+ on Windows and Java apps running on Linux.

    Code Review and Optimization

    Another handy tool that debuted this summer is Amazon CodeGuru. Powered by machine learning, this set of tools automatically reviews code for bugs and suggests potential optimizations. It includes two components:

    • Amazon CodeGuru Profiler—Helps developers find an app’s most expensive lines of code and then recommends how to improve the code to save money.
    • Amazon CodeGuru Reviewer—Helps improve code quality by using machine learning to identify critical issues and hard-to-find bugs during development.

    Do-It-Yourself Development

    One more recently released AWS service we want to mention is Amazon Honeycode. This one has the potential to be a big time-saver for customers. The fully managed, low-code/no-code development tool makes it easy to build powerful mobile and web apps quickly with no programming required.

    Customers can use a simple visual app builder to create highly interactive web and mobile apps, backed by an AWS-built database to perform tasks such as tracking data over time and notifying users of changes. They can get started creating apps in minutes and build applications for up to 20 users for free. After that, they pay per user and for the consumed storage capacity.

    What’s Next With AWS Is What’s Now

    AWS is continually developing and deploying services that make app development easier and more cost-efficient. You can put these new services to work to innovate more, get to market quicker, generate significant cost savings and much more.

  • Pokémon Go Shows DevOps Changes Human Behavior

    Pokémon Go Shows DevOps Changes Human Behavior

    Everywhere you go lately, you can see people acting strangely. They’re walking streets they never walked before. They’re waving their smartphones around in odd ways. And they’re high-fiving each other for no apparent reason.

    And they’re doing it because of DevOps.

    Of course, not everyone immediately thinks about Pokémon Go as an artifact of DevOps—but that’s what it is. It is code written, continuously modified and continuously promoted to production based on changes in workload performance and user feedback, implicit and explicit. It is also the most downloaded app on iTunes ever.

    More importantly, Pokémon Go is visibly changing human behavior. That’s something worth considering as organizations seek to survive and thrive in the application economy.

    Doing Things Differently vs. Doing Different Things

    Most development is done so that customers or employees can do things differently. There are lots of apps that make shopping easier or deliver better analytic insight for decision-making. And those apps certainly provide business value by removing obstacles to revenue or by helping companies optimize allocation of resources.

    image003_v1But Pokémon Go doesn’t merely allow people to do something differently. It drives them to do something entirely different—location-based and augmented reality gaming.

    Pokémon Go isn’t the first or only app that changes human behavior. Uber and Zipcar changes how we get from place to place. Square changes how we do retail. Pokémon Go, however, is an especially dramatic manifestation of how apps change behaviors. People are doing something they’ve never done before because of some software—and because that software “went viral.”

    That’s an important concept to bear in mind as organizations seek to optimize the effectiveness with which they leverage technology in their businesses. Are you just trying to write apps that help your users do something a little better? Or can your apps enable and inspire entirely new behaviors that people will find worth embracing—and therefore will also promote across their social networks?

    The Role of DevOps

    DevOps is central to this endeavor in several ways. First, when you’re doing something new, you by definition don’t know what you’re doing. So you have to keep going through cycles of testing to get things right. If those cycles are slow and you don’t take the time to test all possible use cases—such as geolocations, devices, operating systems, hardware, diverse transaction, etc.—because you have trouble putting the right test data together or it takes too long to provision the necessary environments, you will either be late to market or release something nobody likes.

    To avoid these types of pitfalls, you need a streamlined and automated end-to-end DevOps pipeline that optimizes your delivery value chain and eliminates constraints and dependencies across the software development life cycle. Implementing this type of continuous delivery tool chain will allow your DevOps teams to continually improve the quality of your applications in a shorter time frame.

    Second, even once you get things right, they won’t stay right for long. The folks at Niantic were most certainly surprised by just how viral their app went, so they had to scramble to overcome performance issues in the field. They also are dealing with some negative feedback from true Pokémon aficionados who are not so smitten with how gameplay diverges from their long-beloved Nintendo brand.

    Niantic’s ability to keep riding its initial viral download success will be closely tied to its ability to address these issues. And that’s also best done with an automated DevOps process—along with Agile disciplines—that allow the company to keep refining both its code and the way that code runs in production and ensuring the performance of the IT infrastructure that supports the user experience of the app.

    Luring the Wild ‘Customon’

    Perhaps the most powerful lesson from Pokémon Go isn’t for developers. It’s for business leaders. Unfortunately, many non-IT executives still view DevOps and related investments in digital capability as an operational issue for technologists—rather than as an existential issue for the business itself.

    But it is decidedly the latter. Pokémon Go isn’t just about having a good idea for a game—any more than Dollar Shave Club, which Unilever just bought for $1 billion—it’s about having a good idea for a company. You have to be able to execute. And in the application economy, you can’t have execution with speed and quality without DevOps.

    So if you’re still struggling to get upper management to invest in funding your DevOps initiative, maybe it’s time to put away the PowerPoints and pull out the Pokémon instead. We’ve rarely had a more dramatic example of how applications can impact human behavior—and how the ability to get code into production quickly and successfully can impact your business.

    About the Author / Aruna Ravichandran

    Aruna_CAAruna Ravichandran is vice president of DevOps Solution Marketing and Management at CA Technologies, responsible for cross-portfolio solution marketing for DevOps across the Application Performance Management, Infrastructure Management and Continuous Delivery product lines. Before joining CA Technologies, Aruna held several management positions in product marketing and engineering at Juniper Networks and HP. Aruna earned an MBA and master’s degree in Computer Engineering from Santa Clara University and holds a Bachelor of Science degree in computer science from Bangalore Institute of Technology.

  • WaveMaker Extends Lead in Enterprise Rapid Application Development with Out-of-the-Box RAD-based App Security

    Expanded Security Functionality Lets Developers Focus on Developing Great Apps, With Assurance of Protection Against Network Breaches

    MOUNTAIN VIEW, CA – July 14, 2016 – WaveMaker, Inc., a leading enterprise Rapid Application Development Platform software company, today announced two major enhancements to its enterprise-class Rapid App Development platform. Built with a strong foundation in application security, the WaveMaker platform now supports Single-Sign On for WaveMaker-built and deployed applications using Central Authentication Server (CAS), which permits users to access multiple applications by providing credentials such as UserID and password only once. WaveMaker also announced today that it meets the standards addressing the top ten list of web application vulnerabilities published by the Open Web Application Security Project (OWASP).

    Enterprises are increasingly challenged by the need to deliver new web applications rapidly while ensuring compliance with enterprise IT security teams. In response, WaveMaker built application security natively into the initial release of its RAD platform, and subsequently strengthened its security with enterprise-class, RAD-based application security. And now, WaveMaker’s announcement of CAS-based Single Sign-On furthers the company’s commitment to provide the highest level of application security while simplifying application access for users.

    For its part in pinpointing major network vulnerabilities, OWASP has become a critical, yet often overlooked, asset to application developers. The OWASP Top 10 represents a broad consensus of the most critical web application security flaws – gaps in security that are often easy for malicious actors to detect and exploit. By certifying compliance with the OWASP Top 10 list, WaveMaker assures developers that the applications they create with WaveMaker will comply with the directives of OWASP.

    “In the heat of the battle to expedite new apps to market, ‘rapid’ has become the mantra of many developers, both professional and non-professional,” said Didier Tournier, Product Marketing Manager, Gemalto. “But developers can’t afford the risk of sacrificing security for speed. From the beginning, WaveMaker’s RAD platform has encompassed security, not as a bolt-on, but as part of an integrated whole. We’re confident that our developers using WaveMaker can focus on creating great apps, and won’t have to obsess over the latest security risks.”

    Unlike other vendors of RAD platforms, WaveMaker’s focus on security extends beyond the application and to the APIs (Application Programming Interfaces) that allow multiple applications to link and interoperate. WaveMaker is the only RAD platform that allows developers to build native microservices-based applications, and today’s release introduces token-based authentication for APIs, allowing API keys to be generated rapidly for consumption by other applications.

    “Security was once an afterthought in application design, but those days are long past,” said Vijay Pullur, CEO of WaveMaker.   “Still, vestiges of those days remain, as the primary objective of application design, in the eyes of most developers, is to ensure that the application performs continuously and under heavy demand. But security cannot be exempted from that objective. That’s why WaveMaker believes that security must be a cornerstone of good application design, and a major component in ensuring software quality before an app goes live.”

    For more information on RAD application development or professional services from WaveMaker, visit http://www.wavemaker.com/get-started

    About WaveMaker

    WaveMaker’s software platform revolutionizes how enterprises build, deliver and manage modern custom applications, improving business agility and fostering innovation. WaveMaker leverages the latest trends and technologies in Rapid App Development (RAD) such as multi-device auto-responsive interfaces and componentized app assembly, Docker for app-optimized container deployment on private infrastructures, and APIs and Microservices Architecture (MSA) for scalable integration. WaveMaker, Inc., a Pramati Technologies company, is headquartered in Mountain View, CA with offices in Hyderabad, India. For more information, visit www.wavemaker.com, or like us on Facebook, follow us on Twitter, or connect with us on LinkedIn.

    ###

    Editorial Contact

    Michael Porter

    10Fold

    wavemaker@10Fold.com

    415-800-5373

     

  • The Three “S’s” To A Successful App, Pt. 1

    The Three “S’s” To A Successful App, Pt. 1

    Developing your first app can be a daunting task. Many first-time developers may overlook, or over think, certain aspects of building their first app. Through scores of conversations and interactions with developers, I established common pain points and gathered advice that they themselves wish they had known before building their first app. With all of the collective feedback, I was able to identify the three “S’s” to building a successful app:

    • Scalability – knowing how to grow the app as user engagement increases
    • Simplicity – understanding which features are most critical to users
    • Streetsmart – analyzing the marketplace and differentiating the app

    This series of articles will discuss each “S” in detail, share developer stories and offer practical advice for first-time app developers.

    In conversations with developers about building their first app, several of them mentioned how the app turned out to be much more successful than they had originally anticipated, which in turn, lead to support issues due to the influx of traffic. These stories are what lead to the first “S”: scalability.

    What does it mean to scale an app?

    Scaling an app means architecting the app to accommodate the size of the audience that your organization predicts. While the future success of an app and brand it’s associated with is ultimately unknown, projected audience size is a key factor used to help guide developers to make the best decisions with regards to scalability. When projecting audience size, it’s important to make a bold prediction that’s an order of magnitude greater than the best case scenario. Why? Because it’s better to be over prepared than under. However, resources should not be exhausted and the app should not be over engineered.

    Finding the sweet spot

    Finding the sweet spot between scaling for a current audience size and a magnitude greater than the best case scenario can be tricky. The greatest factor in deciding this is the size and stage of the company. In the case of Uber for example, the app will need to be extremely robust right off the bat because the app is central to the operation of the organization. But with an organization such as Yo, the app does one thing and has a clearly defined scope, so the focus should be placed on getting the product out in the market and and scaling from there. Once an organization has found its market fit, scale should be at the forefront of the agenda. Because if scale is not top of mind, that’s when challenges will occur.

    Overcoming Challenges

    Developers are often faced with hurdles when their distributed systems do not allow for components to communicate together. Applications can’t achieve scalability if the different system components do not work seamlessly as the load increases.

    For example, if there is one server with one database that handles all of the read/write connections, it is rather easy to maintain; there is only one pipe to be concerned with. But when that database crashes due to traffic increase and lack of scalability, the app will stop functioning. So to add scalability to support the increased user-base, the database server needs to be replicated with load balancers that understand when the database server is overloaded and can transfer traffic over to a new one and so forth.

    To achieve this, it takes a combination of network expertise, smart app architecture and building smart connection points between the different services.

    Final Thoughts

    Scalability is just one factor that contributes to the success of an app. When developing your first app, whether it be for robust use or for a clearly defined scope, it is paramount to keep your database servers and the connections between them in mind because those smart connections are the key to building a successful platform for future users.